About10+-years experience in bug breeding.
Joined devRant on 7/6/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
I saw a piece of code that, to my knowledge of software engineering, should have never worked in the first place. The code doesn't know that, and it works anyway.
I call this a "bumblebug".3
Under pressure for a big feature that had to be merged into develop like one month ago. But I couldn't because of issues I discover every single fucking day.
Today's issue is that a Cucumber test fails. I try reproducing it on my machine, it fails with a different error. Apparently I need to download some 10GB database file from some company server.
Alright, let's download it. But it's damn too slow. Well, let's have lunch in the meantime.
I come back, the download timed out at basically the same point I left it at.
I don't wanna try again. Not without trying to improve things. Download speed is ridiculous. Switching from Wi-Fi to Ethernet definitely helps, I thought.
The cable doesn't work. The port LEDs are both off. Is that cable even connected to something? So I follow that damn cable throughout my colleagues' desks. I'm now doing things without even remembering why.
I finally find the other end. It is plugged to the wall. I try another plug, but that fucking LED is still off. A colleague tells me: not all the sockets are actually connected to the switch, you have to call IT to have yours patched. Stay calm, stay caaaaalm...
A small lamp turns on in my head. Maybe something in my laptop is broken. So I try with a colleague's ethernet. That fucking LED is still off. A-ha.
Turns out, the shitty macbook adapter has this Ethernet port that DOESN'T work out of the box. It needs a driver to even realize there's a port. I look for it, I find it. I finally have wired connection. It's like having drinking water again.
I turn off WiFi, I re-try downloading that fucking database.
Nope, it's still stupidly slow. The bottleneck was in the dumbfuck internal server.
At least I have Ethernet now.1
A functional developer kills a man. When the police arrests him, he gets very surprised. He thought he was stateless.2
Hired three months ago.
Trying to implement a feature the heads were long waiting to have. It involves a part of codebase so messy and complex that even senior devs were afraid to touch.
Made a prototype, finalized related stuff, merged to develop. Got praises at the demo meeting.
Feeling like Frodo after his quest 😳
Sometimes I start writing a sentence that ends with parentheses (only to realize what I put in the parentheses is as important as the rest, then I could use a regular comma instead).
I call this "grammatical tail-call recursion".2
First you make a filthy JSON protocol where numbers are encapsulated into strings.
Then you document this little fact nowhere. Actually you don't document anything at all.
Then you make a shitty parser that ignores any exception. So that when I try to send my objects, it took two hours to figure out it was "my fault" as I was sending actual integers instead of strings.
I think you deserve to suffer a terrible agony for exactly the amount of time I lost.2
The coffee here is so shitty, I have to drink lots of water to get rid of the terrible flavor that remains in my mouth every single time.
On the other hand, I'm very well hydrated.8
You're a nice colleague, always helpful, very experienced... But you STINK!
I can't stand less than 1.5m from you. I feel sorry for the poor guy sitting in the desk next to yours, let alone all the people taking the little elevator with you.
How do I tell you to shower more often without offending you?4
Just started a side project, helping a friend make his Android app more stable and add a couple more features. We'll release the sources sometime later.
Gotta say, his code is just terrible. And it runs on top of some code written by someone else, and that's even worse.
But I don't know how I got the motivation to spend the whole Saturday cleaning it up, fixing warnings, making abstractions, extracting features to separate classes, converting some stuff to Kotlin, even adding a couple coroutines. It felt good fixing bad code.
Maybe because I have some coding freedom I kinda miss at work.
Maybe because the project is not that big.
Maybe because I know the guy has many skills, coding is just not one of them.
Maybe because that project has some cool in it I can't even describe.
Maybe because that's entirely within my skills but challenging enough to have fun working on it.
Or maybe is just the mood of the moment, and in a week or so I'll lose all the motivation, as it happened too many times.
If there's one thing I'd gladly kill with fire, then pass it over a steamy steamroller, then burn it a tank of hot fluoroantimonic acid, is every fucking Java library that returns null instead of throwing a meaningful exception.
Is it really that difficult for you to throw an exception anyway, then let ME figure out if I can ignore it or not?
Thanks to you, now I have to do super messy reflection things just to figure why did you return a null.
I'm not your fucking psychologist trying to pull your inner secrets. But I have to be, for the sake of stability of my app. Which already has its own mess of problems on its own.7
I'm on my train, leaving after my last day of work. I didn't hate that job, quite the opposite actually, but Im sure the new job will give me more opportunities to grow professionally.
Now I'm just sad I'll miss all of the familiar faces, and all the usual things I was doing.
So many emotions and I don't even know where to start.
Oh and I'm drunk too.1
Shootout to my 2.5GB Maxtor hard drive, that I heavily used between 1997 and 2001. There were no USB drives, and CD burners were too expensive for consumers. So I used to open my PC case, remove the drive (along with Windows and my software), bring it around at my friend's house and have fun while copying hundreds of mp3s, patiently downloaded from filesharing and 56k modems or ripped from CD audio, in and out.
One time it fell out from my desk, hitting hard floor big time. I thought I lost it forever, and basically my whole PC in it. Then I tried plugging again its IDE and power connectors, and it was still working! ... well, half of it. That badass still continued to work with one of its two platters crashed, and got some more mp3s with it.
Maybe I still have it...1
ME: so this is a RAID array
YOU: but the A in RAID is for "array" so isn't saying "RAID array" redundant?
ME: Yes, that's what the R is for.
(from Steve Land, source: http://ganssle.com/tem/tem348.html/)
So my schoolmate asked me to reformat his computer, not before backing up his father's work data. Medical data of his patients.
He had two hard drives, C: and D: . Easy job, it could be done in four steps:
1- collect all data into c:\backup
2- xcopy /e c:\backup d:
3- format c:
4- move all data from d:\backup back to their original places.
Guess which step did I forget to do?
Yes, step 2.8
After one and a half year working at my current company, I finally took the courage to link the shared Sonos to my computer, and play the music I like.
That's some Great Social Achievement for me! Hurray 😆👏🎉3
Client: our app has low ratings, we fired our previous dev company and hiring you instead.
Us: all right, seems like to make a better app we need 5 months.
C: you're kidding, do it in 6 weeks.
U: Ok, but we'll have to drop some features.
C: get rid of X and Y, nobody uses them.
... 6 weeks later...
U: here's the new app: better graphics, easier to use, more stable and more future-proof.
C: Cool! Let's deploy!
... 2 days later...
C: we just released but the users are really pissed off!
U: what do they say?
C: "what the fuck happened with X and Y? they were the only thing we're using! what a load of crap! 1 star"
Dear client, next time get to know better your users...8
WHAT THE FUCK.
I have to deal with a fucking bug that crashes my app only when I'm NOT looking for it.
I investigate another bug? Then BAM, here it is and crashes the app. And I have to start over again find the right conditions to not trigger it again.
I investigate that bug? Nope, everything runs as smooth as velvet.
It's like a Heisenbug, but the cat is dead in the box AND pissing all over the lab at the same time.3
We finish our sprints on time.
The PM congratulates us for the good work.
The client gives positive feedback too.
And yet, I have the feeling we're sailing full-speed straight into an iceberg.2
Just went out from a 12+ hours session of debugging.
After removing bits of code until there was almost nothing left, sweeping through StackOverflow, step-debugging into thousand-lines framework source code, running tests, considering filing a bug to Android...
turns out I had a
that should actually have been
*client comes to us "please take care of our app, it's ugly and the previous devs made it all buggy, especially the Android version"
*we write code, analyze bugs, fix them, QA them
*we deliver a preview
*client only looks at the iOS app, doesn't give a flying fuck to the Android app1
My teammates are working on a legacy codebase so shitty awful, so poorly written, so full of pitfalls, hidden information and intricate relationships, they gave a name to their development style:
Indiana Jones programming.6
The "Hot Network Questions" in the right side of every StackOverflow page.
Physics, Electronics, World building, Programming puzzles and code golf, Aviation, Skeptics...
I guess I can say the Dutch numbering system is little-endian.
All the other languages are big-endian.
Then there's French.4