Details
Joined devRant on 9/20/2017
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
-
I put an Easter egg into a product, that if you enter the string "final countdown" into the stock code search field, it plays a YouTube vid of Europe's "The Final Countdown", in a hidden div. It's an in-joke for a few people in the company.
A well meaning maintainer with no sense of humour or judgement takes over and goes on the warpath against any hardcoded strings. The secret code gets moved into a config file.
A third developer changes the deployment script so that it clears any configs that aren't explicitly set in the deployment settings.
So the secret code is now "".
Literally every PC in the stock buying department is now blaring out "The Final Countdown" at top volume.
...Except none of them have speakers, so it remains this way for over a year and two more changes of maintainer.
I just noticed this afternoon and quietly re-hardcoded the string. The buying dept.'s PCs will silently sing no more.31 -
An entirely typical exchange at work:
PM: How long would it take to build an application that collates Gubblefluffs and exports them as a PDF?
ME: Hard to say. What’s a Gubblefluff?
PM: Nothing complex. Its basically an object with some stuff in.
ME: Erm, okay. So I’ll define a Gubblefluff object plus methods to add edit and delete, then for each Gubblefluff have it write a line to a PDF.
PM: It will need to email that PDF to somebody.
ME: Okay, cool. “Gubblefluffs-by-email” should take about a day.
6 hours later…
ME: I’ve done Gubblefluffs-to-pdf, I’m not clear on what’s in a Gubblefluff but I’ve made it flexible so it can take almost anything.
PM: No, a Gubblefluff can ONLY be one of 4 Snigglefingers plus a timestamp and some JSON.
ME: What? Right. Okay. What’s a Snigglefinger?
PM: (sighs) A Snigglefinger is the collection of relevant Babelsets.
ME: Babelsets?
PM: Yeah, a user can have any number of Babelsets but they must correspond to one of the four types of Snigglefingers.
ME: There are users!?
PM: Of course!
ME: But I’ve not coded anything for users.
PM: Shit. I’ve told the client they can have it today. How long to add in users?
ME: And Babelsets, and Snigglefingers and the new Gubblefluff rules?
PM: Yeah.
6 days later…
ME: This is done now. It’s a beast but it works. Who should it email the PDFs to?
PM: Client X, plus cc to Y and bcc to Z.
ME: What? It doesn't support CC and BCC!
1 hour later…
ME: This is done. I’ve tested it and sent you a copy of the PDF it generates.
PM: Okay thanks. Is the cron running daily?
ME: What cron?
…
ME: Okay, so the cron’s running once a day at 8pm.
PM: Oh, it’ll need to be at 3:15pm. That’s when we’ve told the client they’ll get it.
ME: Right. I’ll change it...
PM: Also, the PDF you sent me looks nothing like the visual.
ME: What visual?
...53 -
My dumb CEO just hired an even dumber CTO. The new CTO asked me the following questions...
1. What is GitHub?
2. What is JSON?
3. What’s an array?
4. What is Get and what is Post?
5. When an iPhone is offline, can it call an API on our server to tell us it’s offline?
6. I know you’ve spent 11 month the writing this backend in PHP but can you change it to Java now?
Me: Why?
Dumb CTO: Because it’s better.
Me: How?
Dumb CTO: because it is.
7. I know you’ve started to rewrite this codebase I Java but can you convert it to Node.JS now?
Me: Why?
Dumb CTO: Because Facebook uses it.
8. What is MySQL? Why aren’t you using a database instead?
9. What does NULL mean?
Somehow, I doubt that asshole is remotely qualified for the job.
Fakin shyt for brains.180 -
"Are you familiar with uploading your code to Google Drive?"
I left the building at that exact moment.41 -
"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 next level shit...
My friend in college is always sending me his C code for debugging IN FUCKING .odt!!
He even highlights the syntax.5 -
I once created a pop up video modal for a client.
A 'bug' was then logged:
"When you click and open the video modal, and then close the tab when finished, it closes the whole site and you have to start over again."
:|5 -
The inevitable happened, the user that I've answered tons of questions about freelancing deleted his account, thankfully I took backups and will recreate it [together with a killed joke] in the comments below (should've just webarchived it, meh)
I'll keep adding questions & answers I come across to make this a useful resource for people that want to get into freelancing, want to ask me something in the comments, you name it.
Might compile it into a better searchable resource eventually (some sort of blog with TOC), but right now neither do I have the time nor will to do that.
Wish I could have taken over the link that has been now posted a lot, but every post has an ID and I doubt it's possible, will tag dfox to clarify though and also floydian and devtea, that have been so nice to always post a link to that one rant.52 -
I strongly dislike the www part in domain names (the subdomain, really), that's not really news anymore.
Loads of sites use it which I find annoying as fuck for some reason but so be it. (I understand that its very logical to loads of people)
And then you get a client who calls in because the email server isn't accepting her username/password.
*looks into the logs*
"incorrect authentication data: info@www.herdomain.com"
Kill it with fucking fire.18 -
Happened a while ago but I still find it funny.
*phone rings*
Me: good morning sir, how can I help you?
Client: MY WEBSITE IS OFFLINE, FIX IT RIGHT NOW.
M: I'm going to take a look, what's the domain?
C: *gives domain*
M: I see, that domain expired already, it was cancelled through our customer portal by the client, you maybe or someone you know?
C: WHAT?! MY INTERNATIONAL BUSINESS DEPENDS ON THAT DOMAIN, I'D NEVER CANCEL IT, THIS IS BULLSHIT! I'F THE SITE GOES OFFLINE FOR A MONTH I'LL FUCKING GO BANKRUPT, YOU'RE GOING TO FIX THIS RIGHT NOW.
M: if I may ask, how is your business doing right now?
C: HOW IS THAT QUESTION RELEVANT RIGHT NOW?!
M: well, you said that if the site would go offline for a month, you'd go bankrupt. The domain registration ended about half a year ago so that's why I aske......
*beeeeep beeeeep beeeeep*
Well, okay then.13 -
The Google Messaging app update is like forcing people to switch to the dark side. I mean before there wasn't evenvan option? But now I'm actually looking for/want one... And it's there...
The colors before the update were nice solid, not this girly (no offense) light color.10 -
I'm doing my own sci-fi D&D story and need some new weapons! So why not use programming names? 🤔
So far:
voidpointer
nullifier
destructor
finalizer
One player is also a dev and I want to trigger him as hard as I can 😈6 -
Git.
The smallest utility made its way to being the largest companies must-have, the most critical part of the whole development landscape.
Using just plain C, Git can shred huge amounts of data insanely fast. It never gets old.
Git is a developer's scalpel.11