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"
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."11
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.
Guys, I have a question that depresses me :
How do you cope with the fact that you're not Batman?
That seems a bit silly, phrased like this, but it's actually very serious. Bruce Wayne is succesful, pretty, charming, smart, creative, strong, skilled, daring, confident, selfless, and constantly depressed.
I'm just depressed. Well, maybe I'm smart, at least that's what IQ tests and my loved ones are saying, but I don't feel like I'm using that intelligence to its full extent.
***Here comes the big wall of text. Jump to the end if you're pressed.***
I feel depressed every week when I remember I'll never be a great violinist because I've no talent in music and barely any patience regarding it.
I'll never be a good painter because I've got no talent, no eye for beautiful things, and I'm utterly unable to draw what I see in my mind.
I want to be a "hacker". Not a h4x0r, just a man with enough creativity to see unintended uses in everyday things, or to see flaws and weaknesses in things that seems perfectly fine or secure at first glance. Also I want to know a good deal in computer security. But I'll never be a hacker, because my brain isn't wired that way, and it has already lost most of it young flexibility.
I'll never be as good in computers and programming as Linus Torvalds. I'll never have as much insight as Elon Musk. I'll never find a field to conquer just like Bill Gates.
I'll never make science breakthroughs as big as Einstein, Darwin or Stephen Hawking. I'll never be as good in maths as Alan Turing, never be a polyglot able to go anywhere in the world and make himself understood like this guy who learnt 10 languages in two years in this ad I keep seeing everywhere.
Well, things may happen, but it's so unlikely that my pragmatic mind just can't believe it.
I'm just an average smart pal, who wastes his time by sleeping because he's abnormally tired all the time, and who seems to never find the time to do anything although there is 16 hours in a day (given that you sleep 8 hours).
That fucking depresses me big time, and at this point I feel like it's a vicious circle and that I need professional help. I know I have to let go, and aknowledge the things I'm really good at, instead of focusing on things I'm not. But these just seem to be "easy" things to get good at. Realising that I'll likely never reach the level I aim really bugs me, and actually slows me down even more...
I'll stop here, but I could keep talking about it for hours.
That's a toxic mindset, but younger I've always seen myself as a bit superior. Now that I'm more mature and less arrogant, all that's left is my ambitions and the knowledge that they'll never be reached. Life has broken me a bit, these last years, which made me like this, and I still have to learn to cope with it.
I seriously think about ending it all, sometimes, for a few minutes. I'd never do it, be reassured, that's not a suicidal man call to help here. I'm too aware that this would do worse than anything, mostly for my loved ones, and I'm probably too coward anyway. But during these short moments, it's like I don't see the point of living since I'm just replaceable, and I don't see why I should keep going with the bitter taste of underachievement constantly in my mouth.
How do you guys cope with not being Batman?17
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
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
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
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
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.
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.4
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
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
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
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
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
You finish your work, you go to bed and when you are almost asleep you suddenly hear that irritating mosquito whine and then you know it won’t shut up until you finally get up and fix that bug you just came up with in your head.
"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.
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
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...
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.
Talking about Bethesda Softworks with a friend at a bar last night
"Fallout 4's been out commercially for like 2 years now, so I'd say the non-bethesda equivalent is a staff-only closed beta"3
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
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 😍
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.
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
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".
So I have a dual monitor setup running on windows 10
sometimes the background on the second monitor gets messy for no reason at all.
basically it doesn't recognize the second monitor's background and misplaces the one on the first monitor.
Normally it fixes itself after some reboots, but this time didn't, so I thought to do clean reinstall of the vga drivers (using display driver unistaller in safe mode)
for some reason, I used network less safe mode.
note: I'm using my outlook account linked to windows and it requires my outlook password on login.
now things get weird:
> inputs password : invalid password
> tries again: invalid password
> remembers to have changed the password some time ago, tries old password :
> starts panicking for a sec
then it comes to me the idea that since i changed password I always logged in using a PIN so windows, for some reasons doesn't know the new one? And why even the old one doesn't work?
> starts googling for answers, found nothing useful
> ends up formatting
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...