Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "bugfix"
If Doctors Were Like Coders
(cross-posted from https://medium.com/@c09b6133a238/...)
Problem: The patient has a broken leg.
1. Ask the patient to reproduce the exact scenario that resulted in the broken leg. Watch closely to see if the leg breaks again. Check for consistency by repeating the scenario a few more times.
2. Explain that this isn’t an intended use case for the leg, and besides, it only affects one person. Ask the patient if, all things considered, he really wants to prioritize his broken leg over your other work.
3. Point out that the patient’s other leg performs just fine under the same circumstances. Ask if he can use his other leg instead, at least as a workaround.
4. Attach several accelerometers to the broken leg and break it again. Stare at the data received from the accelerometers, then shrug and declare it useless.
5. Decide that the patient’s problem must be in his spleen. After all, that’s the only part of his body you don’t really understand.
6. Track down the people who created the patient. Ask them if he’s ever had spleen problems before. When they seem confused, explain that he has a broken leg. Ignore them when they tell you that the spleen they created could not possibly cause a broken leg.
7. Ask Google where a person’s spleen is. Spend half an hour reading the Wikipedia article on Splenomegaly.
8. Open the patient and grumble about how tightly-coupled his spleen and circulatory system are. Examine the spleen’s outer surface to see if there are any obvious problems. Inform him that several of his organs are very old and he should consider replacing them with something more modern.
9. Compare the spleen to some pictures of spleens online. If anything looks different, try to make it look the same.
10. Remove the spleen completely. See if the patient’s leg is still broken. If so, put the spleen back in.
11. Tell the patient that you’ve noticed his body is made almost entirely out of cellular tissue, whereas most bodies these days are made out of cardboard. Explain that cardboard is a lot easier for beginners to understand, it’s more forgiving of newbie mistakes, and it’s the tissue franca of the Internet. Ask if he’d like you to rebuild his body with cardboard. It will take you longer, but then his body would be future-proof and dead simple. He could probably even fix it himself the next time it breaks.
12. Spend some time exploring the lymph nodes in the patient’s abdominal cavity. Accidentally discover that if the patient’s leg is held immobile for six weeks, it gets better.
13. Charge the patient for six weeks of work.14
I just spent 20m debugging.
Basically bootstrap nav wasn't working. Couldn't understand why not.
Figured out its a an issue with the JS interfering so I remove the script reference from my HTML. Problem solved.
Okay,cool. Now let's add that file back in and figure out what caused the issue.
Hm. This line looks like it might be it *comments it out*...odd. Problem still happens.
*proceed to comment out and test every function to see what could be causing this issue*. Still happens. Fuck it. *comments the entire file out*
what the fucking fuck. I remove the script reference the problem is gone. I remove all code from the script - problem persists.
...wait...are you fucking kidding me. I OPENED THE WRONG JS FILE WITH THE SAME NAME BUT IN A DIFFERNT DIRECTORY.6
At one of my former jobs, I had a four-day-week. I remember once being called on my free Friday by an agitated colleague of mine arguing that I crashed the entire application on the staging environment and I shall fix it that very day.
I refused. It was my free day after all and I had made plans. Yet I told him: OK, I take a look at it in Sunday and see what all the fuzz is all about. Because I honestly could fathom what big issue I could have caused.
On that Sunday, I realized that the feature I implemented worked as expected. And it took me two minutes to realize the problem: It was a minor thing, as it so often is: If the user was not logged in, instead of a user object, null got passed somewhere and boom -- 500 error screen. Some older feature broke due to some of my changes and I never noticed it as while I was developing I was always in a logged in state and I never bothered to test that feature as I assumed it working. Only my boss was not logged in when testing on the stage environment, and so he ran into it.
So what really pushed my buttons was:
It was not a bug. It was a regression.
Why is that distinction important?
My boss tried to guilt me into admitting that I did not deliver quality software. Yet he was the one explicitly forbidding me to write tests for that software. Well, this is what you get then! You pay in the long run by strange bugs, hotfixes, and annoyed developers. I salute you! :/
Yet I did not fix the bug right away. I could have. It would have just taken me just another two minutes again. Yet for once, instead of doing it quickly, I did it right: I, albeit unfamiliar with writing tests, searched for a way to write a test for that case. It came not easy for me as I was not accustomed to writing tests, and the solution I came up with a functional test not that ideal, as it required certain content to be in the database. But in the end, it worked good enough: I had a failing test. And then I made it pass again. That made the whole ordeal worthwhile to me. (Also the realization that that very Sunday, alone in that office, was one of the most productive since a long while really made me reflect my job choice.)
At the following Monday I just entered the office for the stand-up to declare that I fixed the regression and that I won't take responsibility for that crash on the staging environment. If you don't let me write test, don't expect me to test the entire application again and again. I don't want to ensure that the existing software doesn't break. That's what tests are for. Don't try to blame me for not having tests on critical infrastructure. And that's all I did on Monday. I have a policy to not do long hours, and when I do due to an "emergency", I will get my free time back another day. And so I went home that Monday right after the stand-up.
Do I even need to spell it out that I made a requirement for my next job to have a culture that requires testing? I did, and never looked back and I grew a lot as a developer.
I have familiarized myself with both the wonderful world of unit and acceptance testing. And deploying suddenly becomes cheap and easy. Sure, there sometimes are problems. But almost always they are related to infrastructure and not the underlying code base. (And yeah, sometimes you have randomly failing tests, but that's for another rant.)9
Hey everyone! Recently there was a bug discovered which caused many (but not all) “user x posted a new rant” subscription notifs (both in-app and push) to not get sent out for the last week or so. It should be fixed now. Unfortunately though, they won’t be backfilled, so make sure you take a look at your favorite ranters’ profiles since you might not have been notified about their most recent rants.
A big thanks to @gitpush for reporting the issue and thanks to @linuxxx for help testing/confirming the fix worked.
For the basic cause: when we overhauled/fixed push notifs on Android in the last build (about a week ago), we had to convert to FCM. When a “user posted rant” notification was getting sent out, the asynchronous worker would process all of the subscription notifs in a loop. So for users who have a lot of subscribers, somewhere in the loop, something was failing, likely having to do with the new FCM send method. This is now fixed and all push notifs in that worker are also done asynchronously.
Let me know if you have any questions and apologies for the loss of subscription notifs!14
Every week is the same. Wake up, new jira ticket. “Build us a pink house”.
*i build a house*
Next day, “URGENT BUG REPORT!!! CRITICAL ISSUE IMPORTANT IMPORTANT IMPORTANT”, click on ticket, “bug report: the house doesn’t have sprinklers”
They didn’t ask for sprinklers. This is not a bug. *i add sprinklers*
Next day, “URGENT BUG REPORT!!! CRITICAL ISSUE IMPORTANT IMPORTANT IMPORTANT ASAP ASAP ASAP”, click on ticket, “bug report: the house is pink.”
HOW IS THAT A BUG TWO DAYS AGO IT WAS LITERALLY A REQUIREMENT
Meanwhile management makes triple my salary6
With the other members of the team refusing to learn git and making changes directly to the staging server i get to write the commit messages for everyone.
UPDATE: *informative details *
UPDATE: mark made some changes
UPDATE: colin made the same changes as mark but different
UPDATE: andrew undid all colins updates to change one link and I had to add them back in, thank gawd I commit the night before
BUGFIX: andrew keeps changing the database host to localhost and uploading it without changing it back
UPDATE: we all hate andrew15
Thousands of lines of code analyzed.
Dozens of log files across 6 servers.
Countless pots of coffee.
Much power metal.
One line of code.
Yesterday I upgraded VS Code (insiders version, i.e daily/beta/etc) to the latest version and ran into a minor bug. I reported an issue in the Github repository, and 40 minutes later got a reply saying It was fixed and I can upgrade to the newest version.
Kudos on Microsoft and the VS Code team!5
Boss: you must fix this bug asap
Dev: I need more time for a proper fix so I will just hack a workaround
Boss: yeah, whatever. You can find a proper fix after the release.
... this happend several years ago and the workaround is still in place...8
Hunted a bug for 8 hours, thinking it was a problem in my code....
Found out it was someone else's code generator that injected the bug...
Contacted the concerned dev... Had to convince him for another 3 hours that it was his change to the code that caused the issue. He is still sure that his change can't break the code...... What the fuck are you..? A fucking God programmer who never makes mistakes??
I mean how hard is it to just accept when I just proved it to you??6
Find a place where management is able to handle some criticism.
I personally think Agile/Scrum is holy, and I don't mean "yeah we kind of do our own version of it", no, fucking do it by the book. The PM shouldn't assign estimates. Developers shouldn't receive bugfix requests from anyone other than the scrum master. The CTO can't be your scrum master... etc.
If a company can't answer the question "What were the points of feedback during the last retrospective(s), and how are those points being picked up?" -- Don't work there.
Many other things are optional in my opinion. I could work at a company without QA, without fruit baskets, table tennis, without Friday drinks. I could even live without git & continuous integration, just emailing patches to a patch integrator. I don't care.
But maintaining a safe bubble of serenity and sanity for devs to do their work in, that is an absolute must.
Also, option to WFH as much as wanted. Offices are nice for social bonding, but they kill productivity for me.6
Bugfix I am most proud of?
The ones where I dont just fix a bug, but refactor an old (possibly shitty) feature thanks to new knowledge, making the next person's job easier in the process :)3
When the code is so bad that the only meaningful thing to do should be executing
rm -Rf *; git add -A; git commit -m "bugfix"
and then start the project again.4
!rant but nightly thoughts about wrecking clients that won't pay
If you're building something for a client for money, think of a killswitch.
If it requires internet anyway and you have a webserver, do something similar to what the killswitch of WannaCrypt was (but rather checking for a file on the webserver for existing/non-existing). If the client won't pay, kill the application. If the client pays, maybe even deliver a version without killswitch later (as a "bugfix")
If it is some offline project, you can check for a date (payment due date?) and also check for date/time manipulation on the system itself, and disable the killswitch via a "bugfix" version later just like above.
If clients pay, they don't have trouble. Else, they do.8
Bugfix. About two years ago. Old C# codebase, MVC project... A fucking piece of it was sending money to the wrong Dynamics account, FOR TWO FUCKING YEARS.
Customer: URGENT, one sidebar is odd on that particular page on IE11
Me: *fixes the bug*
Me: New version will be available by next week
One week later
Customer: *does a negative review*
Customer: It is not working.
Me: *verify my fix is working* -> it does
Me: *verify my fix is available on his installation* -> it is
Me: Please upgrade the "Portal" module.
Customer: How do I do that ?
Me: In the list of installed modules, find "portal" and click "upgrade".
Customer: I did update the "Website" module, it is still not working.
Sex feels good and all but have you ever felt the pride of submitting a bug fix to software you use on GitHub?4
*A group of college friends, discussing what is success*
Guy1: selection in national hockey team!
Guy2: having Audi, iPhone7, trip to UK every quarter and ...
Guy3: Running an own business!
*INNER ME: Reproducing a #BUG * 😌😎1
I found a weird bug where the output wasn't what I expected to be. After a few tries to fix it, I typed in something I expected was not going to work. It worked....2
I felt pretty confident when I, yesterday, was able to solve a bug in a script written in python even though I have never directly worked with the language before. I could finally prove that I am willing to learn more than cobol.1
What.. the actual... fuuuuuck?!
Browsing through changes on TFS (yeah, yeah boo me for using TFS instead of git if you like, I don't care, most people use/prefer TFS here, so I conform 'to the standards'..)
Anyhow, going through changes, looking for the one where some comment appeared..
'a wild comment appeared'.. tadaaah!
Checked the rest of changes.. Hm.. Someone did a validity check.. that returns the 'false' if not passed.
// OK, great! They are finally testing their shit and fixing stuff..
But apparently then they decided it is OK to do all the shit anyways.. so WTF?!
Why even bother validating it?! Oh yeah, forgot... cuz in case it returned false YOU WERE NOT SUPPOSED TO LET SOME STUFF HAPPEN!! But they weren't assigned with that exact task I guess..
- do the validation algo // fml, not going into how fucked up that was written..but it was horrible!
- do validity check where appropriate/needed
- test validity check and that it doesn't break functionality
+ check if the validation actually logically works?! nope, not on my to do list, not my job..
All done, better not actually do something that requires you to think.. :\
How the fuck that happened?! How can one person be assigned to check if something is stupid/wrong?! and when checking (&confirming) still lets the customer do that shit anyways?! What's the point?! O.O13
That moment when you want to sleep and suddenly your brain says “hey buddy I know how to solve this one crazy bug you tried to solve the whole day”
03:00 fixed it
06:30 on my way to college
There. I fixed the bug. Tested every way possible 10 times and it won’t break. I’m awesome.
Tells a tester I have a phone with the new app-version installed for testing on my desk when he has time.
He just... came to my room. I gave him the phone. He looks at it, does SOMETHING and just ”Ya man, I broke it”.... whaaaat O.o2
My preferred stack is Rails/NginX/Postgres, or Node using the same.
I have a fair amount of material for this week's rant, but in my stack's defense, the quantity is primarily because I've been using it for so long, and I'm apparently a talented breaker. I may share other stories if the motivation arises.
However, today I ran into something definitely deserving of calling out.
The default datatype for a Date+Time column in Postgres is `datetime` which means "date+time without timezone". (while `datetimetz` instead stores the timezone).
Apparently when comparing a datetime with a datetimetz, Postgres doesn't compute the timezone difference correctly, leading to some very unexpected and confusing query results.
Today, I had a record that was both pending (expires_at > now) and expired (expires_at <= now), where now is a DateTime (with tz) literal from Rails. After half an hour's frustrated delving and baffled expressions at query results, I finally figured out that the database's math was incorrect when comparing UTC (+0) and PST (-7).
This during a semi-high-priority bugfix that's blocking for a coworker.
While Time and all of its nuances are honestly extremely difficult to handle correctly, I didn't expect Postgres to get this relatively simple part wrong.
Shame on you, Postgres.
I expected better.3
I think that two criterias are important:
- don't block my productivity
- author should have his userbase in mind
1) Some simple anti examples:
- Windows popping up a big fat blue screen screaming for updates. Like... Go suck some donkey balls you stupid shit that's totally irritating you arsehole.
- Graphical tools having no UI concept. E.g. Adobes PDF reader - which was minimalized in it's UI and it became just unbearable pain. When the concept is to castrate the user in it's abilities and call the concept intuitive, it's not a concept it's shit. Other examples are e.g. GEdit - which was severely massacred in Gnome 3 if I remember correctly (never touched Gnome ever again. I was really put off because their concept just alienated me)
- Having an UI concept but no consistency. Eg. looking at a lot of large web apps, especially Atlassian software.
Too many times I had e.g. a simple HTML form. In menu 1 you could use enter. In menu 2 Enter does not work. in another menu Enter works, but it doesn't submit the form it instead submits the whole page... Which can end in clusterfuck.
- Keyboard usage not possible at all.
It becomes a sad majority.... Pressing tab, not switching between form fields. Looking for keyboard shortcuts, not finding any. Yes, it's a graphical interface. But the charm of 16 bit interfaces (YES. I'm praising DOS interfaces) was that once you memorized the necessary keyboard strokes... You were faster than lightning. Ever seen e.g. a good pharmacist, receptionist or warehouse clerk... most of the software is completely based on short keyboard strokes, eg. for a receptionist at a doctor for the ICD code / pharmaceutical search et cetera.
- don't poop rainbows. I mean it.
I love colors. When they make sense. but when I use some software, e.g. netdata, I think an epilepsy warning would be fair. Too. Many. Neon. Colors. -.-
2) It should be obvious... But it's become a burden.
E.g. when asked for a release as there were some fixes... Don't point to the install from master script. Maybe you like it rolling release style - but don't enforce it please. It's hard to use SHA256 hash as a version number and shortening the hash might be a bad idea.
Don't start experiments. If it works - don't throw everything over board without good reasons. E.g. my previous example of GEdit: Turning a valuable text editor into a minimalistic unusable piece of crap and calling it a genius idea for the sake of simplicity... Nope. You murdered a successful product.
Gnome 3 felt like a complete experiment and judging from the last years of changes in the news it was an rather unsuccessful one... As they gave up quite a few of their ideas.
When doing design stuff or other big changes make it a community event or at least put a poll up on the github page. Even If it's an small user base, listen to them instead of just randomly fucking them over.
One of my favorite projects is a texteditor called Kate from KDE.
It has a ton of features, could even be seen as a small IDE. The reason I love it because one of the original authors still cares for his creation and ... It never failed me. I use Kate since over 20 years now I think... Oo
Another example is the git cli. It's simple and yet powerful. git add -i is e.g. a thing I really really really love. (memorize the keyboard shortcuts and you'll chunk up large commits faster than flash.
Curl. Yes. The (http) download tool. It's author still cares. It's another tool I use since 20 years. And it has given me a deep insight of how HTTP worked, new protocols and again. It never failed me. It is such a fucking versatile thing. TLS debugging / performance measurements / what the frigging fuck is going on here. Take curl. Find it out.
My worst enemies....
Git based clients. I just hate them. Mostly because they fill the niche of explaining things (good) but completely nuke the learning of git (very bad). You can do any git action without understanding what you do and even worse... They encourage bad workflows.
I've seen great devs completely fucking up git and crying because they had really no fucking clue what git actually does. The UI lead them on the worst and darkest path imaginable. :(
Atlassian products. On the one hand... They're not total shit. But the mass of bugs and the complete lack of interest of Atlassian towards their customers and the cloud movement.... Ouch. Just ouch.
I had to deal with a lot of completely borked up instances and could trace it back to a bug tracking entry / atlassian, 2 - 3 years old with the comment: vote for this, we'll work on a Bugfix. Go fuck yourself you pisswads.
Microsoft Office / Windows. Oh boy.
I could fill entire days of monologues.
It's bad, hmkay?
This is not bad.
This is more like kill it before it lays eggs.
The deeper I got into XEN, the more I wanted to lay in a bathtub full of acid to scrub of the feelings of shame... How could anyone call this good?!?????6
Was fixing my project for college the whole night... when I finished it was around 07:30, the sun was rising, a steaming mug of coffee in front of me and I was like “That’s why I love this shit so much”3
Don't you just love it when a customer reports a bug in their live system and it's really urgent to correct it; then you go out of your way to fix it ASAP and deploy it to the staging system for them to verify. Three weeks later the customer has still not tested the bugfix...1
I've pulled the third all-nighter in a row because of a ridiculous bug in legacy spaghetti..
I finally kicked its ass so I can now emerge from my cave, feeling like both a lifeless zombie and someone who got reanimated after half a week.
You all helped me through this tough time, love you all devRant ♥
The moment a support tells you they won't fix the bug, because it had existed for so long that it's a feature now.1
On Desktop, when i comment or rant, please focus the textfield.
The number of times I almost had to buy a new pc because it almost learned to fly. Just because when you are ranting to vent, you don't want to get even ansier because you have been typing tin air this whole time.1
The new regime our PM took on this morning with a newly hired, and still mentally sound dev.
"We will solve bugs for an hour everyday"
Some people are really getting high on this Agile shit. Probably because they learned some new bullshit bingo phrases - and it suits them: lots of vapory talk and expensive meetings and others will have to do the work anyway, while they can circlejerk on how to have shorter iterations to improve the time to market, increase the business value, inspect and adapt to faster deliver a minimal viable product - yeah, do the agile transformation, update to the digital age, you noobs. Throwing around some catchy phrases will let you compete with Google? Maybe need some blockchain or machine learning?
While you are clustering your post its, the coders who keep the ship afloat, sit in their legacy code base that's so bitrot they are mainly doing bugfix releases without a single feature for three fucking years. Consider this.5
Last Friday I banged my head on this search engine algorithm that I was working on that was not indexing properly. For 2 freaking hours I was stuck on this one bug, until I gave up.
Yesterday I went at it again. Took me 5 minutes to fix the bug and finish the changes.
The power of a rested mind...4
feature xyz doesn't work.
Spent hours trying to find the bug causing the malfunction, couldn't reproduce it on my devices.
Called to the customer to have a look on his device.
Feature xyz works as intended, the only bug: Too less patience at Layer 8.
Device just needs a little moment to establish a connection.
Patience is a virtue.
I've lost 3 hours trying to implement third-party extension just to realize I've never imported it into the project.
Proudest bug squash? Probably the time I fixed a few bugs by accident when I was just trying to clean up an ex-coworker's messy code.
So I used to work with a guy who was not a very good programmer. It's hard to explain exactly why other than to say that he never really grew out of the college mindset. He never really learned the importance of critical thinking and problem-solving. He did everything "by the book" to a point where if he ran into an issue that had no textbook solution, he would spin his wheels for weeks while constantly lying to us about his progress until one of us would finally notice and take the problem off his plate. His code was technically functional, but still very bad.
Quick Background: Our team is responsible for deploying and maintaining cloud resources in AWS and Azure. We do this with Terraform, a domain-specific language that lets us define all our infrastructure as code and automate everything.
After he left, I took on the work to modify some of the Terraform code he'd written. In the process, I discovered what I like to call "The Übervariable", a map of at least 80 items, many of them completely unrelated to each other, which were all referenced exactly once in his code and never modified. Basically it was a dynamic collection variable holding 80+ constants. Some of these constants were only used in mathematical expressions with multiple other constants from the same data structure, resulting in a new value that would also be a constant. Some of the constants were identical values that could never possibly differ, but were still stored as separate values in the map.
After I made the modification I was supposed to make, I decided I was so bothered by his shitty code that I would spend some extra time fixing and optimizing it. The end result: one week of work, 800 lines of code deleted, 30 lines added, and a massive increase in efficiency. I deleted the Übervariable and hardcoded most of the values it contained since there was no possible reason for any of them to change in the future. In the process, I accidentally fixed three bugs that had been printing ominous-sounding warnings to the console whenever the code was run.
I have a lot of stories about this guy. I should post some more of them eventually.2
PM : "Is the bug fixed?"
Me : "It's gonna take some time". (At that time, I didn't even know how to reproduce the bug)
....After 300 seconds
PM : "Is it done?"
**Day 2 of glaring at the code.😩 The bits are collapsing in front of my eyes into bytes and the glaring dark theme of sublime engraves the code into my retinas. Is it day or is it night? I can no longer tell. Having scoured every corner of the internet and applying every fix I can find the bug persists... was I ever destined to program? For the doubt eclipses my hope of ever seeing the light. I peer over the edge of the world into the abyss and the abyss... **
"Wait 🔎, shouldn't there be apostrophes' in here? MOTHERF-" 😡😠💥☠
"God, I love programming!" 😃4
I was busy on creating some enhancements when my project manager said that one will be "her" assistant beacuse we're all male on a department and few weeks more, i've met her and she's different among the girls that i've met because she was not interested on programming stuffs but she do on her college days before. Sounds funny, right? We're being nice to each other then we got closer as friends and then i got fall in love with her. But we're still friends as i never told or to confess my feelings to her as my tasks and bugfix i my priority, lol! So we ended up as best friends for 5 months.. until now (but i already confessed her but i was friendzoned). Also thanks to her for my motivations
If you're experiencing the "can't scroll up on the profile page" bug, here's the solution:
Scroll up until the bug. Put (press and hold) your finger on the "tab bar" at the top. Move your finger up a little, then down to scroll.
This is worked for me.8
A big project in my company. Had some annoying race condition that caused data to get deleted when two processes finished in the wrong order they hit the dB and override each other’s work.
Long story short. Fixed the bug and in the process the codebase shrunk by 60%. I didn’t have to delete the rest of the code, but the bug was due to a function in the legacy section of the code, and found out that it was the only function used in that section.
So I deleted it. Rewrote the function so it upserts. And bam. Smaller, cleaner code :)1
Customer: URGENT, we are not receiving any email. (that's actually a really urgent issue)
Turns out that customer had an invalid base64 embedded image in is signature which was causing our system to crash.
Made invalid images move to oblivion and told the customer the issue was solved :D4
I hear a lot of complaints that having to study math/physics/* subjects is useless, because you don't need it in 99% of the IT jobs.
But so is software engineering, isn't it?
The tiniest companies ask for doctor titles, 19 years old senior developers with 30 years experience, architects and teamleads in the job listing and when the reality hits you, you find yourself being the bugfix bimbo and red button logic designer for architectures called "big pile of shit"©®™. And it will never change!
There is no time for proper software engineering when the deadline is set to the day before yesterday. And software engineering does not yield profit immediately. A big clusterfuck of features and bugs that somehow compensate each other does.
You study all this stuff to learn how to learn. Even if "you'll never need it again"™6
When you realize that the solution for a bug in your code is putting
but then you put
if (!somecondition) by mistake and try to figure out why is the bug still there :-(1
Applied for a new job today! It's in a different city, but it's with a company I'm familiar with, doing tech I'm familiar with. They provided my current employer with managed hosting and occasional bugfix and upgrade support before we completely changed our tech stack last year.
I've been feeling sort of stuck in a hole for a while. I'm unsure about moving, but it's partly of my own making and I was unsure about starting here when all the tech was new to me. I've been here 3.5 years, my first actual dev job, and I do think I've done what I came here for.
I finally made my first production-level bugfix at my new job! 😄 After weeks of training and then being assigned a live bug, I resolved it quickly & elegantly, which helps prove my worth to the team.
Man, it's so gratifying to be making contributions that are going to affect real devices that actual people are using. It seems being a dev with a sense of purpose is nearly as important as enjoying what you do. ☺️
You come home and you realize the solution to your bug didnt solve everything. 😤😭, then you think about how many moves the bug is ahead. This is like playing chess. A keyboard and mouse game.1
Just solved a bug that was plaguing me for a week straight. Turns out I re-instantiated an Arraylist after adding all the elements to it. For no apparent reason. Face fucking palm1
That moment when you are totally concentrated with a cool new implentetation and your boss comes and occupies you the whole day with a bugfix.. -_-
So I’m working on this project I’ve been working on for like 3 weeks and I finally got this feature to work but it had a bug and I shit you not fighting this program was like playing through bloodborne for the first time again. It got to the point where I started naming the testing files swear words or stuff like “itshopeless”, “maybe”, “maybe2”, “pls”, etc but I finally after fucking hours passed, bug slaughtered. And I’m now exhausted
Typical Git work flow on a feature branch:
Commit#1 : The silly feature itself that took 10 minutes to code
Commit#2 : Added unsaved files
Commit#3 : Fix unit tests
Commit#4 : Fix
Commit#5 : Fix
Commit#6 : Fix
Commit#7 : Various Fix
Commit#8 : Added unsaved files
Commit#9 : Merge
Commit#10 : Fixed unit tests
Commit#11 : Code Review tasks
Commit#12 : Revert- Code Review tasks
Commit#13: Refactor part 1
Commit#14: Refactor part 2
Commit#15: Deleted unit tests
Commit#16: Added checking for null
Commit#17: Completely different feature's bugfix
Commit#18: Code review spacing corrections
Trying to merge, then merge conflicts.....2
Why everyone in management wants to know how i solve the bug if you do not even know what is Bootstrap. All that matter is fucking bug is resolved PERIOD
Time for relaxed bed time after fixing that m'fucking bug i've been looking for the ladt 3 hours. Best feeling.2
I cant keep this inside anymore I have to rant!
I have a colleague that is an horrendous loose bug-cannon. Every peer-review is like a fight for the products life.
Now I understand - everyone makes bugs me included and it is a huge relief when someone finds them during peer-review. But these aren't the simple kind of bugs. The ones easily made when writing large pieces of code quickly. Typing = instead of == or a misshandling of a terminating character causing weird behaviour. These kinds of bugs rarely pass by a peer-review or are quickly found when a bug report is recieved from testers.
No the bugs my colleague makes are the bugs that completly destroy the logic flow of a whole module. The things that worst case cause crashes. Or are complete disasters trying to figure out what causes them if they are discovered first when the product reaches production!
Ironically he is amazing a peer reviewing other peoples code.
But do you know what the worst thing of all is! Most of the bugs he causes are because he has to "tidy up" and "refactor" every piece of code he touches. The actual bugfix might be a one liner but in the same commit he can still manage to conjure up 3 new bugs. He's like a bug wizard!
*frustrated Aruughhhh noises*9
Every Morning I wake up with a subtle headache. It’s not as bad as with a hangover but still like a dehydration headache. I drink like 3 - 4 Liters of Water per day though so it can’t be that.
Any ideas on how to fix this? It makes getting up just even harder than it already is..27
Sitting 3h in a bullshit claiming and blaming meeting called 'refinement' as 'the tech expert' while PO and customers fight how stories and bugs should be priorized and importantly enough they discussed why the god damn bugfix isn't alive yet that was promised to be deployed this morning.. I was up to deploy it right the time they said I really have to go to that meeting... Yeah.. Business as usual
I just fixed a bug I've been trying to fix for over 10 hours. "Email not sending in laravel notifications but sending with Mail::send". How did I fix it?
Changed "email_address" to "email" because that's what the framework was expecting.
How do I explain this to my client? 😂😂3
Status: Fixed two NullpointerExceptions in one commit as a bugfix, with only one cup of coffee and all that on a friday.
That SATISFACTION u get after finally fixing a bug which has been irritating the shit outta u for 2 fucking hours!! Just had to figure out a correct timeline for my stupid android chain animations so that the views do not screw up each other's animations!
Today is one of those magnificent days for my code. One of those days where I stumble up on the weirdest bugs and pull a fix out of my hat barely looking at any doc. One of those days where I find out there is a very tricky flaw in our project design and yet I end up finding an elegant solution to circumvent future problems. One of those days where I find the informations I want even though the documentation is the worst I've ever seen.
I love that productive feeling.
Spent the last 3 days on a jQuery scrolling bug that has been in the product for 3 years. It was a 5 line fix.
The other day was reading someone else's shitty code which had taken an object into a set without implementing the hashcode and the equals, cursed the developer and fixed that and informed the QA about their lackadaisical attitude. Later on that fix broke some other functionality on live and now the QA team gives me the stares. Feeling like birdman...
Just spent two days on a isotope filtering bug with HubSpot. Finally got it working.
10 points to me 😂
is there any site to upload our code and rate it from easy to hard and let other people review that code and suggest bugfix or learn similar to github but for all kind of people from beginners to professionals?4
People who use automatic code beautifiers and standards fixing scripts. 😠
Agreeing on a coding style with your team is important. But I really don't feel like reviewing the new guy's PRs if it's a thousand style adjustments and a tiny bugfix.
If you disagree with the current style, communicate about it so everyone can discuss and adopt new rules, and fucking fix the whole codebase in a separate PR.1
Man, I enjoy the work I do and my boss is a great guy, but being rushed is never fun. And it's hard to say "it'll be done soon" if there's still some major features missing and the implementation is still unclear.
Can't a junior just take his time to make some decent code that won't end as spaghetti? I have enough PTSD of the first project I did here, which I still have to bugfix at least once a month 😂
launched major version today which has been in development nearly 2 years. daily bugfix builds for the next month or so until it's stable as we slowly rollout one cluster at a time. going to be my first time on production bugfix duty. man it feels cool to be a full time software engineer.
The first company I worked for had a policy to not ship any release, service pack or hot fix as long as there were still open bugs with the severity "critical" or "blocker". They wanted to ship a service pack nonetheless, but without violating the rule and thus keeping their KPI unharmed. So the support guys got in touch with developers and asked them to lower the severity of certain "critical" bugs. They said we by all means need to write into the comments that the severity of those bugs has to be reset after the service pack was shipped, so that those important bugs would not be left behind.
- Support team violates the rules set up by themselves.
- Developers had the actual work of doing so (and the blame to catch).
- The Support team's KPI just remained unharmed.1
When was the last time you fix a difficult bug and you make a crazy lunar laugh that makes you lost control of your saliva?
~ I can tell, you code fiercely.2
SOAP in PHP is hell of a shit. I thought of generating code for an easier php client. Oh boy there is a SoapClient::getFunctions, a SoapClient::getTypes and a classmap option. Maybe one can script a little bit to generate class files.
After some fiddling I noticed fields missing in the classes that are present in the response. The missing fields are always defined in a parent class definition.
Google gave me this:
What the fuck? Please? So simple to fix and 10 years later. TEN YEARS!!! Nothing.3
Some idiot fixing bugs in production and overwriting files without updating his git repo when I pushed another bugfix live.
Boss to me: "it's your job to get the fix live!"
I FUCKING HATE MONDAYS!
screw performance i'm gonna run gulp.watch in production and just git reset it to last release when someone fiddles with files on the server :(
Only when the latest feature is implemented, the last bugfix and the last workaround are found, the last unit test is written, the latest CI/CD pipeline done, the customer guy does manual testing and acceptance tests on the staging server and let's them pass and a few days later it's pushed to production...
You will be reminded (again) that shitty customers do exist! A customer is the least capable person to tell you what the customer actually wants and is also the least trustworthy person to test the features he requested...
Holy fuck come on! Just test that shit on the staging Server! One Look could have already shown you that that's Not what you expected!
I checked the logs after that and yup you guessed correctly... The said endpoints weren't even used on staging, only on production...1
Sometimes I wonder if actors who play wizards or superbeings feel stupid waving their hands for CG lightning bolts
Then I remember all the kung fu poses and punches and shrieks I do when I solve a hard bug
Mine is commenting out a console.log("Finished doing something);
(Yup. Just the string. And the log function was original. No fuckin idea why that fixed it)6
When I wrote a templating engine (great overstatement) just for myself to learn, I had this bug in php5 and regex that would crash the whole apache server.
Literally nothing worked and I didn't know why. After rebuilding everything I tried with regex using only simple string manipulation all of a sudden everything worked fine.
Apple you wanna kidding me?!?
This should be just a bugfix version...
Module compiled with Swift 5.1 cannot be imported by the Swift 5.1.33
This morning I found out that the code I wrote to convert json data to a new format in our DB was giving errors and a bunch of questions got saved with the wrong property. It was assumed when it was triaged with my boss that we would only see one key property so the code written by me so the code was aimed at that. Well some questions have multiple keys for no reason. They are mostly floating data that hasn't been wiped clean because the develop who wrote this use json data in psql with no validation or data cleaning. This edge case was also never caught on PR reviews and we got a pretty heavy review process. I'm not being blamed for it. Most of it I think all the devs feel bad we didn't catch this because it affected us greatly. I've been working all morning trying to resolve it with my boss and just now in the evening we stopped. I just feel like I'm not a good dev at all and just want advice on how to deal with situations like this. I'm a new dev and this is my first job I have held for almost a year2
Just wrote a small program for university to calculate the intersection of three lines (they should meet in one point). Well sometimes I had a issue so I just calculated all three points and took the points which are the same.
If it's stupid and works it ain't stupid2
Hey, been long time without ranting, but here I am.
So nowadays the schedule on my project is really tight, and nothing is ready on every party, including mine.
Worse is, since this week, I've had to contact another team that learned on what we were working on like a month ago, and they really have a bad habit to ask us to see them on Skype. Yeah, sure, Skype is no use if it's just to tell me something to use that actually won't work (they don't know about that I guess, but still, just for less than 5 minutes while I have things on short time....)
So today, I arrived, I have a bugfix to do, but short after I arrived, I got a new task of providing access to our work to another team, which implied some minors modifications, wouldn't take so much time.
But right when I was doing it, I had someone from that team that I mentionned earlier that asked me to see some specific code. I actually don't have that code since I am using remote call, so calling their code directly and not using some placeholder code. The guy told me "but that shouldn't work." Okay, but I've been entering in your application several times and giving you errors that I got from trying to entering it, so you KNOW that it works. And then, he asked me to go see them again. No way, I have plenties of things to do, use a fucking email.
Now that I released that rant from my mind, I'm gonna get a hot beverage, calm down and go back to those tasks.
Running tests on Codeception. Upgraded 2.4.0 to 2.4.1 and 40 out of 280 tests fail. Apparently Yii2 module has been "refactored". Fine, upgrade to 2.4.2 that fixes the issues reported in 2.4.1 - another set of tests fail for different reasons. Digging deeper. Turns out the "refactoring" includes a very opinionated change of behaviour when components have some internal state. But if it's acceptable to pass testing framework module rewrite in a minor bugfix release - then fuck Codeception in general.
I had written a feature that stored some data for all methods in a code base. And it worked in 99.9% of all cases, but for some projects, somehow there were errors in the logs that I couldn't understand.
After hours of debugging, it turned out that I inserted the method objects into a map, and the (existing) base class for these objects used the character offsets for the method's start & end in the hashCode() implementation. This meant that in the (extremely rare) case of two methods in two files with the exact same start and end offsets, inserting them into a map would overwrite the previous value.
Once uncovered, this bug was trivial to fix ;)
Welp, after 8 months of active feature development we've reached RC1! .. it's a welcome reprieve to do some bugfix/improvement work!
Weirdest dream i had about code, i was just coding all my social interactions; i'd have some kind of overlay over my vision and i'd have to type in my every move and sentence while going on about my day in a very gray and sluggish world as if i was just a programmer stuck inside my body, working with myself the way i work with a server.
Another time i actually found a bugfix in my sleep. I had wasted 8 hours on a dumb bug that day without managing to find a solution and when i woke up, all the code was in my head and it worked on the first try!
yeah sure, having all 5 devs only ever working directly on the production branch and not being allowed to save anything post-release unless it's an urgent bugfix sounds like a great idea
When I was working on the bug list and our testers kept repeatedly assigning me new bugs and "do-overs" I don't think I've ever been so angry