Details
-
AboutEnthusiastic programmer...
-
SkillsC,C++, Java,python,Javascript,PHP Hadoop, Hive,Shell
-
LocationBangalore
Joined devRant on 10/14/2016
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
-
"You gave us bad code! We ran it and now production is DOWN! Join this bridgeline now and help us fix this!"
So, as the author of the code in question, I join the bridge... And what happens next, I will simply never forget.
First, a little backstory... Another team within our company needed some vendor client software installed and maintained across the enterprise. Multiple OSes (Linux, AIX, Solaris, HPUX, etc.), so packaging and consistent update methods were a a challenge. I wrote an entire set of utilities to install, update and generally maintain the software; intending all the time that this other team would eventually own the process and code. With this in mind, I wrote extensive documentation, and conducted a formal turnover / training season with the other team.
So, fast forward to when the other team now owns my code, has been trained on how to use it, including (perhaps most importantly) how to send out updates when the vendor released upgrades to the agent software.
Now, this other team had the responsibility of releasing their first update since I gave them the process. Very simple upgrade process, already fully automated. What could have gone so horribly wrong? Did something the vendor supplied break their client?
I asked for the log files from the upgrade process. They sent them, and they looked... wrong. Very, very wrong.
Did you run the code I gave you to do this update?
"Yes, your code is broken - fix it! Production is down! Rabble, rabble, rabble!"
So, I go into our code management tool and review the _actual_ script they ran. Sure enough, it is my code... But something is very wrong.
More than 2/3rds of my code... has been commented out. The code is "there"... but has been commented out so it is not being executed. WT-actual-F?!
I question this on the bridge line. Silence. I insist someone explain what is going on. Is this a joke? Is this some kind of work version of candid camera?
Finally someone breaks the silence and explains.
And this, my friends, is the part I will never forget.
"We wanted to look through your code before we ran the update. When we looked at it, there was some stuff we didn't understand, so we commented that stuff out."
You... you didn't... understand... my some of the code... so you... you didn't ask me about it... you didn't try to actually figure out what it did... you... commented it OUT?!
"Right, we figured it was better to only run the parts we understood... But now we ran it and everything is broken and you need to fix your code."
I cannot repeat the things I said next, even here on devRant. Let's just say that call did not go well.
So, lesson learned? If you don't know what some code does? Just comment that shit out. Then blame the original author when it doesn't work.
You just cannot make this kind of stuff up.105 -
This is the first time an IDE has apologized to me.
PS: Dev notes, crash reports etc are excluded. This is the IDE saying sorry I can't do it, no matter what.11 -
In my current company we're being forced to use Windows for web development... I can't use a VM because of the hardware specs.
This is now my screensaver.57 -
He fails at managing his time and can't finish his tasks in work days ... suggests to work on the weekend and drags the whole team with him.
Sorry mate, but I ain't fucking working on weekend !
Team lead my ass 😡😡9 -
If Gordon Ramsay made code reviews, I would watch that show. Especially the insults he would use for handling clients.
"This code has so much spaghetti, it decided to open it's own restaurant"23 -
Got call from extremely angry customer, our product is shit and doesn't work. At all. Important customer so I went to visit.
He had the perfect setup, our product to the left, our competitor's to the right.
He connected the Ethernet cable to their product, it worked. He plugged it out and connected to ours... Nothing. Shit.
I started to debug on the premises, took logs, everything. It seemed like our product didn't receive any data at all. What the fuck? Tried everything, debugged low level, still nothing. Sweating as hell.
After two hours I got a strange feeling. So I swapped place, our product to the right, competitor's to the left. Now OUR product worked, competitor's zilch.
THE FUCKING ETHERNET CABLE HAD A GLITCH. IF YOU BENT IT TO THE RIGHT IT WORKED, IF YOU BENT IT TO THE LEFT IT WAS BROKEN.
I had never seen a customer be this embarrassed in my life. He apologized to me, my boss, his boss, the Queen, everyone.
We got the contract.20 -
One of my most favorite quotes:
"UNIX is very simple, it just needs a genius to understand its simplicity."
- Dennis Ritchie2 -
boss' revenge
So here https://devrant.com/rants/1349878/... posted prank played on boss. For 3days I been freaking out what boss will do as revenge (check env and alias everytime I login). Then yesterday happened his revenge.
Was doing testing on my programs & sometime some programs would run but sometime it get segmentation fault. Seemed random first but then saw a pattern... everytime I get segmentation fault and I run again it would be fine. Checked alias... nothing, /etc/crontab, env, ps -ef... nothing seemed off, cksum of my binary... correct. Fuck! "What my boss did?" asked myself. Finally .5hrs later I saw entry in my id's crontab but then 1min later it's gone from my crontab
From there figured out how boss did it:
1) He replaced ntpd with his C program that runs in background creating an entry in my crontab every few mins
2) The entry in my crontab set to run /foobar/ulittleprick.sh every 2mins
3) ulittleprick.sh picks random binary owned by me, rename binary.name to .binary.name.nitwit and create a script named binary.name
4) Then ulittleprick.sh will remove itself from cron
What the generated binary.name script does? Sleep for 2 secs, echo "Segmentation fault", then rename back .binary.name.nitwit to binary.name. It even exits with status 139! I want to cry! Worst part is comment in 2nd line of ulittleprick.sh... kill me now29 -
I see my friend open devRant on his mobile.
I tell him to use dark theme.
He switches to dark theme.
I salute.
He salutes.
University is thrilling.12