Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "bugs everywhere"
Few weeks ago one guy has posted here something like: "Just started work at PornHub".
And now I see this:
Today was my last day of work, tomorrow i have officially left that place. It's a weird feeling because i'm not certain about the future.
The job was certainly not bad, and after all i read on devrant i'm beginning to believe it was one of the better ones. A nice boss, always something to eat/drink nearby, a relaxed atmosphere, a tolerance for my occasionally odd behaviour and the chance to suggest frameworks. Why i would leave that place, you ask? Because of the thing not on the list, the code, that is the thing i work with all the time.
Most of the time i only had to make things work, testing/refactoring/etc. was cut because we had other things to do. You could argue that we had more time if we did refactor, and i suggested that, but the decision to do so was delayed because we didn't have enough time.
The first project i had to work on had around 100 files with nearly the same code, everything copy-pasted and changed slightly. Half of the files used format a and the other half used the newer format b. B used a function that concatenated strings to produce html. I made some suggestions on how to change this, but they got denied because they would take up too much time. Aat that point i started to understand the position my boss was in and how i had to word things in order to get my point across. This project never got changed and holds hundreds of sql- and xss-injection-vulnerabilities and misses access control up to today. But at least the new project is better, it's tomcat and hibernate on the backend and react in the frontend, communicating via rest. It took a few years to get there, but we made it.
To get back to code quality, it's not there. Some projects had 1000 LOC files that were only touched to add features, we wrote horrible hacks to work with the reactabular-module and duplicate code everywhere. I already ranted about my boss' use of ctrl-c&v and i think it is the biggest threat to code quality. That and the juniors who worked on a real project for the first time. And the fact that i was the only one who really knew git. At some point i had enough of working on those projects and quit.
I don't have much experience, but i'm certain my next job has a better workflow and i hope i don't have to fix that much bugs anymore.
In the end my experience was mostly positive though. I had nice coworkers, was often free to do things my way, got really into linux, all in all a good workplace if there wasn't work.
Now they dont have their js-expert anymore, with that i'm excited to see how the new project evolves. It's still a weird thing to know you won't go back to a place you've been for several years. But i still have my backdoor, but maybe not. :P16
Does anyone else have that one guy or gal you work with that's ALWAYS the one to find the weirdest, inexplicable bugs possible? Yup. That's me. Here's some fun examples.
*Unplugs monitor from laptop, causing kernel panic*
*Mouse moves in reverse when inside canvas*
*Program fails to compile, yet compiler blames a syntax error that doesn't exist*
*malloc on the first line of a program causes a segfault*
And for how the conversation usually goes
Me: "[coworker], mind taking a look at this?"
Coworker: "Sure.This better not be another one of 'your bugs'. ... ... ... Well, if you need me I'll be at my desk."
Me: "So you know what's causing it?"
Coworker: "Nope. I've accepted that you're cursed and you should do the same."9
When a system-breaking bug ends up fixing a different bug and actually produces a new feature we didnt intend but actually love5
Volunteered to fix a brittle component in our app. Turned out to be 26 classes of mostly copy pasted code that is riddled with todos and void of feedback for the user. Here's a pretty representative sample of this code's quality:5
- there is a bug in the code.
A: I have searched everywhere I can't find the bug
B: What was the last thing you wrote?
A: I called this function
B: did you check the function for bugs?
A: no, I just coded it, there can't be any bugs there3
Just about to start a milestone presentation, when suddenly the boss froze and yelled:
"Wait! Don't move! There is a bug, let me take it back to nature where it belongs..."
*Grabs a bug on my shoulder and carries it to the window*4
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
When starting a project at work:
My name everywhere. Every file, every change-list I proudly put my name to prove my skills.
Program goes for validation:
Thousands of bugs.
Realize that I've written shit code. Slowly removing my names from all over the code.
Coding has changed the way I think. Everywhere I go, I think of algorithms and efficiency.
When I'm in elevator, I think about what algorithm is running in the background.
When I'm at red light, I think about the algorithm that traffic lights are running.
I notice bugs in websites and apps and try to figure out what the dev might have done.
I find problems in UI design and get annoyed.
I spend more time coding a solution to a problem rather than directly solving the problem. I get a kick out of it.
When I see something uses more resources than necessary, it seriously pisses me off.
Coding has taught me to think and has positively changed the way I live.2
Being a developer in my country is great. We have Sam Adams fountains instead of water fountains everywhere, triple - double bacon and duck fat fried cheeseburgers with Twinkie buns, massive desktops that burn coal and dump pure toxicity into the atmosphere. We sit on chairs made from the carcasses of soon to be extinct animals, and instead of rubber ducks, we have majestic bald eagles screeching their encouragement as we pound out our buggy ass code. But we have the best bugs, don’t we folks?4
LPT: NEVER accept a freelance job without looking at the project's source first
Client: I have a project made by a company that is now abandoning it, I want you to fix some bugs
Me: Okay, can you:
1) Give me a build to test the current state of the game
2) Tell me what the bugs are
3) Show me the source
4) Tell me your budget
Client: *sends a list of 10 bugs* Here's the APK and to give you the project I'll need you to sign an NDA
*sees at least 20 bugs*
*still downloading source*
*bugs look quite easy to fix should be done under an hour*
Me: Okay, so, I can fix each bug for $10 and I can do 2 today
Client: Okay can you fix 8 bugs today for $40??
Me: No I cannot.
Client: okay then 2 today for $20 is fine, I want a refund if you can't fix them today
Me: Look dude, this isn't the first time I am doing this, aight? I'll fix the bugs today you can pay me after check they are done, savvy?
*source is downloaded*
*literal apes wrote the scripts, commented out code EVERYWHERE
Debug logs after every line printing every frame causing FPS drops, empty objects in the scene
multiple unused UI objects
everything is spaghetti*
*give up, after 2 hours of hell*
*tfw averted an order cancellation by not taking the order and telling client that they can pay me after I am done*
Attached is an image of a level object pool
It's an array with each element representing a level.
The numbers and "Final" are ids for objects in an object pool
The whole string is .Split(',') into an array (RIP MEMORY BTW) and then a loop goes through each element in the split array and instantiates the object from an object pool5
Before production deployment: Everything is running well, all bugs are fixed, serenity sets in.
Production deployment day: Fire everywhere
goddamit we don't get a fucking break2
The ultimate UX:
It finally knows exactly what you are looking for, deep machine learning AI based on blockchain leveraging the power of the cloud shit3
All I want for Christmas is.... for Windows 10 search bar to respond and work in a reasonable amount of time and not suck so much.3
I hate it when I pick a library that seems popular, has a ton of stars on GitHub, a ton of downloads, used seemingly everywhere, only to find out months later that it's SHIT. I found bugs that made me doubt anyone is actually using this fucking thing. Your GitHub stars mean nothing.
So now it's either rewriting the entire codebase to a different library, or fixing it. Serves me right for not checking the unresolved issues first.7
So I was watching this movie "The Foreigner" and suddenly I noticed this scene. "Preparing Automatic Repair" 😂 Leave Real World, It Can't Even Function Properly In Reel World.
Product gets launched in 2 hours. Just casually updating the documentation. Nice chill day. Everything tested and validated.
Then some random f**king designer comes barging in vomiting all these "necessary" features to the product owner.
This was yesterday. The designer and product owner are currently complaining to us devs that there are bugs everywhere...
I need a beer.3
Mixing lazy loading with event-based code == events won't be handled because the class won't subscribe to events until it's initialized hours after startup
Thank you, my dear lazy-loading lover, who keeps introducing hard-to-spot bugs everywhere. I wish your hand was as lazy as your code, that would have saved hours of debugging time.1
CoWorker: I fixed the code so it doesn't throw any errors or warnings anymore.
What He did? Well.. he just commented the whole important part and it's my turn now to really fix this C mess.1
1. Nothing lasts forever and you always need to be prepared for change.
That might be technology acquired by other company and dropped completely by all of people or new technology take over the market for a year and is gone after that and no one remember about it.
2. If you go opposite way then all of people around you that might be actually the best way.
That learned me to always look around for new stuff cause this small stuff that people make today can be big company next day just cause they got annoyed by things and start something new.
3. Trust nothing that you see.
Bugs are everywhere
4. Quality and speed doesn’t matter when you start doing something but consistency matters a lot.
When you start doing something you suck and you need to be ok with fact that you’re going to make lots of stupid mistakes and learn from them.
When you start new prototype you don’t need dozen tools to finish it, you don’t need performance or perfection, you need consistency to finish it.
Contex: Working on a c++ frankenstein code (mixture of legacy and new stuff whith things depending on the client using it)
User Story: Migration from oracle to SQLite for half of the DB data
Summoner: One client wants to keep using legacy for now, therefore we need an strategy chooser templated singleton...
Satan 666 = Singletons + Static methods + Different compilation units
Result: 3/4 of the files of the full backend being modified for the migration.
Conclusion: When will be loaded on production company will probably lose many clients due to unspected bugs everywhere.
Insert potato here2
Do you know guys why a programming bug is called so? It's because the very first time a software crashed it was because of a bug ( a real bug stuck in a bus on the machine!) That caused that 😂 imagine if something else was stuck instead! Like someone'sfinger : hey I fixed that finger but still got 2 critical fingers and 4 small ones7
Fucking love it when the windows copy/move dialog gets stuck at 100% with 0 items remaining and I can't get rid of the damn window for 20 seconds.
Windows is obviously the superior OS.11
Then I got to PHP during the years from some online tutorial about making dynamic websites. My website was more static than stone, but yeah, I did page loading with PHP! Awful experience anyway, because I had to install Xampp, get it work and other stuff. 11 years old or so. (and I used Xampp only as a fileserver between laptop and desktop later, because.. PHP4... just no.)
As 12 years old or so I experienced my first World of Warcraft (vanilla) on a custom server in an internet cafe and I thought it's a singleplayer game. When I found out that no, I googled how to make my own server (hated multiplayer back then and loved good games with huge storylines). Failed miserably with ManGOS, got something to work with ArcEMU. There I learned some C++ basic stuff, which I hoped would helped me to fix some bugs. When I opened the code I was like: "Suuure." and left it like that. I learned what a MySQL database is, broke it like four times when I forgot WHERE and still rather played with websites i.e. html, css, js and optionally php when I wanted to repair a webpage for the server. With a friend we managed to get the server work via Hamachi, was fun, the server died too soon. Then I got ManGOS to work, but there wasn't really any interest to make a server anymore, just singleplayer for the lore. (big warcraft fan, don't kick me :D )
I think it was when I was 13y.o. I went to Delphi/Pascal course, which I liked a lot from the beginning, even managed to use my code on old Knoppix via Lazarus(Pascal). At this age I really liked thoae Flash games which were still common to see everywhere. So I downloaded .swfs, opened and tried to understand it. Managed to pull some stuff from it and rewrite in Pascal. Nope, never again that crap.
About the same time I got to Flash files I discovered Java. It was kind of popular back then, so I thought let's give it a try. I liked Flash more. Seriously. I've never seen so much repetitiveness and stupid styling of a code. I had either IDE for compiling C++ or Pascal or notepad! You think I wanted my code kicked all over the place in multiple folders and files? No.
So back to Pascal. I made some apps for my old hobby, was quite satisfied with the result (quiz like app), but it still wasn't the thing. And I really thought I'd like to study CS.
I started to love PHP because of phpBB forums I worked on as 15 y.o. I guess. At the same time I think there was an optional subject at school, again with Pascal. I hated the subject, teacher spoke some kind of gibberish I didn't really understand back then at all and now I find it only as a really stupid explanation of loops and strings.
So I started to hate Pascal subject, but not really the lang itself. Still I wanted something simpler and more portable. Then I got to Python as hm, 17y.o. I think and at the same time to C++ with DevC++. That was time when I was still deciding which lang to choose as my main one (still playing with website, database and js).
Then I decided that learning language from some teacher in a class seriously pisses me off and I don't want to experience it again. I choose Python, but still made some little scripts in C++, which is funny, because Python was considered only as a scripting lang back then.
I haven't really find a cross-platform framework for C++, which would: a) be easy to install b) not require VisualStudio PayForMe 20xy c) have nice license if I managed to make something nice and distribute it. I found Unity3D though, so I played with Blender for models, Audacity for music and C# for code. Only beautiful memories with Unity. I still haven't thought I'm a programmer back then.
For Python however I found Kivy and I was playing with it on a phone for about a year. Still I haven't really know what to do back then, so I thought... I like math, numbers, coding, but I want to avoid studying physics. Economics here I go!
Now I'm in my third year at Uni, should be writing thesis, study hard and what I do? Code like never before, contribute, work on a 3D tutorial and play with Blender. Still I don't really think about myself as a programmer, rather hobby-coder.
So, to answer the question: how did I learn to program? Bashing to shit until it behaved like I desired i.e. try-fail learning. I wouldn't choose a different path.2
How long is your operation system running?
Linux - since the first kernel release I've ever touched.
Windows - depends on the update cycle, mostly 2 weeks up to 6 month.
And there goes another night with reconfiguring my windows session 🤬.7
After finnishing all functionality defined in koncept our boss said that we should write some unit tests.
Wrote first one and already found 2 bugs.
I guess we should start with tests earlier 😅😷3
Whoo, 4 days into my new project, and a lot of mess already happening all over the place, in short, everyone in here consisted of the human population that fill up the average (and below) margin on everything (especially their IQ, seriously, by the time I finished telling this story, you'll wonder how the hell are these guys able to finish uni, not to mention working in IT)
Okay so, backstory, I was cut off from my previous project (the product was finally launched, but only a handful developers are kept to maintain & do enhancements, why wasn't I included? That's a story for another time), and I was sent to a new (shitty) project, by the order of the (shitty) manager, in the same institute, but different division, whom tries to copy paste everything the golden child (my previous project) has been doing, technology, environment, work culture, etc
And I'm faced with another react native application (let's call it project N), in which the team leader was so proudly explained to me, that it got released way earlier than my previous project (let's refer to it project X) even though X started a long time before they have any plan for N, N was passed down from a vendor to the internal devs whom has very little knowledge of react native, and I was supposed to "help" them with it
Day one, I learned a new english term for this, sinecure, nothing done on the first day, just introductions, a long boring meeting and got assigned to the project N, I did skim through the source code for a while, at a glance it looks like a student's assignment done overnight, reminds me of the first website I made, and this is supposed to be an app that handles monetary transactions,
Day 2, still no task given, due to their "end of sprint" session, 4 days of not having anything to work on, I analyzed the code further, and yep, it's rubbish,
- first, the code convention is shit, based on the git log, only 2 guys were working on this and neither of them had any standards with their coding, spaces, semicolons, indentations, everything is a mess, folder & file names and their placement too, not to mention redundancy everywhere, nothing is reusable, this is the first time I saw a react application that keeps defining & creating new components on every pages, and no documentation at all
- second is, the warnings, I was in awe with the disappearance of yellow warnings in the app since I found a bunch of yellow box errors on the debugger console, then I checked the main app.js file and lo and behold
console.disableYellowBox = true
Whoooo, a new breakthrough in software debugging, you won't find any potential bugs if you hide the warnings altogether, fuck, not even any config to diferentiate debugging & release environments (my last project had one)
Well worse is that ALL of the components doesn't have any proptype checking (prop is something like an attribute that is inherited from parent component to child component, CMIIW), and this cause for some issues that already happened a bit later,
- third, but not last, the software is buggy as hell, not to mention the flow & logic is messy as fuck, who the hell put a splash screen as it's own navigation entity,
After opening the app, splash screen is showing, then redirect to login page, and if user pressed back button while on login page, they'll be stuck on the splash screen, unable to navigate anywhere
Then, later that evening, one of the PO suddenly came to me and said something about telling him if I had any issues/concerns, given the opportunity, I immediately pointed out the problems, only to add up to my dissapointment, the conversation went like this,
Me: I do have concerns, 3 of them at the moment (explained like above but with more polite words)
PO: really? Well, us from the product team doesn't really care for cleanliness as long as it works
Me: bla blah (explaining about current & potential bugs and maintainability)
PO: like I said it's not urgent, we have more important goals to achieve
Me: blah blah (up to you, but I insist that at least consider this matter)
PO: A foreigner made this you know?
*how the fuck is that information even relevant? Fucking victim mentality
Me: So? It's still rubbish (continue explaining the current bugs)
PO: do you know how much this project has cost?
*cool, now you want to justify this farce by overpricing it?
PO: this much (after googling, it's around 3 years worth of average salary for senior dev in US)
*well my previous project cost almost twenty times that
PO: bla blah (saying something like, And don't go introducing changes and new stuff too much, since you're the new guy, unless you want to be seen as a show off, you gotta mingle with the devs first and once you got in a friendlier term, then you can give your opinion)
I just nods and didn't continue the convo after that, but suddenly the PO reaffirms
PO: OKAY? (in a tone like "capische?")
Okay, I'll consider that as a warning,
To be continued...
On my last deployment for the musician client I encountered a really nasty bug.
I configured all the settings in my Nginx. Theoretically everything should work, but it did not. Somehow I always ended up landing on my default Nginx page.
After hours of trying to find the typo, turning it off and on again and praying to all gods I ever heard of, I finally analysed my default Nginx config file. Somehow the server config I posted on the clients conf-file got posted beneath the default configs. WTF?
After deleting those everything worked. 🙄2
Today was a real Monday (I know it's Wednesday, let me explain).
Nothing worked. Not for me and not for my coworker. Across all tasks that we did today. It was very frustrating and a lot of swearing was involved.
Every week has to have a Monday I guess. Let's hope tomorrow gets better.1
"Hey before we launch, can you reintroduce that bug you fixed on Friday? The other team needs it for debugging."
Why the fuck would you need debugging code in production and why the fuck do we want to readd something that was causing problems? Shaping up to be a great week already.
Hate feeling embarrassed for shitty quality work that I had no involvement in but the customer doesn’t know that. I keep reiterating that my former colleague did it!1
Rant and opinions wanted. Its a long one.
I have been working on a project for a month and a half. For the first week I was requesting designs that I got about 2 of out of 15. For the next week and a half the designer was on holiday so I couldn't do anything but delivered a few more designs once he got back.
This takes us 2 weeks in already. I have other things to do as well so at the same time I work on support tickets and some bespoke development coming in.
I get given 2 or 3 more designs and can't get anything else out of the designer after waiting a week so I have to design everything myself as I go and build it. Something I have never done before.
We are now 3 and a half weeks in. My boss randomly tells my pm it needs to be demo ready the next day. I work furiously to hack something together. It works but key functionality is missing.
I move house and work from home for a week and a half. I do my best but the project is full of bugs and the CSS is horrible because I didn't know what I was making at any stage. It is therefore CSS rules repeated in IDs everywhere.
My colleagues join me on the project because my boss has decided to try and sell it tomorrow.
They run through it and find all the bugs left from me working furiously to get things done quickly. Things like no search pagination and missing validation.
My boss is now pisses at me because the project is not finished, my colleagues are now all working on it. Throughout it all he knew the designer was not delivering me anything and that I was struggling.
Am I in the wrong for writing shit code that came about because I was coding with no idea of what the finished project should look like? Is he in the wrong for dumping this on me and just letting me get on with it even though he knew there were no designs?
Btw I am just finishing a 1 year internship and before this have never done web dev before.
One day I'll stop creating bugs on production. I think the last 3 releases I've introduced bugs. They need to hire a tester for our team. The other two teams have dedicated testers. I suck at regression testing.3
Nothing like trying to fix a product breaking bug in someone else's code that just ran off on vacation for a week. 😒1
That feeling when you are debugging and java keeps throwing exceptions everywhere for the whole day, and just when you are about to turn off the pc and are resigned to go home with a code full of bugs, decide to launch the program one last time and Everything compile and works properly 😍
I find it hilarious that sometimes when i create bug in our app nobody finds out. Even pretty significant bugs. Sometimes i wonder how is it possible. 😅4
It's more annoying for me when my code works and I don't know why (when actually it has not work) than when my code doesn't work and I don't know why.2
When you create some shell scripts on the servers which are supposed to mail your team each day at 9pm and you leave for vacation at 4pm only to see the emails suddenly arriving on the way home at 4:30 telling you and everybody else that almost everything possible went wrong on an unknown server.
Was freaking out why my changes weren't being shown in development. Spent an hour console logging everywhere, trying to decipher bugs, and just generally worrying about "what the fuck did I do?"
I just forgot to merge my PR after it was approved.
Protip: Bugs exist everywhere, also in real life (no pun intended). Trying to think of possible real-life-bugfixes while commuting (train legroom too small, traffic jam on the same spot every day) makes makes the entry to your work projects easier. You simply haven't stopped thinking about bugfixes, only the project changed to "commuting".
I'll do the tests later on it'll be fine. 3 releases on, There are bugs everywhere - I cannot handle the regressions. Why'd this happen..Yeah.. Really need to do some proper TDD at some point.
Today I am venting with a text I sent to my friend and colleague:
"Awh fuck when I tried to get all the pieces together - migration and elitism - there were bugs everywhere, even from places I thought I had sorted out. BUGS, BUGS never die! 🐛🐜🕷🐛🐞"
Punching something with your fist, won't help you solve your bug. Especially if that something is your screen.
Luckily I only punched the wall a few times, so far...