Aboutstudying computer science at University
SkillsPython, web dev, and done experience in most other major languages
Joined devRant on 6/2/2018
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Why TF does unity use mesh renderers for generating navmeshes? In what possible situation would that be a usefull?
Why would it chose to bug out on the complex visual geometry instead of using the finely crafted low-poly clipping layer? In what situation is that a good idea? Why would the AI need to collide with different things than the player? (IMHO NavMeshAgent should depend on CharacterController or Rigidbody)
I feel like so many features in Unity are potentially very nice but don't work well together or have WTF design elements like this one. Like custom shaders not being able to alter the result after the lights have been added together, and the undocumented finalgbuffer:ColorFunction function. Or a million other tiny things that make me wish I was smart enough to build my own engine.
This is the story of probably the least secure CMS ever, at least for the size of it's consumer base. I ran into this many years ago, before I knew anything about how websites work, and the CMS doesn't exist anymore, so I can't really investigate why everything behaved so strangely, but it was strange.
This CMS was a kind of blog platform, except only specially authorised users could view it. It also included hosting. I was helping my friend set it up, and it basically involved sending everybody who was authorized a email with a link to create an account.
The first thing my friend got complaints about was the strange password system. The website had two password boxes, with a limit of (I think) 5 characters each. So when creating a account we recomended people simply insert the first 5 characters in the first box, and the rest in the second. I can not really think of a good explanation for this system, except maybe a shitty way to make sure password are at least 5 characters? Anyway, since this website was insecure the password was emailed to you after the account was created. This is not yet the WTF part.
The CMS forced sidebar with navigation, it also showed the currently logged in users. Except for being unreadable due to a colorful background image, there where many strange behaviors. The sidebar would generally stay even when navigating to external websites. Some internal links would open a second identical sidebar right next to the third. Now, I think that the issue was the main content was in an iframe with the sidebar outside it, but I didn't know about iframe's back then.
So far, we had mostly tested on my friends computer, which was logged in as the blog administrator. At some point, we tried testing with a different account. However, the behavior of sidebars was even stranger now. Now internal links that had previously opened a second, identical sidebar opened a sidebar slightly different from the first: One where the administrator was logged in.
We expirimented somewhat, and found that by clicking links in the second sidebar, we could, with only the login of a random user, change and edit all the settings of the site. Further investigation revealed these urls had a ending like ?user=administrator2J8KZV98YT where administrator was the my friends username. We weren't sure of the exact meaning of the random digits at the end, maybe a hash of the password?
Despite my advice, my friend decided to keep using this CMS. There was also a proper way to do internal links instead of copying the address bar, and he put a warning up not to copy links to on the homepage. Only when the CMS shut down did he finally switch to a system where formatting a link wrong could give anybody admin access.
This isn't as much of a rant as the story of my worst abuse of computer knowledge.
This happened a couple years ago. When I was in high school, I had this friend/enemy relationship with this guy, lets call him Thomas. He loved to pull pranks on people. He had a similar firend/enemy relationship with my brother, and after one prank, my brother decided to get revenge. And by revenge, he meant asking me to make a virus.
I knew the guy, and I agreed. We thought about what type of virus we could make that would be funny, and not too damaging. We decided on a program that would play annoying sound effects every few minutes. Short enough to be noticable, long enough that Thomas would give up and not try to investigate.
I won't bore you with the details of the program. It was a very simple C app, very small, named "Counter-Strike-Global-Offence-Free-Download-Totally-Legit.exe". It was clearly visible in task manager, but since it was so small and barely used CPU or RAM it would stay near the bottom. I tried loading a custom sound effect, but it turned out the windows default "invalid sound effect" was much more annoying than any custom sound I could find.
The "Infecting" portion consisted of moving the .exe to the start menu startup folder while Thomas left his laptop unattended. My brother handled this part.
I unfortunaly left the country soon after and never actually saw the effect the program had on Thomas. I assumed my brothers laughing would give it away rather fast and he could simply remove it from his startup folder. However, my brother told me he still complained about it for months, before finally bringing the laptop to a repair center that found the totally legit CS:GO exe. My brother ended up telling him soon after, but this was still the best prank I ever pulled.
My first post here, be merciful please.
So, I participate in game jams now and then. About two years ago, I was participating in one, and we where near the deadline. Our game was pretty much done, so we where posted a "alpha" version waiting for feedback.
Just half an hour before the deadline, we got a comment on our alpha alerting us of a rather important typo: The instruction screen said "Press X to shoot" while X did nothing and Z was the correct key. "Good thing we caught that in time, thankfully a easy fix" I thought.
This project was written in python, and built using py2exe. If you know py2exe, the least error-prone method outputs a folder containing the .exe, plus ginormous amounts of dll's, pyc files, and various other crap. We would put the entire folder together with graphics and other resources into a .zip and tell the judges to look for the .exe.
Anyway, on this occasion I committed to source control ran the build, it seemed to work on my quick test. I uploaded the zip, right before the deadline and sat back waiting for the results.
I had forgotten one final step.
I had not copied my updated files to the zip, which still contained the old version.
Anyway, I ended up losing a lot of points in "user friendliness" since the judges had trouble figuring out how to shoot. After I figured out why and how it happened, I had a embarrassing story to tell my teammates.3