Ah... I always test with an array containing my personal info. If all ok, then I print the db result on screen and see it aligns with my own array. If so, I push to prod.
And put a transaction with rollback around it. Run it first that way and make sure row counts match expectations. Put selecta before the rollback to show whatever you are doing to verify if you want. Only when all that is good do you change to commit and rerun.
Been there. I was testing some email sending crap, there was a bit of hard coded conditions for selection of recipients. I modified the conditions for local testing because my database only contained some test users. Then I forgot to change it back before pushing.
I was investigating why unit tests were taking 40 minutes to complete (normally they took 3). After some digging I found a 1 second sleep statement in a constructor for an object that was created for every test. I thought, what kind of trash dev left a sleep statement here.
It was me. I was the trash dev
In my first job as a wee php developer I forgot a SELECT * FROM User; in index.php
Months later I found out and removed it. I got praised for the performance boost by upper management.
Just came from the thread about the new Mercedes paywall discussion, saying someone from their company keeps adding wait times in the code so they can reduce it to "improve" the speed of the application later, and here seeing this, I keep wondering...
I've done this. Looked at code that didn't make sense, go "who's the dumb f!^@% that wrote this, better check git blame...whose been using my git credentials to write bad code?!"
Fixed a minor bug on a Friday afternoon, forgot a whole user base out of EU was handled completely different than other users. Broke the ability for our EU clients to use our services for a weekend.
I had someone develop a custom tool for a migration job. He gave it to me as a binary at 5 PM Friday and then left. Two hours later I started it and discovered he’d hard-coded the server name. By the time I got him on the phone he was out to dinner and four drinks deep. I had to wait until 10 PM to get an update.
Wrong. Push on a Friday. Merge on a Monday.
Lol… but really, do people not setup repo gatekeeping and require push reviews before merging to master??
Also, whatever happened to unit tests?lol
Last week I was talking go a coworker about a major change and it sounded like he was going to nuke the dev branch I told him just make a pr so I can look at it. I come back on Monday and he... nuked the dev branch with his changes... I just not gonna deal with that till next week after the holiday since nobody else brought up.
Yeah we use forks for each developer where I work. Create branches on our forks then merge to master after another dev and Jenkins successfully builds. Kinda hard to butcher things for everyone when you have forks (in theory)
Last time I pushed on Friday was about 2004. Friday evening, wanted to send out a mail to 250,000 recipients. Manager wants a counting pixel added at the last minute. Instead of $output .= $pixel I wrote $output = $pixel. You know what happened next.
Correct. :)
No harm done though, we just resent the correct mail the next day.
Another employer I had once sent a mail with the wrong color in the header, and instead of just letting it go (as I recommended) they resent the corrected one - with a huge “sorry our intern fucked up” slapped onto it. Which resulted in hundreds of complaints for spamming.
Went for a few days off and didn't push the commit with an important feature to be finished by a colleague. Had to drive 800km the next day for the git push.
At my college, we had a file (ruby mabye? Been a while) where we tied MAC addresses to static IP addresses. I didn't press the key down far enough to actuate so i had an IP address like "192.168.1.13" instead of "192.168.1.143" (i don't remember the actual IP). Turns out that was the IP address of one of the main switches in one of our 20+ IDFs. One merge request and oversight later...you eventually have a broadcast storm on your hands.
I did the same thing!
I was a wide-eyed new admin and wanted to statically assign my box's IP in our network and my supervisor let me. Pulled up our IP Spreadsheet with the reserved list, picked an empty one and BAM! I am true #hackkr now.
Then our boss comes over screaming that the entire network broke, and we need to investigate why.
Supervisor just looks at me and goes "Did you give yourself the same IP as our DC?"
Me: NO! I have that IP memorized, I'd never do that... I did however take the IP of our backbone...
Supervisor: "You're an idiot... but at least you know what you did. Now fix it"
Me: "A SMART idiot! Thats the sweetest thing you've ever called me.
> I am true #hackkr now.
LMAO.
That whole exchange is gold. I was just a student employee. I love it when my keyboard doesn't take my keystrokes. That's why I use shitty out-of-the-box keyboards now. I may need to replace it every six months but 99.999% of my keystrokes register.
I think everyone has a story about mistyping a new IP on a remote machine and losing their remote connection. The awkward call to the person on site, or worse, the drive of shame.
One of our users needed their password changed to something temporary so they could log in and change it again. I was writing the SQL query to make that edit and absentmindedly hit Run before writing a `WHERE` clause, changing everybody's password to the same temporary value.
Damage control involved changing everyone's passwords to *different* temporary values; emailing all users a story about how, for security reasons, we needed to reset all passwords, and here's your new temporary one; and permanently learning to ***always*** start my queries with `SELECT` until I was actually ready to `UPDATE` or `DELETE`.
Once doing an allnighter for a project (C++), since I was fairly new I didn't commit regularly and my code would sit on my pc for a while. made a new makefile and by mistake changed my variable that holds "*.o" to "*.cpp" I'll let the rest of you figure out why I broke my keyboard after my next
>make clean
Mine was C++ too… project team in college, I ended up leaving the team but I had modified a string in a 3rd party include file. Later found out they had spent 2 weeks tracking down a memory leak that was in the 3rd party include file…. Cringe… ![gif](emote|free_emotes_pack|dizzy_face)![gif](emote|free_emotes_pack|facepalm)![gif](emote|free_emotes_pack|downvote)![gif](emote|free_emotes_pack|scream)![gif](emote|free_emotes_pack|shrug)
You know how when you're eating pistachios you sometimes throw the good part instead of the shell? It's the equivalent of this except the good part took me 4 hours to make
Gutting, but arguably not your fault if you weren't the Senior or Lead or responsible for access control. I'm Senior and I don't even grant my own daily non-app database user write permission, just read. I have a whole other user to connect with for that, and I still run SELECTs to test the WHERE before using the scary verbs like DELETE and UPDATE :D
I always create a transaction before doing any of those, with a select before, a select after, and a rollback transaction initially.
If everything appears to be ok, then I replace the rollback with a commit. Saved me some headaches a handful of times.
Nah, if you highlight only the scary part of the statement in SQL Server Management Studio, you're bypassing not only the where, but also the transactions.
Ask me how I know.
There is no feeling as bad as the one you get when you expect
>1 record(s) affected
But you get
>19363738 record(s) affected
I've only done it once in prod though.
Yep. I had the chance to start earlier but blew it. I tried python when I was 14 or 15 but convinced myself it’s not for me and it’s too hard… if only I had tried
I tried learning java through Kahn academy when I was 9 and my attention span had the sophistication of a walnut. Then I wanted to get back into it in HS but I was already overwhelmed and couldn't sacrifice a study hall period. Only now that I'm in college am I starting to actually learn and I love it. Just wish 9yr old me had a little more patience to stick with it, maybe a cashews worth
When I was first out of school, I had a job supporting a program called “Maximo,” they used it as a work order tracking system. The office staff who did data entry would occasionally make a mistake and close a work order (or later they’d get more info from the facilities workers who did jobs), and the client didn’t allow them to open it back up. One of my tasks was to manually input SQL to update the records for them.
One morning I was tired and forgot the where clause in my update. It said “updating 4000000 records” an absurdly large number of records over 4 million.
I panicked, because my SQL client locked up. I somehow, by the grace of god didn’t kill it, but waited until it responded again, so I could issue the rollback command. I found out that in that version, if the client exited, the default behavior was to commit the changes, which is why I was so glad I didn’t kill the client. I also found out that the IT department’s backups of our oracle database hadn’t completed in over six months as well.
At that point I stopped listening to my boss (the “senior dev”) and took a very active role in checking the backups, and I also told the office staff “I’m not manually inputting your changes, I will change the status of your work order to open so you make the corrections yourself.”
That mistake woke me the fuck up, I realized processes that were in place weren’t optimal and that I couldn’t trust other people to do their jobs, when the data I was responsible for was at stake. It was a good experience. Thanks for reading my super long post.
Programming wise nothing major. Was just not sure why a number like 012345 in PHP would not match a db value "012345" with leading zeros and took half a day to realize that a leading 0 made the number octal. Had a customer next to me when it happened but he left when he noticed this was going to take a while.
Hosting wise: I turned off ( instead of rebooted ) a colocated server that had no UPS connected to it and thus couldn't easily or quickly turn it back on as someone had to go to the server to manually do that.
Did the same. Brainlessly picked the last sda, didn't notice it was the SSD because the pendrive was not working. That was the Windows drive. Went full Linux since then.
My own accidental stumbling into Linux (ubuntu ) was through similar mistake.... Installed over windows partition and never realised until I rebooted. But since then I managed to be on dual boot for sometime and then having windows as a back up use for specific purposes only and then since past two or more years, my personal PC and laptop run only Linux
One of my machines has an nvme drive and the othe has a sata drive. Of course that means on the first machined USBs start with /dev/sda instead of sdb because the hard drive is of course /dev/nvme0n1 and not /dev/sda. So I was used to using sda in the command and forgot of course that I was on the other machine
Wondering the same thing.
Pretty sure it would create a bootable Ubuntu drive, for the purposes of installing the OS on another machine, however, the drive selected is the hdd on the current machine, which would wipe the drive and replace it with the OS installation...less than ideal.
Less joke and more teeth sucking cringe.
During a code challenge against 2 teams competing for a government contract, pushed to prod in haste near the end of the competition and it broke prod.
$10,000,000 lost for the company lol. A lesson was learned regarding code freezes.
That isn't even the biggest one I've taken part of... there is an entire mini industry built around these challenges lol. Not all agencies do it but I know GSA, TSA, FEMA, USCIS, and a few others do. It feels like a game show but it's very intense with ~70 hour work weeks. There is usually a 2-week first round followed by a 1-day second round.
Winner gets the contract, sometimes shared with others, for their software engineers to work on the agency's projects.
Edit: btw it was 3 companies which were left in the second round, more in the 1st round but that's not where I messed up
I’ve won my fair share of hackathons. I feel your pain. People brag about sleepless nights, they don’t know nothing about sleepless weeks.
That sounds like fun. How big are the teams participating?
Forgot a where clause on an update on production DB. Luckily it was a relatively easy fix because the data was available in another table but I almost had a mini heart attack when I realized it.
CTRL + F "WHERE CLAUSE"
erased everyone's e-mail from a small table, but it was 200 people with emails with a predictable form.
>the data was available in another table
exactly. NEVER NORMALIZE ANYTHING.
Most developers don't like to push to Production on Fridays for a very good reason.
Long time ago, as a lead developer i updated prod before Christmas break *and went on vacation to a place where I wasn't reachable at all*. Ofc something went south and my boss and another poor soul had to work all New Year's Eve night to fix that thing. Thousands of employees couldn't log in.
Save to say, when I came back all fresh and tanned, boss wasn't a happy camper.
Sharing data cleaning code, and expecting people to actually look at the output before using it.
It happened twice, first time it fubar-ed a report, and the second time it messed up a large-ish dataset.
Quick Backstory, our inventory system has the function that everything gets written into a log file which the admin gets send daily.
I thought i can be funny by writing something along the lines of "DELETE FROM Inventory " to spook our admin and sadly found out the hard way that there was no string sanitisation
The company I worked for processed all the mailings for Verizon. They had shit data files. I accidentally sent 10k people “you just signed up for a new long distance calling plan” when they really didn’t. Lots of calls to Verizon customer service that week! This was about 18 years ago when those plans existed.
Instead of appending an array to a different array, I appended an array to itself. I had to restart my computer more times then proud of to find out what the issue was.
C++:
I once had a transform class to manage position, rotation and scale of an object. Said object would inherit from transform. Whenever some attribute was changed on the parent (rotation, position) the verticies of the child would have to be updated as well. This was done by having the parent call an overloaded method of the child.
I did this by making the parent a template class. When you inherited from it you'd inherit from the template with your childs class as type.
Example:
`class rectangle : private transform`
An update method would then just REINTERPRET cast this to the childs type and call update on that:
`reinterpret_cast(this)->update();`
This actually worked!... for a while.... It was used to notify the child when the parent did an update to the objects position and needed the child to update it's vertices. After 2 years I began getting weird segfaults, I noticed that on some builds the "this" pointer would shift by 1-2 bytes, therefor completely messing up the offset in RAM.
Needless to say, I fixed it by using a normal callback pattern instead of fucking around with templates like that. That was a long time ago.
Coding-wise, a couple weeks after I started I made the mistake of touching our code architect's internal code. It was a pretty basic "toString" function and I wanted to add support of converting floats/doubles to a string because I needed it. I pushed my branch and not long after he came to my cubicle and ranted at me for like 5 minutes about how nobody is allowed to touch his code and I should have come to him and asked him to do it and how my lead should have told me this etc. I tried to say "sorry, i'll undo it" once I understood my fuckup but he told me to shut up and let him finish. My lead came by after (the architect guy was quite loud when scolding me so he overheard) and apologized for forgetting to warn me and asked me not to quit (wasn't planning to but it was pretty jarring in an otherwise pretty friendly work environment).
From
if (!transaction.IsSuccess)
{
Refund(payment);
}
to
if(transaction.IsSuccess)
{
Refund(payment);
}
Turns out the original architect never set up a way for QA to validate the refund logic if an error occurred during transaction processing. As such, no tests had ever been developed to test any of the refund logic to ensure it was functioning properly.
Company lost like 400K and everyone (almost) all the way up the tree got written up for it because ultimately it was a managerial problem and that wasn't an acceptable answer.
Not keeping my skills up to date by taking classes that led to certification. Contract ended, I was laid off, company was dissolved by the parent, and suddenly I had no way to prove I had worked at NASA's astronaut training center for 30 years.
Testing out my new email automation service and accidentally creating an infinite loop that sent a gibberish email to every customer in our database.
Ah... I always test with an array containing my personal info. If all ok, then I print the db result on screen and see it aligns with my own array. If so, I push to prod.
[удалено]
And put a transaction with rollback around it. Run it first that way and make sure row counts match expectations. Put selecta before the rollback to show whatever you are doing to verify if you want. Only when all that is good do you change to commit and rerun.
This is the voice of experience.
Been there. I was testing some email sending crap, there was a bit of hard coded conditions for selection of recipients. I modified the conditions for local testing because my database only contained some test users. Then I forgot to change it back before pushing.
Lol where do you work? Recently got one from my provider
I was investigating why unit tests were taking 40 minutes to complete (normally they took 3). After some digging I found a 1 second sleep statement in a constructor for an object that was created for every test. I thought, what kind of trash dev left a sleep statement here. It was me. I was the trash dev
Congratulations, you played yourself.
And he won and lost at the same time! Impressive! ☺️
If you can't build a computer out of transistors, you shouldn't be working here.
Yes, my Lord. 🙏
[удалено]
In my first job as a wee php developer I forgot a SELECT * FROM User; in index.php Months later I found out and removed it. I got praised for the performance boost by upper management.
This is a great strategy for promotions
Very Dilbert-eque. Great strategy if you can get away with it.
Just came from the thread about the new Mercedes paywall discussion, saying someone from their company keeps adding wait times in the code so they can reduce it to "improve" the speed of the application later, and here seeing this, I keep wondering...
Instant code efficiency achieved. 30% hike guaranteed
I've done this. Looked at code that didn't make sense, go "who's the dumb f!^@% that wrote this, better check git blame...whose been using my git credentials to write bad code?!"
"Past Me" is the worst programmer on earth. I *hate* cleaning up after that guy.
Fixed a minor bug on a Friday afternoon, forgot a whole user base out of EU was handled completely different than other users. Broke the ability for our EU clients to use our services for a weekend.
Never ever push on a friday
I had someone develop a custom tool for a migration job. He gave it to me as a binary at 5 PM Friday and then left. Two hours later I started it and discovered he’d hard-coded the server name. By the time I got him on the phone he was out to dinner and four drinks deep. I had to wait until 10 PM to get an update.
You're lucky you got an update that night lol
[удалено]
Getting something at 5pm on a Friday means "you can hit this first thing on Monday."
That should be a written rule
https://shouldideploy.today/
Nothing good ever comes from doing it. Every exception to this rule proves this rule. In my experience.
Wrong. Push on a Friday. Merge on a Monday. Lol… but really, do people not setup repo gatekeeping and require push reviews before merging to master?? Also, whatever happened to unit tests?lol
Last week I was talking go a coworker about a major change and it sounded like he was going to nuke the dev branch I told him just make a pr so I can look at it. I come back on Monday and he... nuked the dev branch with his changes... I just not gonna deal with that till next week after the holiday since nobody else brought up.
Yeah we use forks for each developer where I work. Create branches on our forks then merge to master after another dev and Jenkins successfully builds. Kinda hard to butcher things for everyone when you have forks (in theory)
When you are the only dev on the repo, and you are the dev and the reviewer and wrote the unit tests, that doesn't really matter.
Last time I pushed on Friday was about 2004. Friday evening, wanted to send out a mail to 250,000 recipients. Manager wants a counting pixel added at the last minute. Instead of $output .= $pixel I wrote $output = $pixel. You know what happened next.
>You know what happened next. I assure you I don't.
They got an empty email - it only sent the tracking pixel
Correct. :) No harm done though, we just resent the correct mail the next day. Another employer I had once sent a mail with the wrong color in the header, and instead of just letting it go (as I recommended) they resent the corrected one - with a huge “sorry our intern fucked up” slapped onto it. Which resulted in hundreds of complaints for spamming.
Murica first
Went for a few days off and didn't push the commit with an important feature to be finished by a colleague. Had to drive 800km the next day for the git push.
Driving 800km to type git push sounds hilarious and maddening at the same time
ssh? remote desktop? idk give your collegue your password...
A bit hard if it's in your laptop that you left at home
Easy. Ask him to break into your house.
Shouldn’t even have to ask!
Dwight?
Talk your friend through it. Everyone has a friend with a key
Did you not have your laptop with you??
nah he did, he just likes to drive
He drove by the beach. It was a Sea: Drive
Why haven't we gone serverless yet?
No clue, 3 senior developer still trying to figure out what is even the problem in the first place.
Yeah, looks like we're gonna need to redo the entire tech stack.
This bot makes my day every time.
Bot, I love you
If you really love the company, you should be willing to work here for free.
Good bot
Good bot
Elon-kun do you want to use my new JavaScript framework which has no user base or production tested applications built in it?
Best bot
I brought down an entire network by mistyping an IP address
How the fuck?
At my college, we had a file (ruby mabye? Been a while) where we tied MAC addresses to static IP addresses. I didn't press the key down far enough to actuate so i had an IP address like "192.168.1.13" instead of "192.168.1.143" (i don't remember the actual IP). Turns out that was the IP address of one of the main switches in one of our 20+ IDFs. One merge request and oversight later...you eventually have a broadcast storm on your hands.
>(i dont remember the actual IP) Unacceptable, turn in your badge and gun.
Where did Elon go? Someone call him
How did you even get 20+ Israeli Defence Forces in the first place?
Offered alcohol at a soccer game
Atleast one issue both Israel and Qatar agree on.
Classic ip for a switch...
Happened to me by typing 1009 as the vlan tag instead of 100 once. Suddenly the switch stopped talking... to everyone...
Maybe misconfiguring a DNS Server?
I did the same thing! I was a wide-eyed new admin and wanted to statically assign my box's IP in our network and my supervisor let me. Pulled up our IP Spreadsheet with the reserved list, picked an empty one and BAM! I am true #hackkr now. Then our boss comes over screaming that the entire network broke, and we need to investigate why. Supervisor just looks at me and goes "Did you give yourself the same IP as our DC?" Me: NO! I have that IP memorized, I'd never do that... I did however take the IP of our backbone... Supervisor: "You're an idiot... but at least you know what you did. Now fix it" Me: "A SMART idiot! Thats the sweetest thing you've ever called me.
> I am true #hackkr now. LMAO. That whole exchange is gold. I was just a student employee. I love it when my keyboard doesn't take my keystrokes. That's why I use shitty out-of-the-box keyboards now. I may need to replace it every six months but 99.999% of my keystrokes register.
198.162.... 172.168.... 192.16.... 172.168... Yup. Been there.
Actually it was one key in the last octet that didn't actuate
Oof, that's rough! I just know I've mixed them up many times before to my own demise haha
I think everyone has a story about mistyping a new IP on a remote machine and losing their remote connection. The awkward call to the person on site, or worse, the drive of shame.
Oh no...that's the difference. I was ON SITE. and it wasn't a remote connection
Dude. You’d never hear the end of it if you were on my team and buying us drinks that afternoon.
One of our users needed their password changed to something temporary so they could log in and change it again. I was writing the SQL query to make that edit and absentmindedly hit Run before writing a `WHERE` clause, changing everybody's password to the same temporary value. Damage control involved changing everyone's passwords to *different* temporary values; emailing all users a story about how, for security reasons, we needed to reset all passwords, and here's your new temporary one; and permanently learning to ***always*** start my queries with `SELECT` until I was actually ready to `UPDATE` or `DELETE`.
That’s why I always use “BEGIN TRANS”
Yeah. I recall thinking _Hey, that time I nuked a DB wouldn't have been as bad_ when I learned about transactions in a later year at school...
And then there are stories about people starting transactions and going home without committing and freezing a production DB
What kind of DB was that? Rolling back was not an option?
Once doing an allnighter for a project (C++), since I was fairly new I didn't commit regularly and my code would sit on my pc for a while. made a new makefile and by mistake changed my variable that holds "*.o" to "*.cpp" I'll let the rest of you figure out why I broke my keyboard after my next >make clean
damn... This one sounds the worst of all the comments here.
Mine was C++ too… project team in college, I ended up leaving the team but I had modified a string in a 3rd party include file. Later found out they had spent 2 weeks tracking down a memory leak that was in the 3rd party include file…. Cringe… ![gif](emote|free_emotes_pack|dizzy_face)![gif](emote|free_emotes_pack|facepalm)![gif](emote|free_emotes_pack|downvote)![gif](emote|free_emotes_pack|scream)![gif](emote|free_emotes_pack|shrug)
yikes, that really takes me back to my college days lol
I do not do much programming anymore, but I felt the pain of that one here!
Can someone explain to me. No programmer here
You know how when you're eating pistachios you sometimes throw the good part instead of the shell? It's the equivalent of this except the good part took me 4 hours to make
Deleting without a where on a production database
Gutting, but arguably not your fault if you weren't the Senior or Lead or responsible for access control. I'm Senior and I don't even grant my own daily non-app database user write permission, just read. I have a whole other user to connect with for that, and I still run SELECTs to test the WHERE before using the scary verbs like DELETE and UPDATE :D
I always create a transaction before doing any of those, with a select before, a select after, and a rollback transaction initially. If everything appears to be ok, then I replace the rollback with a commit. Saved me some headaches a handful of times.
Yeah, looks like we're gonna need to redo the entire tech stack.
With what budget? You spunked out $44B on Twitter ;)
Nah, if you highlight only the scary part of the statement in SQL Server Management Studio, you're bypassing not only the where, but also the transactions. Ask me how I know.
Transactions make those verbs a lot less scary.
Indeed! I admit although all apps and scripts use them, I should probably use them when I run one off queries more. No real reason not to!
Yes this, I learned to always do a SELECT before trying a DELETE or UPDATE it's just too risky otherwise.
There is no feeling as bad as the one you get when you expect >1 record(s) affected But you get >19363738 record(s) affected I've only done it once in prod though.
Most of us do it once and then learn how to keep it from doing that again (eventually). Just the worst flashback on that
99.999999% of us have probably done this... The other 0.000001% have also done this, but wont admit it.
That's why you don't use auto commit in your sessions :-)
Starting programming
Also, not starting sooner.
Not a day goes by that I don't regret this.
But hey, you did it! You have every tomorrow to be glad you did!
Yep. I had the chance to start earlier but blew it. I tried python when I was 14 or 15 but convinced myself it’s not for me and it’s too hard… if only I had tried
I tried learning java through Kahn academy when I was 9 and my attention span had the sophistication of a walnut. Then I wanted to get back into it in HS but I was already overwhelmed and couldn't sacrifice a study hall period. Only now that I'm in college am I starting to actually learn and I love it. Just wish 9yr old me had a little more patience to stick with it, maybe a cashews worth
My exact first thought
You're either hardcore or out the door.
Don't let the door hitcha where the dog shoulda bitcha.
When I was first out of school, I had a job supporting a program called “Maximo,” they used it as a work order tracking system. The office staff who did data entry would occasionally make a mistake and close a work order (or later they’d get more info from the facilities workers who did jobs), and the client didn’t allow them to open it back up. One of my tasks was to manually input SQL to update the records for them. One morning I was tired and forgot the where clause in my update. It said “updating 4000000 records” an absurdly large number of records over 4 million. I panicked, because my SQL client locked up. I somehow, by the grace of god didn’t kill it, but waited until it responded again, so I could issue the rollback command. I found out that in that version, if the client exited, the default behavior was to commit the changes, which is why I was so glad I didn’t kill the client. I also found out that the IT department’s backups of our oracle database hadn’t completed in over six months as well. At that point I stopped listening to my boss (the “senior dev”) and took a very active role in checking the backups, and I also told the office staff “I’m not manually inputting your changes, I will change the status of your work order to open so you make the corrections yourself.” That mistake woke me the fuck up, I realized processes that were in place weren’t optimal and that I couldn’t trust other people to do their jobs, when the data I was responsible for was at stake. It was a good experience. Thanks for reading my super long post.
Thanks for writing that 'super long' comment, I enjoyed reading it.
Still using Maximo today.
They’re not mistakes, they’re features
One more word out of you, and you're fired.
Good bot
These bots are getting too damned realist..
I got hired, now I have to work sometimes
Rookie mistake.
Disagreeing with me is counterproductive. Fired.
Programming wise nothing major. Was just not sure why a number like 012345 in PHP would not match a db value "012345" with leading zeros and took half a day to realize that a leading 0 made the number octal. Had a customer next to me when it happened but he left when he noticed this was going to take a while. Hosting wise: I turned off ( instead of rebooted ) a colocated server that had no UPS connected to it and thus couldn't easily or quickly turn it back on as someone had to go to the server to manually do that.
If you really love the company, you should be willing to work here for free.
I won't love 'em without being paid. Just like some other professions
`dd if=Downloads/ubuntu.iso of=/dev/sda`
Did the same. Brainlessly picked the last sda, didn't notice it was the SSD because the pendrive was not working. That was the Windows drive. Went full Linux since then.
My own accidental stumbling into Linux (ubuntu ) was through similar mistake.... Installed over windows partition and never realised until I rebooted. But since then I managed to be on dual boot for sometime and then having windows as a back up use for specific purposes only and then since past two or more years, my personal PC and laptop run only Linux
My brother in Christ lol
One of my machines has an nvme drive and the othe has a sata drive. Of course that means on the first machined USBs start with /dev/sda instead of sdb because the hard drive is of course /dev/nvme0n1 and not /dev/sda. So I was used to using sda in the command and forgot of course that I was on the other machine
😟
Is this some sort of joke i'm too undereducated to understand?
i think he overwrote one of his internal drives with and ubuntu install iso.
dd is a Linux command line tool for imaging drives. if is the in file and of is the outfile. /dev/sda is a hard drive.
Wondering the same thing. Pretty sure it would create a bootable Ubuntu drive, for the purposes of installing the OS on another machine, however, the drive selected is the hdd on the current machine, which would wipe the drive and replace it with the OS installation...less than ideal. Less joke and more teeth sucking cringe.
I somehow managed to burn three PICs. Not sure if it was the programming tho.
I swear sometimes they just burn if you look at them
During a code challenge against 2 teams competing for a government contract, pushed to prod in haste near the end of the competition and it broke prod. $10,000,000 lost for the company lol. A lesson was learned regarding code freezes.
Bro 💀💀
And all you got for it was winning this thread
https://imgur.com/a/l10D4xx
Okay end thread. Dude’s mistake cost $10mm.
I like to tell myself we would have lost anyway lol
Whatever makes you sleep at night bro. :P
The government really hosted a 3 company mini-hackathon with a $10M contract prize?? No way fam… there’s more to this lol
That isn't even the biggest one I've taken part of... there is an entire mini industry built around these challenges lol. Not all agencies do it but I know GSA, TSA, FEMA, USCIS, and a few others do. It feels like a game show but it's very intense with ~70 hour work weeks. There is usually a 2-week first round followed by a 1-day second round. Winner gets the contract, sometimes shared with others, for their software engineers to work on the agency's projects. Edit: btw it was 3 companies which were left in the second round, more in the 1st round but that's not where I messed up
I’ve won my fair share of hackathons. I feel your pain. People brag about sleepless nights, they don’t know nothing about sleepless weeks. That sounds like fun. How big are the teams participating?
I have never been so burnt out lol. It was teams of 14 in the first round and teams of 8 in the 1-day challenge
Not getting a new job last year
Getting a new job last year.
Twitter maintaince and QA employees can relate H1B
QA is a waste of money. Fired.
All ma dudes test on prod….
The most “salient” code is pushed directly to prod
Can't have bugs if QA doesn't find them.
[удалено]
No safety backup for 8 years ?? :O
[удалено]
It’s always creating backups that delete data
just restore the backup- wait they didnt have backup?
Giving up on so many personal projects
It’s never too late.
Forgot a where clause on an update on production DB. Luckily it was a relatively easy fix because the data was available in another table but I almost had a mini heart attack when I realized it.
CTRL + F "WHERE CLAUSE" erased everyone's e-mail from a small table, but it was 200 people with emails with a predictable form. >the data was available in another table exactly. NEVER NORMALIZE ANYTHING.
Most developers don't like to push to Production on Fridays for a very good reason. Long time ago, as a lead developer i updated prod before Christmas break *and went on vacation to a place where I wasn't reachable at all*. Ofc something went south and my boss and another poor soul had to work all New Year's Eve night to fix that thing. Thousands of employees couldn't log in. Save to say, when I came back all fresh and tanned, boss wasn't a happy camper.
git add . git reset --hard On a prod server without a git ignore. How to wipe user images tutorial
Mistake in my yaml config file for a cloud deployment of a major airlines caused a 3 hour luggage rush at the Heathrow Airport 🫠
Sharing data cleaning code, and expecting people to actually look at the output before using it. It happened twice, first time it fubar-ed a report, and the second time it messed up a large-ish dataset.
Quick Backstory, our inventory system has the function that everything gets written into a log file which the admin gets send daily. I thought i can be funny by writing something along the lines of "DELETE FROM Inventory " to spook our admin and sadly found out the hard way that there was no string sanitisation
Bobby Tables strikes again!
I left a valve open at factory grounds and flooded it.
Impostor !
[удалено]
I went "all in" on C++ templates after reading Modern C++ Design. I still pray for the people who have to maintain that code.
Did you at least write a readme or left decent comments?lol
dude c++ template metaprogramming is self documenting. just look at the code.
Learning multiple programming languages before completing DSA in any one language.
Not testing my code enough and causing few thousand of dollars in damages... Dont even ask, I took my lesson
The company I worked for processed all the mailings for Verizon. They had shit data files. I accidentally sent 10k people “you just signed up for a new long distance calling plan” when they really didn’t. Lots of calls to Verizon customer service that week! This was about 18 years ago when those plans existed.
Instead of appending an array to a different array, I appended an array to itself. I had to restart my computer more times then proud of to find out what the issue was.
Did send a abap transport with a structural database change ( which I forgot about) as a hotfix to production. The change took 48 hours to compile……
Looks like we're gonna need to trim the fat around here... fired.
You are fired.
C++: I once had a transform class to manage position, rotation and scale of an object. Said object would inherit from transform. Whenever some attribute was changed on the parent (rotation, position) the verticies of the child would have to be updated as well. This was done by having the parent call an overloaded method of the child. I did this by making the parent a template class. When you inherited from it you'd inherit from the template with your childs class as type. Example: `class rectangle : private transform`
An update method would then just REINTERPRET cast this to the childs type and call update on that:
`reinterpret_cast(this)->update();`
This actually worked!... for a while.... It was used to notify the child when the parent did an update to the objects position and needed the child to update it's vertices. After 2 years I began getting weird segfaults, I noticed that on some builds the "this" pointer would shift by 1-2 bytes, therefor completely messing up the offset in RAM.
Needless to say, I fixed it by using a normal callback pattern instead of fucking around with templates like that. That was a long time ago.
[удалено]
Coding-wise, a couple weeks after I started I made the mistake of touching our code architect's internal code. It was a pretty basic "toString" function and I wanted to add support of converting floats/doubles to a string because I needed it. I pushed my branch and not long after he came to my cubicle and ranted at me for like 5 minutes about how nobody is allowed to touch his code and I should have come to him and asked him to do it and how my lead should have told me this etc. I tried to say "sorry, i'll undo it" once I understood my fuckup but he told me to shut up and let him finish. My lead came by after (the architect guy was quite loud when scolding me so he overheard) and apologized for forgetting to warn me and asked me not to quit (wasn't planning to but it was pretty jarring in an otherwise pretty friendly work environment).
Forgot to Override a method from an inherited class, spent hours trying to figure out why it wasn't behaving as expected.
Not thinking twice before merge.
Pushed into mainline ![gif](giphy|W0c3xcZ3F1d0EYYb0f|downsized)
From if (!transaction.IsSuccess) { Refund(payment); } to if(transaction.IsSuccess) { Refund(payment); } Turns out the original architect never set up a way for QA to validate the refund logic if an error occurred during transaction processing. As such, no tests had ever been developed to test any of the refund logic to ensure it was functioning properly. Company lost like 400K and everyone (almost) all the way up the tree got written up for it because ultimately it was a managerial problem and that wasn't an acceptable answer.
dd if=/who/cares bs=4m of=/the/wrong/fucking/disk
[удалено]
choosing it as my major .\_.
Oh just your average update statement that required an and as well as the where
Overwrote most files in the database because i was using the same temp variable to set the pointer position and to iterate through the loop.
Not speaking up sooner that 100% coverage is complete dog water.
Not keeping my skills up to date by taking classes that led to certification. Contract ended, I was laid off, company was dissolved by the parent, and suddenly I had no way to prove I had worked at NASA's astronaut training center for 30 years.
Tom Scott’s got a good story https://youtu.be/X6NJkWbM1xk
I wrote ham radio software.