Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "wk149"
-
Oh fuck and boy Jesus, how on earth is this still a thing 😦
MD fucking 5 is not a fucking “secure” crypto algorithm.
This site has 14 million breached accounts with fucking MD5 hashes.
I think I’ve had to much internet for today.17 -
Still not learning git properly. I still find it very hard to grasp how this works and although I'm starting to use it more and more, I just can't wrap my hear around it so I often reside to scp for upload and no version control at all.
:'(34 -
Riskiest Dev choice...
Leaving a previous job, moving 1000KM (620 Miles) away with no job prospects and going absolutely broke.
This was all in the name of “I need a better job”, so what better way to force yourself to get one.
I’m currently in my second job since then and now make just over double what I was earning before.
Sometimes it takes a high risk to get out ahead.4 -
The riskiest dev choice...
How about "The riskiest thing you've done as a dev"? I have a great entry for that. and I suppose it was my choice to build the feature afterall.
I was working on an instance of a small MMO at a game company I worked for. The MMO boasted multiple servers, each of them a vastly different take on the base game. We could use, extend, or outright replace anything we wanted to, leading to everything from Zelda to pokemon to an RP haven to a top-down futuristic counterstrike. The server in this particular instance was a fantasy RPG, and I was building it a new leveling and experience system with most of the trimmings. (Talents, feats/perks, etc. were in a future update.)
A bit of background, first: the game's dev setup did not have the now-standard dev/staging/prod servers; everything ran on prod, devs worked on prod, players connected and played on prod, etc. Worse yet, there was no backup system implemented -- or not really. The CTO was really the only person with sufficient access. The techy CEO did as well, but he rarely dealt with anything technical except server hardware, occasionally. And usually just to troll/punish us devs (as in "Oops ! I pulled the cat5 ! ;)"). Neither of them were the most reliable of people, either. The CTO would occasionally remote in and make backups of each server -- we assumed whenever he happened to think of it -- and would also occasionally do it when asked, but it could take him a week, sometimes even up to a month to get around to it. So the backups were only really useful for retreiving lost code and assets, not so much for player data.
The lack of reliable backups and the lack of proper testing grounds (among the plethora of other issues at the company) made for an absolutely terrible dev setup, but that's just how it was, and that's what we dealt with. We were game devs, afterall. Terrible or not, we got to make games! What more could you ask for!? It was amazing and terrible and wonderful and the worst thing ever, all at the same time. (and no, I'm not sharing the company name, but it isn't EA or Nexon, surprisingly 😅)
Anyway, back to the story! My new leveling system also needed to migrate players' existing data, so... you can see where this is going.
I did as much testing and inspection of my code as I could, copied it from a personal dev script to the server's xp system, ... and debated if I really wanted to click [Apply]. Every time I considered it, I went back to check another part or do yet more testing. I ended up taking like 40 minutes to finally click it.
And when I did... that was the scariest button press of my life. And the scariest three seconds' wait afterwards. That one click could have ruined every single player's account, permanently lost us players ...
After applying it, I immediately checked my character to see if she was broken, checked the account data for corruption or botched flags, checked for broken interactions with the other systems....
Everything ended up working out perfectly, and the players loved all of the new features. They had no idea what went into building them, and certainly had no idea of what went into applying them, or what could have gone wrong -- which is probably a good thing.
Looking back, that entire environment was so fragile, it's a wonder things didn't go horribly wrong all the time. Really, they almost never did. Apocalypses did happen, but were exceedingly rare, and were ususally fixed quickly. I guess we were all super careful simply because everything was so fragile? or the decent devs were, at least. We never trusted the lessers with access 😅 at least on the main servers where it mattered. Some of the smaller servers... well, we never really cared about those.
But I'm honestly more surprised to realize I've never had nightmares of that button click. It was certainly terrifying enough.
But yay! Complete system overhaul and migration of stored and realtime player data! on prod! With no issues! And lots of happy players! Woooooo!
Thinking back on it makes me happy 😊rant deploying straight to prod prod prod prod dev server? dev on prod you chicken migration on prod wk149 git? who's a git? you're a git! scariest deploy ever game development1 -
I was hired by a company where a senior / dev lead recommended and interviewed me. He said to me that he was tired of broken processes, false promises to customers, micromanagement, pressure, etc. and told me that together we would improve these things. Few weeks later things didn't get any better and I told him that from what I had witnessed, he wasn't making things any better by saying in meetings that this and that would be easy to implement and would only take few minutes - that he was raising unrealistic expectations on the business side, which was clearly one of the reason the business had these high unrealistic expectations and caused all this pressure and micromanagement. He took this the wrong way, quit and hasn't spoken to me or his colleagues since. I didn't at all mean this in a bad way, because I highly respect and look up to him where he's one of the nicest guys and one of the best programmers I've ever met. Was I in the wrong here? What should have I done differently?12
-
Not commenting my code because "it's so clear what I'm doing, how could I ever forget what my own lines of code do."5
-
"Shouldn't be a problem. I can get <insert new feature here> implemented by <insert wildly optimistic time>. "
What is wrong with me?! Why do I keep doing this!?2 -
Real-time physics calculation of +250000 blocks on AMD Athlon.
No worries boys, I had fire extinguisher.4 -
In my master equivalent thesis, I was supposed to build upon a year of work from my predecessors. However, I argued that it had no actual foundation and would never work properly, so I threw it away and started from scratch.
The prof was astonished and commented "well it's your thesis", insinuating that the risk was on me. Turned out I had been right.2 -
Getting comfortable in one place for too long and stagnating. It can be easy to automate your job until you can just milk it, but sit still too long and your skills will be irrelevant.
People talk about ageism in development... don't let your mind get old and you'll always have job security.4 -
I once ran a batch import job to stress test with much more data than usual in staging... so I thought.
I sshd into prod by accident. History search can be a bastard at times...
The moment I realized what I was doing was crazy. I was shivering and thought I get fired if anything went wrong.
fortunately I just duplicated the original data for the test, and the system was built to ignore unnecessary updates... so the data was correct and nothing went wrong.
Not an active stupid dev choice but still something I will remember for a while. -
$ git add .
$ git commit -m "This HAS to be online soon"
$ git push
*merge conflict*
*did not look at difference*
*using mine*
$ git commit -m "resolv merge conflict"
$ git push
$ ssh root@x.x.x.x
# git pull
# cd /path/to/webapp
# npm run production3 -
I'd never do anything "risky" in a prod environment if I considered it so at the time, but in retrospect there's *lots* of things considered risky now (both from a security and good practice viewpoint) that were standard practice not long ago:
- Not using any form of version control
- No tests (including no unit tests)
- Not considering XSS vulnerabilities
- Completely ignoring CSRF vulnerabilities
- Storing passwords as unsalted MD5 hashes (heck that was considered very *secure* in the days of plaintext password storage.)
...etc. I'm guilty of all of those previously. I daresay in the future there will be yet more things that may be standard practice now, but become taboos we look back on with similar disdain.1 -
Accepted a feature request that practically doubled the workload without asking for more money, on account of trying to be fair to a customer who was working through a translator.
Only to get stiffed on 3/4 of the money agreed to in the first place.
Only saving grace was everything was on my servers, so I took him down for non-payment.1 -
I think the award for “riskiest dev choice” might be awarded to the developers who wrote the Boeing 737 Max anti-stall MCAS code. But it could also be argued that the root cause was hardware and lack of redundancy of sensors.
https://cnbc.com/2019/03/...2 -
My daily routine:
*wakes up*
*goes to class*
*procrastinates about project deadlines*
*cries to mum when stress levels are skyrocketing*
*legit does nothing to rectify life and then cribs about everything*
*cries to sleep*
Also, mum’s tired of me wailing.5 -
Lets fix this bug in production on a Friday afternoon. (did that three times on the same project). Never went wrong :)3
-
When I'm still a beginner in git, I always use git push origin <branch_name> --force, for the sake of pushing my code on the master branch. My co-worker always complain why the hell there's always conflict on the master branch.2
-
Starting a project with someone that programs like an idiot on steroids. Like, why are you using 20 switch statements to set a variable instead of of just a single line linear expression. I removed hundreds of lines from one of this ass's files. I've never seen such a complicated mess of garbage.5
-
Started to Work after school and did not went to any University like all of my friends. Best choice ever 👌. A half year later I moved in with my girl, went on holidays I could not afford before and got the best colleagues at work😁3
-
“fixing” your code the night before you hand in your thesis.
that always works the next morning, when you present it to the professor ...2 -
Never designed a website before. Decided to go against my team's advice and use React. Neck deep in my own shit and nobody can help me because they don't know React. Should've just done it the boring way. Fucking pray for me people. It's due next Tuesday.... 😭2
-
Switching to R on the last moment from Python for a production build - I wouldn't lie, that was one of the worst choices I ever made.
-
The riskiest thing I ever did was rant about windows 10 updates on devRant. I got shut down hard! :'D1
-
I'm about to take full responsibility for front-end solutions plus doing UI/UX design, and I've pretty much completed the official React and Redux tutorials.
In my defense I only said I was interested in UX but I have a creeping suspicion they think I'm a UX God.
I also used AngularJS for years and I feel that React speaks to me in a completely different way. It's exactly how I want to do things. Big fan of functional programming as well... So I think I'll thrive with React/Redux and friends if I can get some hours in before things kick off. It's just enough pressure for me to put in the work without feeling overwhelmed... for now.
It's thrilling though. I'm somewhere between excited that I'll get to show off my skills and scared that I'll be exposed as a fraud. I have a mild case of impostor syndrome though, so I think it'll work out in the end.2 -
We had to finish a student project, our project leader had done some work on the project before and his algorithm to detect an event was complete bullcrap.
I took it in my hands to rewrite the algorithm with the risk that it doesn‘t work and i hadn‘t done any work i could show, which would result in a bad grade.
Luckily my algorithm worked better in orders of magnitude and we managed to deliver on time -
Estimating a rather simple looking project without a thorough examination of the client's code.
It turned out to be the worst kind of crap a human brain could produce. The project we estimated for 2 months is going to last 6... And if we decided to rewrite it the day we were to estimate it, it would be done in 6 weeks1 -
I ran `git rebase` on a shared branch and pushed it to the origin. It messed the whole history. I tried a few things to fix what I did (I don't remember the commands I tried) but I only made it worse.
The final result? Even though I was new to the project, every old commit in the history was changed to include my name as the author of that commit.
Lesson learned the hard way :hands_down_emoji:3 -
Risk is part of my everyday life.
I take the risk everyday when opening IDE and changing line of code that can either break database or crash other systems that are depending on one I am developing. ( not instantly but in some time in the future )
So....
Many years ago I was updating some application server production code while being drunk.
Everything went fine except me waking up in the morning and didn’t remember how I did it.
... what I learned from my developers life except that heavy drinking and updating servers is not the best idea ?
First, don’t give a fuck, do your job and ask questions even if the person in front of you said that understood everything and you think you understood all of shit.
Second, if you think you know what to do think twice.
Third, having any backup, any tests and any documentation is always better then having nothing.
And the most important.
The most risky in every business are people around you, so always have good people around and there would be no risk at all or you won’t even think about it.
✌🏽 ❤️ -
Not me but, my boss chose to use devexpress "just as a visual layer" without studying devexpress deeply, this means that everyday i have to study some random devexpress quirk to fix a clients problem.
-
When I tried to install Android x86 on a partition on my production machine, and by mistake installed it using GPT on my MBR machine.
I pulled 2 all nighters to fix that.
That was when I learned about GPT and MBR.
Fml.2 -
Switched from recording based automation tool (ranorex) to script based (puppeteer) for a web app. Risky because everyone was against this and I had to deliver.
-
Not only once i fixed our Prototype while PO was presenting it.
Of course we checked the App for our presentation data, but PO was always confident that it would work with random data told by the customers too.
Luckily i was able to fix it while lunch break. -
Even though we have sophisticated CD pipeline, decided to modify war on server (modifying 1 source file, compile it and patch it on server (Java based)). Just cause CD takes 4 hours and we "only have" 15 mins to do it. So manual patching with rush job. Now when I think about it, I cringe and thank the dev ducks that we didn't messed it up even worse!1
-
Every time I decide to remove/edit something in a written SQL statement in the CLI. The delete and backspace key are to close to the return key -.-4
-
Last week, last sprint. Decided to migrate to latest trunk (it was svn back in the days) of the CMS we used just to get the new great feature. Customer really liked it, but didn’t like the bugs we found in the following weeks.
If you ask me, it worth and will do it again. -
Not much riskiest though,
So on my office laptop I've duel boot Fedora as primary OS and windows another.
So for some reasons I needed extra space on windows so I had to un-allocate some space from /home as it had assigned too much disk(more than 100GB I think)
So I unmounted /home moved all the /home/myuser to /opt using sudo then did sudo rm -rf to /home/myuser and un-allocated some space
after I restarted laptop I get to know that I fucked up little xD
Took me while to fix that shit, I literally created one more user and fixed it as at the time of booting it was trying to get few configs from /home/myuser and even had permission issues. -
-> Not completing database structure and realizing it in the middle of project execution.
-> not using version control
-> no documentation/comments
......List goes on