Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "hours of debugging"
-
Me, flirting with a cute girl from the finance dept. in the kitchen:
"Well, back to the grind. I've got this really nasty bug to figure out."
Her: "It's a bracket."
Me: "Hahaha."
2 hours of debugging later… it was a missing bracket in a json string. 😓11 -
I was newly hired to company. A customer came in yelling saying "there's a bug, this should do this but it's doing that..."
PM came to me and told me to "urgently fix this as this is an important customer".
So I started debugging for hours and asking around and all follow devs agreed that this is a bug. Then I found it!! And it was clear that it was not doing what the customer wanted.
I decided to look through this code history and found out that this part of the code wasn't changed for a year but the code commited before it did actually what the customer was expecting (whaaaa....)
Gathered the devs and the PM showing them what I found. They all looked at each other and then one said "ouuhhh right...yes it was doing this but we changed it to that..."
Turns out it's a feature not a bug, and everyone forgot about it.
FML8 -
Today, after two hours of debugging, my girlfriend called me to break up.
Then my backend started giving strange errors about some unmet dependencies.10 -
My first job: The Mystery of The Powered-Down Server
I paid my way through college by working every-other-semester in the Cooperative-Education Program my school provided. My first job was with a small company (now defunct) which made some of the very first optical-storage robotic storage systems. I honestly forgot what I was "officially" hired for at first, but I quickly moved up into the kernel device-driver team and was quite happy there.
It was primarily a Solaris shop, with a smattering of IBM AIX RS/6000. It was one of these ill-fated RS/6000 machines which (by no fault of its own) plays a major role in this story.
One day, I came to work to find my team-leader in quite a tizzy -- cursing and ranting about our VAR selling us bad equipment; about how IBM just doesn't make good hardware like they did in the good old days; about how back when _he_ was in charge of buying equipment this wouldn't happen, and on and on and on.
Our primary AIX dev server was powered off when he arrived. He booted it up, checked logs and was running self-diagnostics, but absolutely nothing so far indicated why the machine had shut down. We blew a couple of hours trying to figure out what happened, to no avail. Eventually, with other deadlines looming, we just chalked it up be something we'll look into more later.
Several days went by, with the usual day-to-day comings and goings; no surprises.
Then, next week, it happened again.
My team-leader was LIVID. The same server was hard-down again when he came in; no explanation. He opened a ticket with IBM and put in a call to our VAR rep, demanding answers -- how could they sell us bad equipment -- why isn't there any indication of what's failing -- someone must come out here and fix this NOW, and on and on and on.
(As a quick aside, in case it's not clearly coming through between-the-lines, our team leader was always a little bit "over to top" for me. He was the kind of person who "got things done," and as long as you stayed on his good side, you could just watch the fireworks most days - but it became pretty exhausting sometimes).
Back our story -
An IBM CE comes out and does a full on-site hardware diagnostic -- tears the whole server down, runs through everything one part a time. Absolutely. Nothing. Wrong.
I recall, at some point of all this, making the comment "It's almost like someone just pulls the plug on it -- like the power just, poof, goes away."
My team-leader demands the CE replace the power supply, even though it appeared to be operating normally. He does, at our cost, of course.
Another weeks goes by and all is forgotten in the swamp of work we have to do.
Until one day, the next week... Yes, you guessed it... It happens again. The server is down. Heads are exploding (will at least one head we all know by now). With all the screaming going on, the entire office staff should have comped some Advil.
My team-leader demands the facilities team do a full diagnostic on the UPS system and assure we aren't getting drop-outs on the power system. They do the diagnostic. They also review the logs for the power/load distribution to the entire lab and office spaces. Nothing is amiss.
This would also be a good time draw the picture of where this server is -- this particular server is not in the actual server room, it's out in the office area. That's on purpose, since it is connected to a demo robotics cabinet we use for testing and POC work. And customer demos. This will date me, but these were the days when robotic storage was new and VERY exciting to watch...
So, this is basically a couple of big boxes out on the office floor, with power cables running into a special power-drop near the middle of the room. That information might seem superfluous now, but will come into play shortly in our story.
So, we still have no answer to what's causing the server problems, but we all have work to do, so we keep plugging away, hoping for the best.
The team leader is insisting the VAR swap in a new server.
One night, we (the device-driver team) are working late, burning the midnight oil, right there in the office, and we bear witness to something I will never forget.
The cleaning staff came in.
Anxious for a brief distraction from our marathon of debugging, we stopped to watch them set up and start cleaning the office for a bit.
Then, friends, I Am Not Making This Up(tm)... I watched one of the cleaning staff walk right over to that beautiful RS/6000 dev server, dwarfed in shadow beside that huge robotic disc enclosure... and yank the server power cable right out of the dedicated power drop. And plug in their vacuum cleaner. And vacuum the floor.
We each looked at one-another, slowly, in bewilderment... and then went home, after a brief discussion on the way out the door.
You see, our team-leader wasn't with us that night; so before we left, we all agreed to come in late the next day. Very late indeed.9 -
"Ok, the site looks fine. Now let's move the style tag into it's own file."
*makes css file*
"WHY DOES IT HARDLY EVER LOAD!?!?, I checked the syntax trice"
*Spends 20 min. Asking friends for help, but none of them knows a reason*
"Time to ask the teacher, I guess"
*Teacher comes over, but has no clue either*
Teacher: "Give me the files, let's test it on my laptop"
*Css doesn't load there either*
*Teachers pair programming and trying some serious debugging technics. No progress*
*I decided to look at the sourcecode while refreshing the site*
1. Refresh: Css is loaded properly
2. Refresh: Css is gone, and source turned into various asian symbols.
Looks at the (default) file encoding: UCS-2
WTF NOTEPAD++, I SPEND 2 HOURS OF MY LIFE BECAUSE YOU DECIDED THIS WAS A PROPER ENCODING!
Web programming seems fun.12 -
Just found out the backend developer I’m always complaining about. The one who:
- Can’t implement OAuth, and we have to have app users login every 24 hours because we have no way to generate new refresh tokens.
- Who used the phrase “your time zone is not my concern” to avoid building something that would let us inject test data.
- Who’s been debugging a critical bug affecting many users since December.
- Who can’t conduct API tests from external internet (you know, like the way the app will be in the wild) because it takes too much time.
- Who replies to Jira tickets only on a blue moon.
- Who has been 90% of the reason for my blood pressure situation
... is a fucking principal engineer in this company. In pecking order, his opinion should be considered more valuable than mine and everyone on my team.
I’ve just lost the will to live. How are big organizations THIS bad. Seriously, what promotion discussion did he go into
“So, you are a complete and utter bastard, nobody can stand to speak to you and you’ve yet to deliver anything of worth that actually works, over the course of several years ... ... ... interested in having your pay doubled??”20 -
After 2 hours of wiring/debugging/rewiring, I have my EEPROM programmer halfway done. Currently is only able to read locations in memory. Next step: make it programmable.
(For those of you who dont know, EEPROM stands for Electrically Erasable, Programmable Read-Only Memory29 -
sudo apt-get random-tool
Traceback (most recent call last):
Aborting because there's a fork in the spoon compartment on line 43 in main
Error this script only works on Python 2.7 and maybe 4.1 on line 59 in main
Missing symbols when trying to decipher Sumerian recipe for steamed vegetables on line 67 in main
Cannot open shared object: Your OS is a bully and is hiding my files on line 98 in main
Are you sure all directories matching ^(/)?([^/\0]+(/)?)+$ are in your $PATH on line 268 in main
Your computer is kind of vibrating in an annoying way on line 332 in main
Failing because I'm feeling insecure please hold me on line 587 in main
I'm feeling confused about my sentience when running TensorFlow models on line 682 in main
FUCK
HAS ANYONE EVER MANAGED TO JUST FUCKING INSTALL A PYTHON BASED APPLICATION WITHOUT DEBUGGING RANDOM COMPUTER STATE SHIT AND DEPENDENCIES FOR THREE HOURS?16 -
Motherfucker.
After about six hours of debugging I finally figured out that the error I'm getting is happening CLIENT SIDE AND NOT FUCKING SERVER SIDE. Yes, I've been debugging everything on the SERVER SIDE.
MOTHERFUCKING FUCK.FML.9 -
Yesterday was Friday the 13th, so here is a list of my worst dev nightmares without order of significance:
1) Dealing with multithreaded code, especially on Android
2) Javascript callback hell
3) Dependency hell, especially in Python
4) Segfaults
5) Memory Leaks
6) git conflicts
7) Crazy regexes and string manipulations
8) css. Fuck css.
9) not knowing jack shit about something but expected by others to
produce a result with it.
10) 3+ hours of debugging with no success
Post yours27 -
WRITE IN C ('LET IT BE')
When I find my code in tons of trouble,
Friends and colleagues come to me,
Speaking words of wisdom:
"Write in C."
As the deadline fast approaches,
And bugs are all that I can see,
Somewhere, someone whispers:
"Write in C."
Write in C, Write in C,
Write in C, oh, Write in C.
LOGO's dead and buried,
Write in C.
I used to write a lot of FORTRAN,
For science it worked flawlessly.
Try using it for graphics!
Write in C.
If you've just spent nearly 30 hours,
Debugging some assembly,
Soon you will be glad to
Write in C.
Write in C, Write in C,
Write in C, yeah, Write in C.
BASIC's not the answer.
Write in C.
Write in C, Write in C
Write in C, oh, Write in C.
Pascal won't quite cut it.
Write in C.6 -
That awesome feeling of closing all the tabs after debugging a server for 32 hours with no sleep.
By now i've seen ~40 of the 220 blue screen codes that windows has available...
Gotta catch em all!2 -
It would be really FUCKING great if NodeJS or mysql could give me a FUCKING shout or ERROR MESSAGE when one of the parameters I'm giving is not the RIGHT FUCKING DATA TYPE INSTEAD OF THROWING A RANDOM ERROR THAT DOESN'T INDICATE A WRONG MOTHERFUCKING DATA TYPE. Five FUCKING hours of debugging later.16
-
After heck a lot of hours of debugging my Java code which looked all right, found out my mistake was just using == instead of equals()5
-
It goes like this.
I have one final task to solve before starting in a new job at a different company. This guy, which is also a board member in the company in which I'm currently hired, is also an IT consultant and project manager in a fairly large company. This said person is also a key person for me being able to solve this last issue. I send him a complete guide on what he has to do before I can move on and wrap it all up.
First conflict arises because he doesn't follow the guide and tells me something is not working. I kindly inform him why and the response I get is very personal and not kind in any way, telling me and my boss that I am bad at my job and that he will bill us for 1000 USD for the 5 hours he used "debugging" and testing. This should have taken him 30 minutes and I have no idea what he spent those 5 hours doing.
It comes down to that my boss sides with this asshole and tells me that I have to do the task all over and test the system for the 4th time (yes I tested it 3 times beforehand to make sure nothing could go wrong) What my boss and the asshole doesn't know is that my uncle is vice president in the firm the asshole is working for. After kindly reminding this asshat that he has to follow the guide and that I can confirm everything is working, he keeps on attacking me. It's very rare that I fuck up and I have consulted 2 colleagues and got them to test it as well. They found no issues at all. The asshole ignored my request of documentation that something was not working.
I'm so full of being treated as an idiot so I send my uncle the email correspondence with the asshole to confirm that this is not how any of their employees should behave independant of my ability to do my job.
He will speak with this fucker tomorrow at work as first thing in the morning. I'm not proud of the way I went about this, but that was like the last drop, if you know what I mean.
Sorry for the long rant.20 -
The worst part of debugging my code isn't the hours of wasted time, it's the fact I know I wrote my own damn bug!2
-
That awkward moment, when you after several hours of debugging finds the error, types git blame and your own name comes up.3
-
after hours of debugging your program without any luck...
wife(never programmed a day in her life): what's up?
me: I can't figure out why this program won't work
wife: oh! you're probably missing a semi-colon somewhere9 -
> make a change
> PR gets rejected
> IHATEFORALIVING! YOUR CHANGE IS NOT WORKING! EVERYTHING BREAKS!
> 3 hours long debugging session
> We find out a whole bunch of bugs
> Suddenly, everything works
> None of the bugs had ANYTHING to do with my change. In the instances where the app broke, my code wasn't even being called at all.
> My change was literally the one and only working thing
I wish life was like in The Office, when you just stop what you're doing and you drop the Jim stare at some camera3 -
(Written March 13th at 2am.)
This morning (yesterday), my computer decided not to boot again: it halts on "cannot find firmware rtl-whatever" every time. (it has booted just fine several times since removing the firmware.) I've had quite the ordeal today trying to fix it, and every freaking step along the way has thrown errors and/or required workarounds and a lot of research.
Let's make a list of everything that went wrong!
1) Live CD: 2yo had been playing with it, and lost it. Not easy to find, and super smudgy.
2) Unencrypt volume: Dolphin reports errors when decrypting the volume. Research reveals the Live CD doesn't incude the cryptsetup packages. First attempts at installing them mysteriously fail.
3) Break for Lunch: automatic powersaving features turned off the displays, and also killed my session.
4) Live CD redux: 25min phonecall from work! yay, more things added to my six-month backlog.
5) Mount encrypted volume: Dolphin doesn't know how, and neither do I. Research ensues. Missing LVM2 package; lvmetad connection failure ad nauseam; had to look up commands to unlock, clone, open, and mount encrypted Luks volume, and how to perform these actions on Debian instead of Ubuntu/Kali. This group of steps took four hours.
6) Chroot into mounted volume group: No DNS! Research reveals how to share the host's resolv with the chroot.
7) `# apt install firmware-realtek`: /boot/initrd.img does not exist. Cannot update.
8) Find and mount /boot, then reinstall firmware: Apt cannot write to its log (minor), listed three install warnings, and initially refused to write to /boot/initrd.img-[...]
9) Reboot!: Volume group not found. Cannot process volume group. Dropping to a shell! oh no..
(Not listed: much research, many repeated attempts with various changes.)
At this point it's been 9 hours. I'm exhausted and frustrated and running out of ideas, so I ask @perfectasshole for help.
He walks me through some debugging steps (most of which i've already done), and we both get frustrated because everything looks correct but isn't working.
10) Thirteenth coming of the Live CD: `update-initramfs -u` within chroot throws warnings about /etc/crypttab and fsck, but everything looks fine with both. Still won't boot. Editing grub config manually to use the new volume group name likewise produces no boots. Nothing is making sense.
11) Rename volume group: doubles -'s for whatever reason; Rebooting gives the same dreaded "dropping to a shell" result.
A huge thank-you to @perfectasshole for spending three hours fighting with this issue with me! I finally fixed it about half an hour after he went to bed.
After renaming the volume group to what it was originally, one of the three recovery modes managed to actually boot and load the volume. From there I was able to run `update-initramfs -u` from the system proper (which completed without issue) and was able to boot normally thereafter.
I've run updates and rebooted twice now.
After twelve+ hours... yay, I have my Debian back!
oof.rant nightmare luks i'm friends with grub and chroot now realtek realshit at least my computer works again :< initrd boot failure9 -
Now I remember why I don't work from home.
It's 3pm and I've managed about an hour's work today -- most of which was debugging something really dumb. Lunch took me 2 freaking hours because I had help from a noisy smoke detector (EEEERH! EEEERH! EEEERH! EEEERH! ad nauseam), and everything kept going wrong. Girlfriend went to the store to pick up groceries; they were order-online groceries from a store 6 minutes away, so idk why it's taken over an hour. Now the smoke detector is pretending to "go to work" by watching youtube, and when that gets boring, he fights with his baby brother and steals his toys.
Children are fun and all, but they require 98% of your attention. and fuck, nobody else in this house makes any money, why the hell am I stuck watching them? While working!?
asdfakshaslkgjasdg
Update: now the smoke detector is taking the computer apart with a random electric screwdriver i haven't seen in years, and the baby suddenly has no pants.9 -
Using Eclipse for java programming.
My program doesn't work... No errors, no warnings, the logic seems good.
A couple of hours of debugging later still nothing.
I close it and open it again, it works, thanks Eclipse.5 -
Sometimes the best solution is the simplest
But sometimes it takes 20 hours of debugging to figure that out
😧1 -
"Mature codebase"
"Our entire team are senior devs"
"Almost everyone that worked on the project is still here and available, so nothing's lost! We can ask whatever we need to."
You would think this would mean the code was clean and easy to read, and you could ask the person who wrote it for help. But. no. It's kinda the opposite.
Here's an example:
I'm trying to write a mailer, and I have no freaking clue how to get it working. I talked with two of the more senior devs, and both assured me it was very straightforward, and then walked me through the quite complicated mailer structure and got lost. The first pretended not to, but glazed over a few holes in his tour, and said I could figure the rest out. The second one ended up admitting that he's totally unfamiliar with it -- his last commit on a mailer was from about 8 years ago -- and doesn't know how to get it working anymore.
So, I'm on my own.
I wrote a super basic mailer for debugging (no idea if/how it actually sends a mail, but I think I can construct one?). But whenever I call the mailer, it gets run twice? Somehow? Apparently I need to start a bunch of daemons to get that part of the system to work. Which is cool because they don't work fresh out of the repo. Got some further help, and now my ostensibly working code throws errors for an undefined var that i'm not even using, and to make it easier: without a backtrace. joy! There's so much inheritence and extending and including going on that it's going to take me hours to track this down. ugh.
I'm keeping my paystub in front of me for some desparately needed motivation.13 -
Some back info that you need to know for this rant:
1) I am a Canadain, so I spell 'color' like: colour.
2) Americans spell 'colour' like color.
Today I was debugging a Python file that I and my team of Americans and Canadians were working on. I ran the code and got an error that one of our variables was named incorrectly. I searched the code up and down for 3+ hours looking for the issue. After taking my lunch break I came back and read the file again. Then I realized it: I had started working on one part spelling color like colour, and then an American finished the project, spelling colour like color, so there were two different variables. This really pissed me off because we could have fixed it by deciding on a language before we started the project. I fixed it quickly and now we have a new rule at the office: always use American English when naming variables.
Moral of the story: decide which language to use for variables when working on a multi-national team.10 -
I’ve pretty bad ADHD (diagnosed) my entire adult life, so focus has been a huge struggle for me forever. Here’s my strategy:
- Noise-canceling headphones blasting chiptunes (Spotify has some, but YouTube has the best selection of old-school video game music) I’m usually way less distracted if I listen to music without lyrics.
- A chair cushion (I actually use one of those ridiculous donut ones, but I put a normal sized pillowcase on it. SO comfortable, even after many hours.)
- THE POMODORO METHOD. 25 minutes hardcore coding/debugging, followed by 5 minute intervals for breaks, like checking fb, etc. (Breaks are totally optional if you’re in the zone tho 💪) It’s a great way to reward your brain for focusing.
- And if all else fails, the looming threat of unemployment is always there to keep you motivated 🙃 (Sad but true— always crosses my mind when I’m starting to fall behind on a task)2 -
Good morning everyone (atleast for my Time Zone), god bless you all !
been following my morning silly brain for 3 hours to write an 8086 assembler CPU and RAM emulator. after 1 hour of debugging, time to polish it and refactoring.7 -
So yesterday I deployed a build on our release environment and i had added a new rest api end-point which I needed to test.. A heads up though, its written in java spring and the entire flow consisted of too many calls/returns from various other java & python services.. Also to make things worse, the entire deployment is a really cumbersome process as you need to copy the build from one box to another..
After like almost 4-5 hours of debugging, adding logs left right & center, crazy upload speeds (yaa this is sarcastic) and frustation at its peak, I found the issue..
There was an if condition that was checking for equality between an enum constant & an enum in a request aaaannnnnddd
*Drum roll
THE CONSTANT ENUM BELONGED TO THE WRONG PACKAGE HENCE ALWAYS EVALUATING TO FALSE... ALSO, BOTH THE ENUMS IN THE DIFFERENT PACKAGES ARE IDENTICAL... FUCCKKKKKKK MY LIFE
😑🔫rant i am done with life why you do this java someone kill me now no tags nope i am not time to die i am dead1 -
Yesterday I stayed at home sick. Had a bad case of the EXPLOSIVE DIARRHEA FROM HELL. Was feeling ok but could not walk away from me throne.
Went in today cuz the lead was not gonna be there and shit always breaks on Freyja's day as we all know.
1 and a half hours before we clock out and go home someone calls saying that students are trying to drop from classes at the last minute and our app ain't doing it.
I "fixed" the app last week and ran a small login test. It work so I thought it was fine. Stupid me for making unprofessional and retarded assumptions.
Manager freaks out. The entire school freaks out. Coworker lols cuz he ain't got to work on it. I start mind debugging the entire bitcheridoo.
45 minutes later...and I was able to successfully go through almost 15k lines of code of php/html/js code and fucking FIXED it with tests and all for real.
Went at it hard. Babe ass manager was like 0.0 and then (͡° ͜ʖ ͡°)
Called head office and told them everything was undr control.
Dropped the phone like a mic. Mic drop.
Then I looked at manager and coworker and said "ya I fucked up, but I am still the king"
Both nodded in agreement.
Everyone got wet with my sheer awesome troubleshooting php master skills.
Got home thinking about how boss I am.
Fucking Texas af b. Can't touch this heat. The rangers still suck and so do the cowboys. The astros and the texans don't exist because there is only room for one. Go spurs.
Still have diarrhea.
Fuck yeah.8 -
!rant
Our lead dev in the company seems to be a smart guy who's sensitive about code quality and best practices. The current project I'm working on (I'm an intern) has really bad code quality but it's too big an application with a very important client so there's no scope of completely changing it. Today, he asked me to optimize some parts of the code and I happily sat down to do it. After a few hours of searching, profiling and debugging, I asked him about a particular recurring database query that seemed to be uneccesarilly strewn across the code.
Me: "I think it's copy pasted code from somewhere else. It's not very well done".
Lead Dev: "Yeah, the code may not the be really beautiful. It was done hurriedly by this certain inexperienced intern we had a few years back".
Me: "Oh, haha. That's bad".
Lead Dev: "Yeah, you know him. Have you heard of this guy called *mentions his own name with a grin*?"
Me: ...
Lead Dev: "Yeah, I didn't know much then. The code's bad. Optimize it however you like. Just test it properly"
Me: respect++;2 -
Me: Right, its Monday, time for a fresh start. Things have been unbearable, but i've nowhere else to go just yet. I gotta just dig deep, ignore everything bad and just get it done, It's all about positivity right? Lets just ignore the little things and keep moving.
*My morning so far, 2 hours in*
Remote dev: (timezone 5 hours earlier than me) Hey so whats the plan for this quarter?
Me: ... I posted a big detailed plan in the group chat on Friday night so you wouldn't be delayed ... but anyway, lets just move on. I need you to work on A, B and C. A is just copying what Android has already done, for B one of the backend guys working next to you is doing this, he'll be able to help you. C is all documented in the ticket.
Remote dev: cool thanks.
Local dev: So I was just chatting with remote dev ... yeah he told me he has no idea what he's suppose to do.
Me: ..... Ok i'll book a video call with him in the morning. Can't do it right now.
==========
Remote dev: Hey i'm helping the BE team do some testing. I found a bug in Android. Homepage says theres no trips. But Offers screen says there is.
Me: Ok so just to confirm, The "available" offers screen has offers to accept, but the white notification on the homepage saying "You have X offers to accept" is not showing up?
Remote dev: Correct!
*debugging for 5 mins*
Remote dev: actually no, the "accepted" offers tab has offers, but the homepage says there are no upcoming offers to work on.
Me: ..... ok, thats very different ... but sure, let me have a look.
Me: Right so the BE are ... again ... sending down expired offers. Looks like the accepted tab isn't catching it and the homepage is.
Remote dev: Right i'll open a ticket for Android.
Me: ... and BE team.
Remote dev: why?
Me: ... because they once again have timezone issues. This keeps causing issues in random places. BE need to fix this everywhere.
Remote dev: right, i'll chat to them and see if they can fix it.
==========
Product: So this ticket xxxxx is clear right?
Me: eh, kind of, so you want us to add feature X to user type A?
Product: correct.
Me: right but I don't see anywhere talking about the time it will take to build the screen for feature X
Product: What do you mean the screen?
Me: ... well, feature X is only accessible on screen Y ... we would have to change screen Y to support user type A ... you know ... so they can ... use the feature
Product: .... hhhhmmm .... i suppose you are right. Well we can't just add screen Y, we'll have to add W and Z, it won't make sense without them.
Me: ... ok sure, but our estimates put us over for this quarter. I don't think we can just add in 3 screens.
Product: No this is a must have.
Me: Ok so we'll have to drop something else.
Product: hhhmmm, don't think we can ... let me get back to you.
==========
Backend team invited me to a meeting at 6am my time on Friday.
==========
... 2 hours into Monday ... there must be vodka around here somewhere -
I was on vacation when my employer’s new fiscal year started. My manager let me take vacation because it’s not like anything critical was going to happen. Well, joke was on us because we didn’t foresee the stupidity of others…
I had to update a few product codes in the website’s web config and deploy those changes. I was only going to be logged in for 30 minutes to complete that.
I get messaged by one of our database admins. He was doing testing and was unable to complete a payment on the website. That was strange. There was a change pushed by our offsite dev agency, but that was all frontend changes (just updating text) and wouldn’t affect payments.
We don’t want to enlist the dev agency for debugging work, especially when it’s not likely that it’s a code issue. But I was on vacation and I couldn’t stay online past the time I had budgeted for. So my employer enlists the dev agency for help. It’s going to be costly because the agency is in Lithuania, it was past their business hours, and it was emergency support.
Dev agency looks at error logs. There are Apple Pay errors, but that doesn’t explain why non Apple Pay transactions aren’t going through. They roll back my deployment and theirs, but no change. They tell my employer to contact our payment processor.
My manager and the Product Manager contact Payroll, who is the stakeholder for our payment gateways. Payroll contacts our payment gateway and finds out a service called Decision Manager was recently configured for our account. Decision Manager was declining all payments. Payroll was not the person who had Decision Manager installed and our account using this service was news to her.
Payroll works with our payment processor to get payments working again. The damage is pretty severe. Online payments were down for at least 12 hours. Our call center had logged reports from customers the night before.
At our post mortem, we had to find out who ok’d Decision Manager without telling anyone. Luckily, it was quick work. The first stakeholder up was for the Fundraising Dept. She said it wasn’t her or anyone on her team. Our VP of Analytics broke it to her that our payment processor gave us the name of the person who ok’d Decision Manager and it was someone on the Fundraising team. Fundraising then starts backtracking and says that oh yes she knew about it but transactions were still working after the Decision Manager had been configured. WTAF.
Everyone is dumbfounded by this. How could you make a big change to our payment processor and not tell anyone? How did our payment processor allow you to make this change when you’re not the account admin (you’re just a user)?
Our company head had to give an awkward speech about communication and how it’s important. The web team can’t figure out issues if you don’t tell us what you did. The company head was pissed because it was a shitty way to start off the new fiscal year. Our bill for the dev agency must have been over $1000 for debugging work that wasn’t helpful.
Amazingly, no one was fired.4 -
This probably isn't the coolest bug I've ever solved, but surely the one with the biggest faceplam
So I was building a Bluetooth smart watch that pairs with your Android device for the final year bachelor's project. The submission was in a 2 days and it was all ready and it suddenly stopped working.. Spent hours trying to fix it, even tried to get a replacement Bluetooth module (was out of stock -_-).. After a day's worth of freaking out I discovered that Android phones (at least the OnePlus X) don't connect to Bluetooth modules when their battery is below 15% -_- and since I was freaking out I would let the phone charge a bit and get back to debugging and it never crossed 15% so it never worked.. One day of debugging attempts later it suddenly struck me that low battery might be an issue.. And voila! It worked after charging the phone
Shouldn't such things be clearly mentioned in documentation :/
(Btw, got full for the project, got a 10/10 GPA for the semester)1 -
After hours of debugging and trying to find a solution online I got frustrated and started working on a different module, thinking will come back to it later. Next day when I Google the errors I find a similar question in stack overflow which might have a solution. Feeling delighted I check the question but no answers. So I see the date and the user who posted it, found out it was my colleague who was also debugging the same problem.
-
My preciousssss!!
Fucking assholes! Just spent 3h debugging for bugs that weren't there.. Our client insisted we must rollback the whole update, because gui was broken.. after analysing data & testing I figure out that there must be something 'wrong' as there was no data to copy from in the first place...so there should be no bug..
Aaand here goes the best part: they didn't want to point out missing data bug, they just wanted one restriction to be removed, because it 'broke GUI', to allow for empty value on save... WTF?! How can you insist that gui is buggy & that you don't want an update, if you just want something to be optional?! Which was done immediately, one change in one js file?! Dafaaaaaq?!
Kids, English is important!! Otherwise you end up debugging ghosts for 3+ hours withou a cigarette...and waking up a coworker with bad news of rollback at half to midnight... Aaaaaaaargh!!!
сука блять27 -
Okay so this happened ages ago (nearly five years) but this suddenly came to my mind again.
It was in the first year of my study (currently in my 5th and last year).
I was experimenting around with php and mysql during some free hours. All the insert,delete and so on statements worked perfectly find except for one update statement. Started to debug of course and after a little while of no results I was like "oh yeah right, something like logs exists of course". Looked in the logs but nothing. No matter how I altered my code (rewrote it numerous times for some 'clean starts') it just would not run the update statement.
Alright, time for some class mate help. After multiple hours of debugging with a few classmates, there was still no result at all.
Time to bring in one or more teachers. After hours of debugging, still no result even with the help of a few good teachers.
Decided to give it a rest for that day.
Two weeks later it still was not updating anything/working and I finally gave up.
Till today, I still have no clue what went wrong and it still bugs me from time to time :/4 -
Me reading a forum after long hours of debugging and research...
YES THIS IS IT THIS IS MY FUCKING ISSUE!
* Me reading some answers I have tried already *
COME ON GIVE ME THE ANSWER
* Me reading the last answer *
"I was able to resolve the issue thanks for all the answers...
bye"
OP marked problem as solved
FOR FUCKS SAKE GIVE ME THE SOLUTION OF FUCK OFF6 -
I tried writing this rant before, but I was (and still am) in too good of a mood so it was lengthy, meandering, and over-specific. so I'll summarize(ish).
summary:
* miscommunication
* working weekends
* incompetence and/or screwy integrations
summary of the summary:
* I can't fix someone else's mess if you don't talk to me!
Summary^3: #TODO: learn telepathy
Shortened rant:
Bossman at work signed up a very lucrative client by promising them something he couldn't deliver because he misunderstood and miscommunicated scope -- anti-fraud, if you've been following my rants.
Their signup (all four...) are screwy and cause issues and nobody knows why. I didn't write the code, have barely even glanced through it, and it uses a third-party (Clover) that's rather screwy.
Bossman has been asking me to do various things concerning the merchant, but has never been around to provide specifics, so I'm left to guess. I've done my best, but due to the aforementioned screwiness, I really have no idea what's going on. I just sort of muddled my way through.
Bossman also asked me, super late on Friday night (after 8:30pm), to rename one of the merchants because there are two with the same name (with different Clover creds, etc.) and that's just confusing. I didn't see the message because late and tired, and he didn't follow up or text/call me until two days later (today, Sunday). I also thought these were strictly for diagnosing and were de-listed. I had no idea the merchant was live and people were actually purchasing things for it. Had I known this I would have freaked out and demanded specifics on Thursday/Friday because wtf? debugging in production? with broken merchants? selling things for real money? scary bad? hello?
Anyway, I didn't see his message until he texted me about it at like 5pm today while I was about 2 hours from my computer. He's understandably frustrated, and I totally don't blame him, but fuck, miscommunication is a serious problem in this company, and that's amazing because it's so freaking small.
But the short version is that I'm likely going to get blamed for all this, Clover screwiness included. Bossman and I set up a call for 10am tomorrow and I'm positive he's going to try pinning it on me. Totally not going to let him, but his social is lv16+ while mine's like. 2 or 3. 😕 I'll see how it goes.
Really though, I should read @rutee07's book and just roast these fuckers.rant weekend work debugging in production miscommunication no call no text still my fault hope you see this it's urgent clover strip club3 -
New dev: I need help with this issue. I've been debugging it all day.
*2 hours later*
Me: spent a while debugging it, eventually came across a stack overflow post that says you can't do that.
New dev: oh I saw that earlier, didn't think it applied.
Me: ... why ... accepted answer "It is not possible to do this, this way".
New dev: hhhmm, ok
... get the fuck out of this building immediately.3 -
Achievement unlocked: malloc failed
😨
(The system wasn't out of memory, I was just an idiot and allocated size*sizeof(int) to an int**)
I'd like to thank myself for this delightful exercise in debugging, the GNU debugger, Julian Seward and the rest of the valgrind team for providing the necessary tools.
But most of all, I'd like that three hours of my life back 😩4 -
When developing arm boards doing USB/HID stuff..
MAKE SURE YOUR USB CABLE IS NOT JUST FOR CHARGING
40+ hours of searching, debugging... and .. it was just.. cable.1 -
Turns out you need to have WRITE permission to READ album artwork on Android. Thanks Google for 4 hours of debugging.1
-
Fuck regex and everyone who has ever endorsed the use of and/or is affiliated with regex.
It's unreadable, impractical, overly complex and complicated and it adds unnecessary clutter to your code, and your thought process.
It's 00:50 am and I just spent 3 hours debugging a regex only to realise forgot a single "?" in a 75+ character long string and I want to go to bed.13 -
Spent two hours debugging a port forward. Turns I entered 198.168.x.x instead of 192.168.x.x... Sometimes I barely bare with myself...2
-
Me: We should use typescript to enhance our readability and productivity.
Senior dev: No... We don't want to use any other languages except JavaScript.
(A month later)
Too many catch, race conditions and hidden bugs left. 5 hours of debugging16 -
For the love of god, I spent 2,5 hours debugging why Minecraft from the windows store doesn't work...
The game just shows a red message telling you it didn't work.
I checked the logs, nothing just warnings
I re-installed the game, nothing, same error
Updated java and all parts of the store, nothing....
Obviously I had to install Something called the "xbox identity Provider"... You know... On a PC... For a distinctly PC game to work... Installed by the store... And the provider is also on the store... But it doesn't auto-install with the game
Ever since you migrated to the Microsoft Auth the login experience is awful (I ranted about that already)
How about you do the bare fucking Minimum of an User experience and Install the fucking dependencies when I re-installed something your fucking store??!!!
The fucking bare minimum that every package manager ever created fucking has as a basic requirement?! Are you kidding me?
Rename your fucking services so they make sense and please don't waste everyone's time by having both shitty logs and no dep management for your own apps... Fucks sake12 -
So I'm working on an CLI right now that fetches data from a website and downloads other stuff based on that data etc bla bla. And since its async it can fully taste my whole internet speed (130Mb/s).
So everything's good and I started working on a new feature. I started the app and it worked... For 3 minutes. After that it just stopped. It didn't even freeze or anything. After 2 hours of debugging and 3 cans of coffee I was so frustrated I just wanted to watch some YouTube and relax. That's the moment I realized I didn't even have internet. I hate my ISP...4 -
I fucking hate the Safari browser to death.
This piece of disk space waste is 50% of the reason why I have to spend hours to find out what the fuck is incorrectly displaying or not working on W.I.P. websites.
The other 50% is Edge, IE <=11 and Firefucks.
Just for piss smelling Safari, I need to either run a VM with Crapple OS X for debugging or borrow a Crapbook from $randomPerson.
Is it fucking not possible to compile Safari blowser to run on Linux or Winblows?
Eventhough I'm disgusted about Google and its privacy and data mining policies, Chrome is the most decent browser there is on the whole digital world. It only happens extremely rarely that something is not working/displaying as expected during development.
Most browser developers seem to be useless pubes eaters and like to shower with curd soap.13 -
I’m trying to add digit separators to a few amount fields. There’s actually three tickets to do this in various places, and I’m working on the last of them.
I had a nightmare debugging session earlier where literally everything would 404 unless I navigated through the site in a very roundabout way. I never did figure out the cause, but I found a viable workaround. Basically: the house doesn’t exist if you use the front door, but it’s fine if you go through the garden gate, around the back, and crawl in through the side window. After hours of debugging I eventually discovered that if I unlocked the front door with a different key, everything was fine… but nobody else has this problem?
Whatever.
Onto the problem at hand!
I’m trying to add digit separators to some values. I found a way to navigate to the page in question (more difficult than it sounds), and … I don’t know what view is rendering the page. Or what controller. Or how it generates its text.
The URL is encrypted, so I get no clues there. (Which was lead dev’s solution to having scrapeable IDs instead of just, you know, fixing them). The encryption also happens in middleware, so it’s a nightmare to work through. And it’s by the lead dev, so the code is fucking atrocious.
The view… could be one of many, and I don’t even know where they are. Or what layout. Or what partials go into building it.
All of the text on the page are “resources” — think named translations that support plus nested macros. I don’t know their names, and the bits of text I can search for are used fucking everywhere. “Confirmation number” (the most unique of them) turns up 79 matches. “Fee” showed up in 8310 places before my editor gave up looking. Really.
The table displaying the data, which is what I actually care about, isn’t built in JS or markup, but is likely a resource that goes through heavy processing. It gets generated in a controller somewhere (I don’t know the resource name so I can’t find it), and passed through several layers of “dynamic form” abstraction, eventually turned into markup, and rendered as a partial template. At least, that’s how it worked in the previous ticket. I found a resource that looks right, and there’s only the one. I found the nested macros it uses for the amount and total, and added the separators there… only to find that it doesn’t work.
Fucking dead end.
And i have absolutely nothing else to go on.
Page title? “Show”
URL? /~LiolV8N8KrIgaozEgLv93s…
Text? All from macros with unknown names. Can’t really search for it without considerable effort.
Table? Doesn’t work.
Text in the table? doesn’t turn up anything new.
Legal agreement? There are multiple, used in many places, generates them dynamically via (of course) resources, and even looking through the method usages, doesn’t narrow it down very much.
Just.
What the fuck?
Why does this need to be so fucking complicated?
And what genius decided “$100000.00” doesn’t need separators? Right, the lot of them because separators aren’t used ANYWHERE but in code I authored. Like, really? This is fintech. You’d think they would be ubiquitous.
And the sheer amount of abstraction?
Stupid stupid stupid stupid stupid.11 -
- Let's write some code to check for memory leaks
- Oh shit, memory is leaking like crazy
- In fact the program crashes within 10 minutes
*Some hours of debugging and not finding the cause later*
- Starts thinking about the worse
- Hell yeah, the memory leak is caused by the code that checks for memory leaks. But fucking how
- Finds out the leak is caused by the implementation of the std C lib
- In the fucking printf() function
- Proceeds to cry5 -
Client sent me a screenshot complaining of their website performance. After hours of guided debugging, I noticed a familiar figure from one of the images sent.
See the photo... Zoom into the toolbar next to play button... Yes! It was that guy pretending to be a browser.2 -
1. high severity production incident was asked to look into at the end of the day.
2. needed fix in ui.
3. fixed and deployed in 1 hour.
4. issue remained. debugging began.
5. gave up at 1 AM and went to sleep.
6. woke up at 6 and after debugging for 2 hours, identified to be a back end issue.
7. worked with back end team for the fix, and 6 hours and 3 deployments later, it worked.
8. third party vendor reported they are still not receiving one parameter from us.
9. back end team realised they forgot to ask ui to send another parameter.
10. added the parameter in ui, redeployed ui.
11. build and deployment tool broke down. got it fixed. delay of 1.5 hours.
12. finally things are in place. total time 26 hours.
13. found half bottle of vodka, leftover from last weekend. *Priceless*1 -
The moment you realize, you are not getting your own website's Google Analytics information because of your Ghostry and Ad block plus installed :|
It hurts 10 folds when you spend 8 hours in debugging and on SO before epiphany ://
Karma is a Bitch :| -
GitLab CE crashed after doing a reconfigure, something with the LetsEncrypt client. Hours of debugging later it suddenly works again and the letsencrypt client doesn't throw errors either.
Happy that it works again but I'd like to know WHY it suddenly works again after I pretty much changed nothing (or, I did, but I put everything back to the original values every time a suggestion doesn't work).
Grrrrrrr.2 -
I just wasted my 2 hours debugging the code with a misspelled variable name, "separate" instead of "seperate".
Fcuk !8 -
Thanks to mandatory password change, today:
- My windows account got locked because my phone kept logging into wifi using
old password.
- Google Hangouts were silently running in background with old session until I re-opened it. Work of others delayed by 4 hours due to missing message notifications.
- Docker for Windows lost credentials needed to use SMB mounts - 1h of debugging why my containers mount empty folders ( now I will know)
- Google G-Sync for Outlook asked for new password on outlook restart - few mails delayed.
All of that for sake of security that could be easily solved with 2FA instead, not faking that "I do not change number at the end of my password" -
Spent 4 hours debugging a “button” styling, worked fine locally but not on production.!
After striking out “cache” issues, “browser” versions, “fonts”, “sass errors” the error was with a stupid chrome extension that appended a css class attribute to the “HTML” tag 😡
And the other developer thought that was a part of what was written in the code !!
Hate these kinda plugins that manipulate the DOM 😪
P S the plugin is "Grammarly".2 -
So after two hours of debugging I get to know that Chrome doesn't differentiate between font-weight 100-500 unless on a Mac, and IE does, but IE doesn't support the <picture > tag 😶9
-
Alright, I know people joke about this but I just spent 4 hours debugging a 50 line chunk of code, and the first time it worked without errors it scared me🙃3
-
I started my internship at the end of the year..
Fuck my ass!!! This code I have to work with is a huge pile of shit.
The code base I need to work with is around 40k LOC. It is a mixture of C++, C, Java, Python, Bash and I think I saw some lonely js files around.
A list of awesome parts:
- Paths are hard coded.
- Redundant code everywhere
- No documentation or inline comments available
Most of the comments in the code are just old code that is not used anymore. But the cherry on the turd is the class that should provide all kind of useful functions in my daily routine. About ninety percent of the functions have the same description or nothing. Sometimes a function name says "readSomethingFromSomewhere" but instead it writes something to a file. It is really confusing and I need to check everything twice instead of rely on what the function name promises.
I have also learned why copy paste isn't that good. The brief descriptions of every method in a files are always the same.
getName() - Description: Fork child process
getIp() - Description: Fork child process
getIpv6() - Description: Fork child process.
Surprise: None of these functions forks a child process. :D
Another awesome feature is the thing that they store up to five different versions of libraries. Everyone with slight modifications but no hint which one you need to use. Sometimes it is the newest, sometimes the oldest which is running in production. Another case of try and error.
Oh and my dev machine is a potato with a power supply and a fan. I started with NetBeans and every time I compiled the code it sounds like the machine wants to lift off and leave for a better place. (At this point I switched to Emacs and everything runs smoothly now)
At first I thought that I'm just not that good at coding and understanding a big project from scratch but some colleagues have the same problem. The whole system is very inflexible and it is all about "std::cout"-debugging to check if your changes do what you want them to do.
Currently I'm just trying to fix this mess to make the life for the next student or employee easier. The first month was just frustrating as hell. I need to ask so many questions and most of the time the answer was "I don't know, haven't touched this code in years". Needless to say that my progress isn't that awesome but at least I get a nice payment for 20 hours of work a week.2 -
Working on Python+Flask delpoyed on bluemix. The app failed to start. After 4 hours of debugging by all the 4 members of thr team, we together found that there was a tab in an otherwise space intended file, which was tripping bluemix.
This a during a hackathon
Resolved it 20 mins before submission
We won the hackathon!2 -
Just spent 2 fucking hours debugging one of my websites scripts because apparently appendChild wasn't a function... Here I was thinking there was a function called getElementByClassName... Dick head me didn't realise I'm missing a single 's'... 2 hours over a single fucking s!
Fuck javascript man...12 -
When you spend 3 hours debugging a site's CSS to see why an area isn't showing up...
...only to load it on another computer and find out that the only issue the whole time was that one of the CSS classes tripped an Adblock filter.2 -
Spent the past two hours debugging why ethernet wasn't working on a newly build PC... The other end of the cable wasn't in properly1
-
Had to consume a soap webservice which spits out a XML of 5000 lines with ambiguous node names and a shitload of data that needs to be parsed.
Built a ORM model to hold all the data and I already built a Xmlparser which works like a boss.. untill now..
I've been debugging for 3 hours, cursing every God man ever made up. Swearing at my screen like a madman... but this particular set of nodes just didn't got saved properly to the DB...
Alright, so my ORM definition is fucked... nope... Alright, so my XmlParser is fucked... nope...
Whaaaaat the fuuuuck...
Oh wait, I've been checking the wrong table for hours....
Hooray for ambiguous tables because I followed the ambiguous structure.
I am going to get drunk now.
X1 -
> See unintelligible error from stuff that used to work and now it doesn't
> Ask colleagues if they ever met the error
> Fucktard colleague says "try using the debugger, if you run the code line by line you may probably understand what's wrong"
Dear Fucktard, I've been writing code for 7 years now, you can safely assume I know how to use a debugger if need be.
The thing: when I ask "have you ever met this error" I'm asking if you actually know what's going on, BEFORE diving in a 3 hours long debugging session of code written 6 years ago by people who have left the company in the meantime.
You don't always have to say something. Sometimes it happens: you may not have anything clever to add, and a simple "I'm sorry I don't know" is perfectly fine.1 -
Oh, it's finally done and works well!
Oh, let me just optimize that a little... And probably rename this...
5 minutes later:
Shit it does not work now.
10 hours of debugging later:
I'll fix it later
To all new devs:
Commit more regularly -
Today, I had a segmentation fault in a data structure, so I wrote a function to test the integrity of the data structure. It worked, and I found and fixed the bug. However, the test still complained about the integrity. After debugging some very strange errors for 5 hours, I discover that there was a bug in the integrity test. The data structure works just fine. FML.1
-
Project manager, who i've complained in the past is neglecting critical things that he doesn't want to do, decided today to cancel our weekly planning meeting, to have the below conversation with me 1:1. Its very long, but anyone who has the will to get through it ... please tell me it's not just me. I'm so bewildered and angry.
Side note: His solution to the planning meeting not taking place ... to just not have one and asked everyone to figure it out themselves offline, with no guidance on priorities.
Conversation:
PM: I need to talk to you about some of phrasing you use during collaboration. It's coming across slightly offensive, or angry or something like that.
Me: ok, can you give me an example?
PM: The ticket I opened yesterday, where you closed it with a comment something along the lines of "as discussed several times before, this is an issue with library X, can't be fixed until Y ...".
"As discussed several times" comes across aggressive.
Me: Ok, fair enough, I get quite frustrated when we are under a crunch, working long hours, and I have to keep debugging or responding to the same tickets over and over. I mean, like we do need to solve this problem, I don't think its fair that we just keep ignoring this.
PM: See this is the problem, you never told me.
Me: ... told you what?
PM: That this is a known issue and not to test it.
Me: ..... i'm sorry ..... I did, that was the comment, this is the 4th ticket i've closed about it.
PM: Right but when you sent me this app, you never said "don't test this".
Me: But I told you that, the last 3 times that it won't be in until feature X, which you know is next month.
PM: No, you need to tell me on each internal release what not to test.
Me: But we release multiple times per week internally. Do you really need me to write a big list of "still broken, still broken, still broken, still broken"?
PM: Yes, how else will I know?
Me: This is documented, the last QA contractor we had work for us, wrote a lot of this down. Its in other tickets that are still open, or notes on test cases etc. You were tagged in all of these too. Can you not read those? and not test them unless I say I've fixed them?
PM: No, i'm only filling for QA until we hire a full time. Thats QA's job to read those and maintain those documents.
Me: So you want me to document for you every single release, whats already documented in a different place?
PM: ok we'll come back to this. Speaking of hiring QA. You left a comment on the excel spreadsheet questioning my decision, publicly, thats not ok.
Me: When I asked why my top pick was rejected?
PM: Yes. Its great that you are involved in this, but I have to work closely with this person and I said no, is that not enough?
Me: Well you asked me to participate, reviewing resumes's and interviewing people. And I also have to work extremely close with this person.
PM: Are you doubting my ability to interview or filter people?
Me: ..... well a little bit yeah. You asked me to interview your top pick after you interviewed her and thought she was great. She was very under qualified. And the second resume you picked was missing 50% of the requirements we asked for ... given those two didn't go well, I do think its fair to ask why my top pick was rejected? ... even just to know the reason?
PM: Could you not have asked publicly? face to face?
Me: you tagged me on a google sheet, asking me to review a resume, and rather than tag you back on 2 rows below ... you want me to wait 4 days to ask you at our next face to face? (which you just cancelled for this meeting)
PM: That would have been more appropriate
Me: ..... i'm sorry, i don't want to be rude but thats ridiculous and very nit pick-y. You asked my opinion on one row, I asked yours on another. To say theres anything wrong with that is ridiculous
PM: Well we are going to call another team meeting and discuss all this face to face then, because this isn't working. We need to jump to this other call now, lets leave it here.5 -
After hours of debugging my js script, I finally found out that all my trouble came from a variable that contained the string “true“ instead of a boolean value. I kinda hate javascript now...6
-
3 hours debugging on React server rendering....
The problem is I use class=“app” instead of id=“app”
Hahahahaha 🙄1 -
Just went out from a 12+ hours session of debugging.
After removing bits of code until there was almost nothing left, sweeping through StackOverflow, step-debugging into thousand-lines framework source code, running tests, considering filing a bug to Android...
turns out I had a
getFragmentManager()
that should actually have been
getChildFragmentManager().1 -
Colleague while reviewing my latest commit.
Him: Hey, RemusWasTaken, why did you leave this debug log in here?
Me: That function won't work unless I leave that line exactly there.
Him: It can't stay, come here so we can fix it.
Three hours of debugging later, this Friday afternoon.
Him: Okay, I give up. Let's leave it there for now.
Me: I did the same thing yesterday. Time well spent.
Nodejs is weird sometimes, or we are incompetent devs.5 -
I salute all server admins here. I might never understand how you guys get through with all those terminals and debugging and greb and runlevel and all these weird things.
I spent two weeks trying to set up a dev server on CentOS installed on a VM. Just configuring the server took hours of trying to figure out what goes where and in the end I realized that the only thing I did wrong was the runlevel! Which I found out today is actually a thing!!!!
I thank you all for existing. Without you, us web developers would go crazy!2 -
What started as a changing our games background music as a joke quickly turned into 3+ hours of debugging.. For fuck sake.
-
(After several hours of debugging a returned "mal formed xml" error)
Me: We found out your api does accept our XML only if its elements are in certain order.
They: Oh! yes. :)
Me: ... and since XML should not depend on order, maybe you should fix that. Or at least alert about it in docs.
They: Yes, maybe we should. :)
Me: ... OK3 -
Me: I don't understand, why is this not working?
After a few hours of debugging and continuous re-starting the server and most important praying to GOD
Me: F**k! how is this working? Ok let's not touch it, it's working -
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. -
After hours of debugging a legacy binary which throwed an unknown error. Realizing that it was expecting an array starting at 1.1
-
I am thinking about leaving this platform. To be honest I don't get anything out of it anymore and the only thing keeping me here is the less-rant'ish content like @devNews or the stories.
I am actually a bit disappointed, the quality of devrant really did degrade alot in the last few months. Don't get me wrong but I feel like people have become "normies" over here. I don't mean that in an edgy or degrading way but let me explain. When I started here I had a very high opinion of the people here. Everyone seemed like a passionate / knowledgeable individual from whom you could hear interesting stories or learn. Maybe I just saw it like that because I was still a very inexperienced dev and was looking for a dev community. But nonetheless I think devRant transformed into a place of mediocrity.
Dont get me wrong I wouldn't think of myself as aspiring or generally "better" than anyone else on here, but the content over here got a little stale.
I am not the kind of person who would "rant", in the first place, so I may have a different mindset and to be honest "ranting" has always been a thing I looked down upon. It just does not support my style of thinking. I totally get that people sometimes need to "vent" their feelings but there is nothing productive to gain from ranting, like you ain't not improving your situation by doing it. The more passionate raters over here call people things, I would never even dream about saying to people. Don't worry I'm no sjw or something like it, I don't care if you do it. If it helps you sure, why not. But there is a point where you corner yourself so much that you stop respecting your colleagues because they wrote that shitty code, instead of helping.
Some tech sure is bad, but it is not getting any better by insulting it.
Another thing I use to notice are people, thinking so highly of them selfes / being so close-minded - that they only accept their own views as true. These are the people that I always try to avoid, but that is getting harder and harder as time goes on.
Collectivism and group thinking are very strong on devRant making it really hard to defend a unpopular opinion - I get that devRant is not the kind of platform that would support actual proper arguments/discussions - but I still feels like some people shove opinions down another people's throat with no reasoning behind it.
Arguments on devRant are always won by the person coming up with the most witty response. Having another opinion is always seen as offensive. That's not exactly the definiton of open-mindedness.
Another rather annoying thing are what I call the "non dev, dev's". See: As a developer you should aspire to understand what your doing - I won't get into this too much but one sentencd: How are things like serious "Semicolon memes" a thing? I am as much into memes as the next guy, but debugging 3 hours, just to find out its a typo. I mean come on...
I sure get that devRant is not the kind of place where you would find the people I am looking for, and that's why I am leaving.
My whole post may seem super negative of the platform - and it is to an extend - but I sure also had a good time back in the day - devRant as in "the platform" surely is not at fault, but a forum is only as good as the people on it. Maybe I changed, maybe devRant did. All I know is that it is not for me anymore.
I won't delete my account and I probably will not leave completely, but all I will do is the "once a week" checkout.6 -
When you've spent hours debugging a problem of session not being saved and there is no error. And then you find this in the code:
try{
save_session();
}catch(Exception $e){}// added by another member of the team
🙈😖🖕🏻6 -
That's it, I'm done. I'm SO. FUCKING. DONE. Whoever created such a badly monkey ass coded shit and named it "Drupal" should have been aborted with a fucking hanger.
No one was here today because they were all at a Drupal Con that I never heard of. Glad I didn't. So they told me "yeah there are one year bug to fix, if you could do them all in a one work day that'd be greaaaaat". FUCK. YOU.
This shit is slowly sucking my passion away, and while I could spend 15 hours to code per day a few months ago, now I'm stuck to debugging shit that should have work without a Drupal environment. Tomorrow I'm going to see my manager and tell him to get me the fuck out of this and make me do something that would make me enjoy living again. I can't believe I'm getting trouble for this kind of low shit stuff, really.
And it started to rain. Fuck.6 -
Me : *testing json output on pc by sending items with GET*
App : *app crashing with only recyclerview error*
Me : *debugging the app for 2 hours and testing ways to do another adaptor *
Me : fuuuuuuuuuuuuuuuuu... I used POST to get the data on app and forgot to change $_GET $_POST
Lesson learned. Always check the input first
Im ashame of my self #crysinthecorner2 -
Rant Mode: ON
Do you know what really grinds my gears? Those dreaded "404 Page Not Found" errors. It's like a digital black hole, sucking your users into a vortex of frustration.
And don't get me started on inconsistent coding standards. It's like trying to decipher hieroglyphics written by different ancient civilizations. Why can't we all just follow the same conventions?
Oh, and software updates that break everything! You spend hours perfecting your code, only for a new update to come along and wreak havoc. It's like the universe is conspiring against developers.
But hey, despite the rants, we developers are a resilient bunch. We thrive on solving problems, no matter how infuriating they can be. So, here's to the endless debugging, the endless coffee, and the endless love-hate relationship with coding. We wouldn't have it any other way.
Rant Mode: OFF
Phew, that felt good. Thanks for letting me vent!6 -
TLDR; I was editing the wrong file, let's go to bed.
We have this huge system that receives data from an API endpoint, does a whole bunch of stuff, going through three other servers, and then via some calculation based on the data received from the UI, and data received from the endpoint, it finally sends the calculated fields to the UI via websocket.
Poor me sitting for over 4 hours debugging and changing values in the logic file trying to understand why one of the fields ends up being null.
Of course every change needs a reboot to all the 4 servers involved, and a hard refresh of the UI.
I even tried to search for the word null in that file, but to no avail.
After scattering hundreds of console logs, and pulling my hair out, I found out that I am editing the wrong file.
I guess it's time for some sleep.1 -
Did your motivation ever suffered for company enforced tooling/stack?
I'm striving to be as adaptable as possible to not bitch if I have to use Angular insted of React or Java instead of Go but the stack which I was forced to use for the last two years is killing the joy I find in programming.
I'm talking about Spring WebFlux a stack which in theory is very promising (IO performances of NodeJS but in Java) but in practice is a pain to use: it makes polymorphism very hard forcing to rewrite tons of code, it significantly reduces your library choice, even after studying a damn book about it debugging remains a huge headache, unit testing often requires hacks and workarounds to be done...
Programming with it always feels like trying to fit a square peg in a round hole and I'm catching myself in procrastinating more and more, initially I feared I was burning out or losing my passion for the field but I noticed which the rare times I get to use a more canonical stack like .NET my motivation instantly returns but sadly I can use it only for few hours and then I return to WebFlux and my passion flees again.
I'm considering to look for another job but sadly lately I neglected my GitHub so I might have hard times in finding it.2 -
How deep does the rabbit hole go?
Problem: Convert numpy array containing an audio time series to a .wav file and save on disk
Error 1:
Me: pip install "stupid package"
Console: Can't pip, behind a proxy
Me: Finds workaround after several minutes
Error 2:
Conversion works, but audio file on disk doesn't work
Encoding Error only works with array of ints not floats
BUT I NEED IT TO BE FLOATS
Looks for another library
scikits.audiolab <- should work
Me: pip --proxy=myproxy:port install "this shit"
Command Line *spits back huge error*
Googles error <- You need to install this package with a .whl file
Me: Downloads .whl file <- pip install "filename".whl
Command Line: ERROR: scikits.audiolab-0.11.0-cp27-cp27m-win32.whl is not a supported wheel on this platform.
Googles Error <- Need to see supported file formats
Me: python -c "import pip; print(pip.pep425tags.get_supported())"
Console: AttributeError: module 'pip' has no attribute 'pep425tags'
Googles Error <- Use another command for pip v10
Me: python -c "import pip._internal; print(pip._internal.pep425tags.get_supported())"
Console: complies
Me: pip install "filename".whl
Console: complies
Me: *spends 30 minutes to find directory where I should paste .dll file*
Finds Directory (was hidden btw), pastes file
Me: Runs .py file
Console: from version import version as _version ModuleNotFoundError: No module named 'version'
Googles Error <- Fix is: "just comment out the import statement"
Me: HAHAHAHAHAHA
Console: HAHAHAHAHA
Unfortunately this shit still didn't work after two hours of debugging, lmao fuck this7 -
In today's episode of kidding on SystemD, we have a surprise guest star appearance - Apache Foundation HTTPD server, or as we in the Debian ecosystem call it, the Apache webserver!
So, imagine a situation like this - Its friday afternoon, you have just migrated a bunch of web domains under a new, up to date, system. Everything works just fine, until... You try to generate SSL certificates from Lets Encrypt.
Such a mundane task, done more than a thousand times already... Yet... No matter what you do, nothing works. Apache just returns a HTTP status code 403 - Forbidden.
Of course, what many folk would think of first when it came to a 403 error is - Ooooh, a permission issue somewhere in the directory structure!
So you check it... And re-check it to make sure... And even switch over to the user the webserver runs under, yet... You can access the challenge just fine, what the hell!
So you go deeper... And enable the most verbose level of logging apache is capable of - Trace8. That tells you... Not a whole lot more... Apparently, the webserver was unable to find file specified? But... Its right there, you can see it!
So you go another step deeper and start tracing the process' system calls to see exactly where it calls stat/lstat on the file, and you see that it... Calls lstat and... It... Returns -1? What the hell#2!
So, you compile a custom binary that calls lstat on the first argument given and prints out everything it returns... And... It works fine!
Until now, I chose to omit one important detail that might have given away the issue to the more knowledgeable right away. Our webservers have the URL /.well-known/acme-challenge/, used for ACME challenges, aliased somewhere else on the filesystem - To /tmp/challenges.
See the issue already?
Some *bleep* over at the Debian Package Maintainer group decided that Apache could save very sensitive data into /tmp, so, it would be for the best if they changed something that worked for decades, and enabled a SystemD service unit option "PrivateTmp" for the webserver, by default.
What it does is that, anytime a process started with this option enabled writes to /tmp/*, the call gets hijacked or something, and actually makes the write to a private /tmp/something/tmp/ directory, where something... Appeared as a completely random name, with the "apache2.service" glued at the end.
That was also the only reason why I managed fix this issue - On the umpteenth time of checking the directory structure, I noticed a "systemd-private-foobarbas-apache2.service-cookie42" directory there... That contained nothing but a "tmp" directory with 777 as its permission, owned by the process' user and group.
Overriding that unit file option finally fixed the issue completely.
I have just one question - Why? Why change something that worked for decades? I understand that, in case you save something into /tmp, it may be read by 3rd parties or programs, but I am of the opinion that, if you did that, its only and only your fault if you wrote sensitive data into the temporary directory.
And as far as I am aware, by default, Apache does not actually write anything even remotely sensitive into /tmp, so...
Why. WHY!
I wasted 4 hours of my life debugging this! Only to find out its just another SystemD-enabled "feature" now!
And as much as I love kidding on SystemD, this time, I see it more as a fault of the package maintainers, because... I found no default apache2/httpd service file in the apache repo mirror... So...8 -
Come the fuck on!
AngularJS, or should I call it AidsJS, seems to magically stop sending data as 'form-data'.
2 hours of debugging and this rusty piece of junk won't bow down before my magic hands!
Go eat a rotten turd candy, Google!4 -
I really don't get the frustration people have with debugging...
It's one of the most fun parts of programming for me.
I don't mean the missing semicolon (I use an ide cause I care about my time).
When all your seniors have spent hours on trying to find a bug and after a few days you're able to present a fix to them, that honestly is the best feeling, potentially better than "finishing" a product (let's be honest, it's never finished)1 -
I have been debugging for like hours trying to figure out the cause an unknown bug spoiling my UI by making my elements overlap.
I'm working on a Unit Converter that takes kWh and then converts to mWh. (Logical Conversion: 1000 kWh = 1 mWh).
Just an easy shit i thought, using Javascript I just passed the dynamically generated kWh value to a function that takes maximum of 6 chars and multiply it by 0.001 to get the required result but this was where my problem started. All values came out as expected until my App hits a particular value (8575) and outputs a very long set of String (8.575000000000001), i couldn't figure the cause of this until i checked my console log and found the culprit value, and then i change the calculation logic from multiply by 0.001 to divide by 1000 and it came out as expected (8.575)
My question is that;
Is my math logically wrong or is this another Javascript Calculation setback?13 -
Just spent 8 hours debugging an issue that had been sitting in my issue queue for a week. WooCommerce was claiming transactions were failing, but going through in the background anyway.
Can’t share any more specifics here, but the gist of it is that the server the code was developed on was set to PHP version 7.1, while the server the dev site was on was set to version 5.6 (which I didn’t even think was still installed, never mind the default...).
So yeah, fun times over a trivial fix.1 -
I just wasted 4 hours debugging a wordpress plugin because the API was returning only the first element of a list. I posted it on support forums, downloaded the plugin's source code and tried to manually find the cause, and I was about to post an issue on the plugin's github page.
It turns out that I forgot I had '$[0]' in my insomnia json filter.... I should probably look for a different job.3 -
That moment when you spend hours debugging, only to realize... the bug wasn’t in your code but in your brain. Yup, I initialized the variable outside the loop and wondered why it wasn't updating. Classic me.
Moral of the story: Sleep is not optional, fellow devs. Also, coffee isn’t a fix for stupidity, but hey, it keeps us going! ☕3 -
Making a Snake game. Let me explain.. I had just "finished"(We all know there is no finishing side projects) my first big, at least for me, project. An io game called torpedoed.fun [http://torpedoed.fun]. And yes, it is a desktop only, and also yes, it is not that fun of a game. Torpedoed.fun taught me a lot about developing such as how to debug effectively, backend communication, how to host a website, planning, and much more. After learning all this from torpedoed.fun, I decided to start a new project, a simple clone of the classic Snake game. I, to my surprise, was able to immediately think of several ways of implementing various parts of the game. I developed the entire game in the span of a few hours with hardly any problems! This experience of developing without constantly debugging every line of code felt amazing. If I wasn't addicted to programming before that Snake game, I was afterwards!
-
When reading the documentation could have saved you hours of debugging.
"How nice, there's actually a property for that..." -
For hours I spent my time debugging my code, trying different approach to the same code function. Looking for one simple invisible mistake, that is when I want to make a delete request to the IndexedDB.
The request are fine without running a single error, the success event fires perfectly. But one thing which is unexpected, the object inside IndexedDB did not vanish at all. The data stay the same without any flaws (but how can that be, when the 'delete success' event fired? IT SHOULD BE GONE BY NOW!). No kidding, for hours I debug my code, yet found nothing's wrong!
Until one moment I found out the datatype of key I gave the request are different from the object I wanted to delete, the object has a key of 4 and I gave the request "4". I'm so pissed at this moment making me googled 'developer rant' and found this site.
Really! God Bless 1 !== '1'.5 -
Created a simple bot for an online game using puppeteer.
After an evening (and night) of dev and debugging (quite some rejected promise errors), it worked fine and was ready for a 10-minutely cron job.
Fixed a couple bugs in the first three hours. Then started playing minecraft, which lagged like hell.
Opened task manager and saw a list of about 25 headless chrome processes. They had not been closed because of unhandled errors before the close method call 😵
Now added some basic error handling ☺2 -
Linux has been around since back when dinosaurs punched holes in cards, but for some reason it still takes a few hours of googling and error debugging to do something as basic as connect to a wpa2-enterprise wifi network.
What the fuck? Where's the "connect to any standard work or school wifi network" command line utility distributed with all os flavors? Why can't I just put in a username and password and be done with it instead of sudo editing networking adapter configuration files manually?2 -
FUCK THE SINGLE BUG IN A MONOLITYC APP THAT I CORRECTED AND IT INTRODUCES PLENTY OF OTHERS FUCKING BUGS. I SPENT HOURS DEBUGGING THE LITTLE MOTHERFUCKER. UNFUCKINGBELIEVABLE THIS AINT GONNA END3
-
Ahh, Unity’s “Wheel Joint.” Who knew it had “polarity.” I spent good several f*<king hours debugging this $h!+ just to find out I just placed them backwards on a 2-D car. Instead of the joint turning the wheels, they were trying to “turn the chassis.”
This meant the chassis received an impossible force which would rip it in half in real life. Of course, this was a unity game, so what happened instead was the physics engine flipping out which sent the car into the air!
I guess it was good for some lulz, but it took way too long to debug. I guess it’s time to take a little time off of that project.3 -
Time for late night coding, debugging, thinking..been busy since I woke up, work, college, exams, work..work while waiting for an exam..
Coffee - check
Cigarettes - check
Music to keep me motivated - check
Laptop still not lagging - check
Will probably want to sleep in couple of hours - check -
Just an update : never fucking install windows 7 on a new desktop without first reading , fucking piece of shit won’t detect my SSD , tried different solution over the Internet to no success, after 3 hours of nerve wrecking debugging I read a post on the Internet that “some”(not sure which) versions of windows just don’t detect an SSD,
Finally done by installing windows 10,
But nooooooo will windows let me die in peace, noooooooo
Every fucking time I restart my PC “ windows is installing updates
I mean fuck you , how fucking many bugs do you squash in a day.
Probably some engineer at Microsoft will be “ oops o dropped a donut on my keyboard, let just press ctrl + z” to undo changes and upload , lol “8 -
Apple: Mojave update breaks OpenGL code and causes a black screen? It's ok, no rush, nothing to fix here. Anyways OpenGL is deprecated right?
I literally spent a couple of hours debugging my engine because it would show a black screen until the rendering window was moved or resized. Only to find out it's a known OpenGL bug after the Mojave update. No biggie.4 -
I'm rewriting a game from C++ to C just for the purpose of learning and adding more features, however; after I refactored the code, the game broke with a segmentation fault and I have no idea where the memory issue is.
I've been debugging for hours now and I've got nothing. FML5 -
Debugging a previously employed intern code for hours (poorly written JavaScript). Found out they were comparing the exact string value of the input boxes. #smh5
-
I'm working on a codebase that is terminally ill. It's split so badly into microservices that no matter what you do, every one of them talks to every one of them over and over. If there's any way they can avoid just invoking a method on a class and send themselves a message or make an HTTP request, they'll do it. One of the services just sends messages to itself for no apparent reason. Except it doesn't even send messages to itself. It sends an HTTP request to a controller in another app, and that controller sends a message which is received by the same class that made the request.
The point is that this application is screwed. The defects pile up and there is literally no one who can understand what it's supposed to do in any scenario. I'm good at this. I can follow confusing code and document it. But not this one. It's overwhelming. It's insanity.
When these defects come in we're told to just run the app from the UI, see what HTTP requests it makes, and start tracing the code manually. Running and debugging it locally would be a nightmare but it's impossible anyway.
They decided that we all need to understand the application better so we can work on it, so we were each given six poorly-define five-hour tasks to "understand" various things. Those things don't make any sense. It's like if someone gave you the source code to Excel and told you to spent five hours understanding columns, five more understanding rows, and five more understanding cells.
Here's the thing: I'm okay with learning and understanding some code. It's part of the job. But I'm not going to abandon my career as a software developer so I can become an expert on debugging their awful code. I didn't make this mess. I'm not going to live with it. I'm moving on as quickly as I possibly can.
I've tried to explain to them that if they want the situation to improve they need to improve the code. They need to learn how to write tests. If your plan is that people will study your code, know it inside and out, and then spend all their time debugging it, that's a plan for failure. Everyone who can will leave and take what they know with them.
These companies just don't get it. They need their software to work, but the types of developers who can help them don't need that software to work. No one capable of doing good work is going to spend several years debugging their awful code unless you pay them a crazy ton of money.
Just don't make a mess in the first place. Hire developers who can do a good job. If you hire the cheapest people you can find you won't be able to get someone else to fix it later. It's not personal but I wish failure on those projects or even those companies. I want them to fail because failure is so expensive. I want them to fail so that others learn from it and don't repeat the same mistakes.
As an industry we're a bunch of genuine idiots. We just keep doing the same things over and over again no matter how much it hurts.1 -
That FML moment when you find after hours of debugging that the fucking college proxy was the only reason your project was not running.
-
Below is a transcript from work Slack today. Only the names and some code are changed. It ended up causing a bit of drama. DevRanters, what do you take from this?
---
Delivery Lead:
Hey Gang. What's the blocker for FEATURE-123?
Dev1:
FEATURE-122 crashed on iOS app when viewing Feature Introduction page.
Teach Lead:
I've talked about this with Dev1 on a side channel.
And diagnosed the stack trace.
It looks like there is/was some bad handling of a List in the Feature Introduction view logic.
But this is confined to changes that Dev2 is still working on.
(It's not present in master)
Dev2, what's your current position on this?
Dev2:
I have tested at my end with Dev1 but it seems to be working fine
Tech Lead:
There is a race condition related to the use of someList.first()
My guess is that theres a Flow of those lists defined, with an initial value of emptyList
And that on your machine, that Flow is updating with a new value quickly enough that it doesn't matter.
But on Dev1's, for whatever reason, it doesn't get there in time, hits the empty list and falls over.
The logic that's performing the first() needs to gracefully handle empty lists as well.
Dev2:
Where is that logic called?
Tech Lead:
Here's the stack trace Dev1 provided in our conversation earlier:
Caused by: kotlin.NoSuchElementException: List is empty.
...
at 3 iosApp 0x00000000 kfun:kotlin.NoSuchElementException#<init>(kotlin.String?){} + 00
at 4 iosApp 0x0000000 kfun:kotlin.collections#first@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0 + 000
...
at 9 iosApp 0x0000000 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 0000
This line:
kfun:kotlin.collections#first@kotlin.collections.List<0:0>()
...says that it's first() being called on an empty list.
Dev1:
FYI: Dev3/Dev4/myself are seeing the same issue with the same stack-trace above.
Tech Lead:
So Dev2, have you introduced such a call?
Because I checked master branch and there isn't one, in that version of the file.
Ok, I'll check your working branch Dev2
...
Yes you have here:
var processed1 = someList.first()
var processed2 = someList.first()
...
Lines 123, 124.
Solution looks really straightforward guys.
Dev2:
Okay, I will fix that and push the change
Tech Lead:
Check if someList is empty and allow for generating / handling null processedValues in the view.
Now; I'm going to be straight with you here.
This issue has been discussed over several hours today.
I expect that either one of you could have gone through the process I did in the last 10 minutes above, and resolved it in the same way :point_up:
Dev2:
I went on a break and it's not reproducible on my machine
Tech Lead:
I didn't reproduce it on mine either.
Dev1:
Dev2 and myself are now on sharing screen to sort this issue out. Hope to update back later.
Tech Lead:
<Screen shot of diff with changed code>
:point_up: That change should do it.
Dev2:
Already have pushed the change.
Tech Lead:
...just seen it, is good - same approach :ok_hand:
Dev1 please let us know when tested on your machine.
Dev1:
That does it. It fixes the issues. Thank you, Dev2. I will pick it off from here.
Tech Lead:
Glad to hear it guys.
Dev1:
I have to say this that it is not because we are not working on the issue - Dev2 and myself (together with Dev3/Dev4) have been on this issue all this morning. It just difficult to connect the dot when it wasn't reproducable on Dev2's machine. I brought the issue up because I wanted to switch to working on other tickets while waiting for this to resolve. Still thank you largely for Dev2's work and your keen eyes that spot and resolve the issue quickly.
Tech Lead:
Noted Dev1.
I think the take-away has to be to read the stack-trace carefully... don't worry - we've all been guilty of not reading the error in full, at some point.
The stack trace said that the 'first' element is being referenced from an empty list - that's just logically impossible, right?
Looking for that call to first, we saw it wasn't in the code before, and is after (two of them, in fact).
So then we ask ourselves, how can we deal with an empty list - and then solution almost presents itself.
It didn't really take reproduction of the error to resolve.
Maybe working with a new tech stack creates an anxiety that every issue faced will have a complex solution related to that stack; but I think you'll agree, this particular issue really just required a deep breath and your trusty 'debugging skills 101'... don't lose them! :smiling_face:4 -
Im off of 3 hours sleep right now after getting lost down the rabbit hole of debugging.
I was just putting stock on the shelves at my job and a customer came up to me and asked me where something was. I thought of two places it could be so i said:
"if item == aisle4
{print("You've found it"); }
else if item == aisle6
{print("You've found it"); }
else
{print ("Im unsure where it is sorry"); }"
She just looked at me and my coworker told her where the item was, once she left my coworker started laughing at me and called me the biggest nerd he knew.1 -
When people write "sys.exit()" in their libraries instead of giving a helpful error and you spend about 3 hours debugging your code and trying to find out why it is exiting.
-
**Sees a different error after hours of debugging the previous one**
ME (crying inside) - What type of sorcery is this?3 -
So, this has happened to me quite a few times
I write about 100 untested lines of code (I know, bad practice) and then go ahead to test it
As expected, the program crashes
Spend hours debugging, to no avail
And then I add a print statement to check where the code stopped, and hey presto! The code completes execution
I remove the print statement, the code gets stuck
Also, the codes don't use any low level functions that might be interfered by print statements anyhow
Till today, never understood how a print statement helps codes execute properly6 -
So I made an update to my React Native app. I changed UI of a couple of screen, added a few animations here and there, refactored how my graphQL resolvers work in the backend(no breaking changes), changed how data gets loaded into the database etc.
It worked in dev so I figured hey let's deploy it. Today is(was because it's now 3am but more on that later) a national holiday so no one goes to work so no one will use my app so I have an entire day to deploy.
I started at 15:00(because i woke up at 13:00 lol). I tested the update once again in dev and proceeded to deploy it to prod. I merged backend to master, built docker images, did migrations on the db, restarted docker-compose with new images. And now for the app. I run ./gradlew assembleRelease and it starts complaining that react-native-gesture-handler is not installed. Ugh, rm -rf node_modules && yarn install. It worked. But now gradlew crashes and logs don't tell me anything. Google tells me to change a bunch of gradle settings but none of them work. Fast forward 5h, it's around 20:00 and I isolated the issue to, again, react-native-gesture-handler. They updated from 2.2.4 to 2.3.0 which didn't fucking compile. 2 more hours passed (now 22:00) and I got v2.3.1 working which fixed the problem in 2.3.0 but made my app crash on startup. YOUR FUCKING LIBRARY GETS 250K WEEKLY DOWNLOADS AND YOU DONT EVEN BOTHER CHECKING IF IT COMPILES IN PROD ON ANDROID?! WHAT THE FUCK software-mansion?
After I solved that, my app didn't crash. Now it threw an error "Type errors: Network Request Failed" every time I fetch my legacy REST API(older parts use rest and newer use graphql. I'll refactor that in the next update). I'll spare you the debugging hell i went through but another 5h passed. Its 3am. My config had misspelled url to prod but good for dev... I hate myself and even more so react-native-gesture-handler.3 -
Isn't the point of the 20++ receive stickers idea supposed to be an incentive for posting good content?
I've only joined recently and maybe I've missed the point, but I feel like surely people asking for it are just doing it for the stickers, they're not actually contributing to the content here?
Maybe I'm wrong but that's just the vibe I get?
On another note, screw logs (screw me more like). Spent 2 hours completely missing what the error message was trying to tell me and debugging in places I didn't even need to touch.3 -
It was the last year of high school.
We had to submit our final CS homework, so it gets reviewed by someone from the ministry of education and grade it. (think of it as GPA or whatever that is in your country).
Now being me, I really didn’t do much during the whole year, All I did was learning more about C#, more about SQL, and learn from the OGs like thenewboston, derek banas, and of course kudvenkat. (Plus more)
The homework was a C# webform website of whatever theme you like (mostly a web store) that uses MS Access as DB and a C# web service in SOAP. (Don’t ask.)
Part 1/2:
Months have passed, and only had 2 days left to deadline, with nothing on my hand but website sketches, sample projects for ideas, and table schematics.
I went ahead and started to work on it, for 48 hours STRAIGHT.
No breaks, barely ate, family visited and I barely noticed, I was just disconnected from reality.
48 hours passed and finished the project, I was quite satisfied with my it, I followed the right standards from encrypting passwords to verifying emails to implementing SQL queries without the risk of SQL injection, while everyone else followed foot as the teacher taught with plain text passwords and… do I need to continue? You know what I mean here.
Anyway, I went ahead and was like, Ok, lets do one last test run, And proceeded into deleting an Item from my webstore (it was something similar to shopify).
I refreshed. Nothing. Blank page. Just nothing. Nothing is working, at all.
Went ahead to debug almost everywhere, nothing, I’ve gone mad, like REALLY mad and almost lose it, then an hour later of failed debugging attempts I decided to rewrite the whole project from scratch from rebuilding the db, to rewriting the client/backend code and ui, and whatever works just go with it.
Then I noticed a loop block that was going infinite.
NEVER WAIT FOR A DATABASE TO HAVE MINIMUM NUMBER OF ROWS, ALWAYS ASSUME THAT IT HAS NO VALUES. (and if your CPU is 100%, its an infinite loop, a hard lesson learned)
The issue was that I requested 4 or more items from a table, and if it was less it would just loop.
So I went ahead, fixed that and went to sleep.
Part 2/2:
The day has come, the guy from the ministry came in and started reviewing each one of the students homeworks, and of course, some of the projects crashed last minute and straight up stopped working, it's like watching people burning alive.
My turn was up, he came and sat next to me and was like:
Him: Alright make me an account with an email of asd@123.com with a password 123456
Me: … that won't work, got a real email?
Him: What do you mean?
Me: I implemented an email verification system.
Him: … ok … just show me the website.
Me: Alright as you can see here first of all I used mailgun service on a .tk domain in order to send verification emails you know like every single website does, encrypted passwords etc… As you can see this website allows you to sign up as a customer or as a merc…
Him: Good job.
He stood up and moved on.
YOU MOTHERFUCKER.
I WENT THROUGH HELL IN THE PAST 48 HOURS.
AND YOU JUST SAT THERE FOR A MINUTE AND GAVE UP ON REVIEWING MY ENTIRE MASTERPIECE? GO SWIM IN A POOL FULL OF BURNING OIL YOU COUNTLESS PIECE OF SHIT
I got 100/100 in the end, and I kinda feel like shit for going thought all that trouble for just one minute of project review, but hey at least it helped me practice common standards.2 -
I think I'm reaching now 40 hours in 3 days coding a function for a nasty grouping report.
Now the report is ready.
Testing with real data I'm 3/4 units off.
Now start at least one full week of monster counting-debugging-fixing on hundred of data.
If somebody get close to me in these days, I'll cut their throat drink their blood and eat their heart still beating, like Aztecs.
I'll have no time to cook or buy anything else to eat anyway, so it will be for survival.1 -
If my eyes aren't hurting from endless hours of debugging or coding, I'll read a book. If they are sore, I'll listen to music. In both conditions, a coffee is needed too.
-
Me: I'll comment that later
Also me: Why tf isn't there any comment
No seriously, comments and documentations are really necessary. Today I've been debugging for hours, why a certain variable has a certain value. Age of code: 15+ years. No comments. No docs. 🙃5 -
what the fk how hard can it be to have a working version of the software on the master/ ros-version branch? Why is this thing always broken?! HOW?!
Had to update today unfortunately, and man, I have been "installing" this shit for over 3 hours now. Use the .install they said. It will be fast they said. Ye sure, my ass. The Dependencies are broken and incomplete as always and the tutorial is not up to date. Big suprise. I get it, it's a lot of work to keep these things up to date. But please if they are this broken and incomplete why are they released in the first place.
And then they wonder why I don't manage to do my work on time. Yeah, cause I'm stuck debugging this shit <.<'1 -
I've spent several long nights and even pulled all nighters debugging issues patiently. Even the most frustrating and ugly bugs, I've dealt with calmly for hours.
But this. Numbering fucking lists in Word. Why the fuck is this fucking crap piece of software trying to teach me how to fucking count? For fuck's sake, when I'm on level 2 of a list and I say I want 4.1, I mean fucking four fucking point in between and a fucking one. I've been screaming and pulling out clunks of hair for the past half an hour now before it decided to just work.
And now, towards the end of the report, all of a sudden it just decided to change the dictionary language to fucking French! Fuck you, Word!5 -
So I upgraded my project to a new version of unity.
And my character stopped jumping.
And then it started jumping.
And stopped.
And started.
After 2 hours of debugging I found out that the RigidBody2D editor fucks up physics.
WTH2 -
During my first project in one of the SQLite statements I didn’t realize that it needed single quotes since I was new to it. So I brushed that off but when working on the next function for the program 8 hours were dedicated to debugging to only realize that the error was caused because I forgot the fucking single quotes. FUCK
-
Learn the hard way:
Episode 1:
Struggled 4 hours building my package. Some dependent package was failing build. Tried everything and atlast, contacted that package developer. He checked and said: "It seems it's broken. You can use v1.1 instead."
Lesson learnt: Sometimes, it's better to ask instead of banging your head and debugging things out. -
Two and a half hours debugging an ancient, poorly written prototype being used in production to local an obscure bug causing double product sizes to appear.
Eventually, after navigating the 3 level deep compatibility layer of SQL views, I found out the client had attached the size option to the product twice with two different prices.1 -
MOTHERFUCKER! Hours of debugging and one code block was indented wrong. Gotta love doing shit when tired...4
-
When you spent two hours of debugging because that one variable somehow has the value of NULL which can't be because it is initialized with another value and you realized you mistyped the name on one of your procedures, so VBA automatically instantiates a new variable and initializes it
-
Lessions I learned so far from my first big node/npm project with tons of users:
1) If you didn't build something for a while, expect 3 hours of resolving version conflicts for every two weeks since the last build.
2) Even if the tests pass, run the containers on your own machine and make sure that the app doesn't randomly crash before deploying
3) Even if the app seemed to work on your own machine, run the tests again in an environment mimicking prod at most 15 minutes before replacing the running containers.
4) Even if all else indicates that the app will work, only ever deploy if you expect to be available within the 4 hours following a deployment.
5) Don't use shrinkwrap for anything other than locking every version down completely. A partial shrinkwrap will produce bugs that are dependent on the exact hour you built the app _and_ the shrinkwrap file, and therefore no one will ever have seen them other than you.
6) Avoid gyp, and generally try not to interface too much with anything that doesn't run on node. If parts of your solution use very different toolchains, your problems will be approximately proportional to the amount of code. And you'd be surprised just how much code you're running. (otherwise it's more logarithmic because the more code the less likely a new assumption is unique)
7) Do not update webpack or its plugins or anything they might call unless you absolutely need to
8) Containers are cool but the alpine ones are pretty much useless if you have even just one gyp module.
9) There's always another cache. To save yourself a lot of pain, include the build time in every file or its name that the browser can download, and compare these to a fresh build while debugging to assert that the bug is still present in the code you're reading
+1) Although it may look like it, SQLite is far from a simple solution because the code and the bindings aren't maintained. In fact, it'll probably be more time consuming than using a proper database.3 -
To all the masochists who spent hours debugging misspellings:
1. Learn your tools
2. Learn good practice
Every IDE should point out when you're not using a variable you've initiated or using an uninitiated variable as well as at least highlight, if not simply list, every occurrence of the variable under your cursor and let you find all references or even display the number of references next to a variable at all times, and finally, every IDE should autocomplete for you so when it doesn't you know you've messed up. Good IDE makes all the easy mistakes hard and all of the hard tasks easy. Including running tests. If you don't know how to configure your IDE to do all these things take time and learn it. If you still can't figure it out, replace your IDE maybe...?
Also use the debugger. Preferably one that nicely integrates with your IDE. If you don't, check point 1.
Also write tests and *run them*.
Also if your misspellings tend to consist of a missing `s` at the end of a plural noun just call it `entityCollection` instead of `entities`. And read up on more good programming practices and naming conventions.7 -
I wasted fucking hours just trying to find out why curl doesn't send the data I've interpolated from a variable.
It doesn't even send the fucking hardcoded part of the data. I've compared it with a curl command generated by firefox, which works fine. Literally the only difference is that I interpolate a variable and I've echoed the contents of that variable and that was fine as well. I've even checked the interpolated string and it was fine.
And then I moved more stuff into the hardcoded part and it just started to work.
Wtf is this bullshit. I really feel like learning intermediate bash scripting is just a waste of time, just how complicated can you make debugging something so simple.
Every fucking time I give bash scripting a chance this shit costs me so much time, patience and motivation, I really wanna prefer that shit to python, because managing python dependencies for a script sucks ass^2,, but at least I can get shit done in Python. Just fucking end me or give me a language that doesn't make me wanna shoot myself5 -
The one day process of installing a Heroku dyno:
- Setting up Heroku from nothing, with variables, and cli etc... -> 20 minutes
- Mulling over the fact that __dirname doesn't work for some reason -> 1 hour
- Debugging one retarded error message after an other only to realize that a critical file is missing from the repo, that I should have noticed after 2 minutes -> 6 hours1 -
Oracle, what's wrong with you? Why do you have in every minor release of glashfish after 4.1 weird bugs which cost several hours of debugging of the own software until discovering there's a glassfish bug occurring in typical situations but there is no fix in sight.
In 4.1.1 there was a bug in the admin panel which throws a exception if you tried to configure JMS and in 4.1.2 there is a bug which prevent finding and loading a necessary class for using jax-rs despite it's available.
I have do complete an assignemt until friday and such bugs are such a pain since i change so many thing just to find out that my first structure/config/etc. was correct. -
FUUCCK! These two lines of code just cost me 6 hours of debugging... At least I learned I need to fix my Deserialization code too.
servicePassword: this.APIUsername,
serviceUser: this.APIPassword -
Tell me what you want but ChatGPT is the best dev companion ever.
I've just submitted 700 lines of JS code with various complex functions because I had an issue for some specific cases I couldn't identify.
In less that a second ChatGPT noticed a missed argument in one of the many function calls... mind blowing.
It's something I would otherwise notice after hours of debugging, looking for a needle in huge functions.9 -
Worst disturbance? This person who sits behind my back. I've gotten used to them not minding their own business and snooping into mine but to counter that they've taken to distracting me and others all the time.
Sample this incident from just a few moments ago (inspiring the rant).
Me: *debugging while listening to some ambient music channel
Them: *rushes to my desk, putting a hand behind my back
Me: *politely takes off headphones asking, What?
Them: *after peeking at my screen, nvm, I'll tell you later, I have a meeting to go to.
Fucking hell, idiot! It already takes me hours of pushing myself to come to work at this good for nothing place and then actually get to working. Just flush your head in the toilet so you don't take a dump on me with your shitty restlessness.1 -
I'm tired of taking breaks, only to find bugs IRL.
I draw the line at my grapes throwing an exception!
Debugging the crane game app, my ISPs aggro DHCPv6 query vs their WAN6 scripting and the label printer at Quest Labs was annoying enough.
I don't even know how to tag this.
A day ago I tried ordering a coffee and doughnut on Doordash. I thought, I must be too tired/missing something. Dunkin' Donuts didn't have doughnuts on the menu, despite the header of "Donuts and Bakery", I called them... A few minutes later the reason was found. Their PoS system upgraded, changing the formatting of the doughnut options so a minor bug caused it to show as fully updated, despite actually disabling the doughnut menu options... today it's the weirdest, possibly inappropriate-looking, grape I've ever seen... and I grow 5 varieties of grapes. Maybe if I get drunk enough(wine?) later, I'll be able to not debug or re-engineer anything for a few hours.
Any suggestions on how to stop iterating through a debugging loop IRL 24/7 is certainly welcolmed.
Now, wtf do I do with this, mildy disturbing, grape?7 -
named two strings as fuck and cunt (because im tired of debugging this stupid bug since last 5 hours)
compiling...
aaand laptop freezes
fuck. my. life.1 -
This huge OS project, Magento, have TONS of guidelines, most about decoupling,, it has an extended MVC structure with even more layers than those 3.. All good in theory, guess what.. Guidelines is not followed..
Changing order of two blocks in the view breaks business logic.. So much for decoupling.. You would not believe how many hours I've spent debugging this..
And I can't believe I've dedicated 12 years of my professional live to this platform..2 -
I am currently writing a software product for NHS patients and one of my tables was named 'condition'... guess who lost 2 hours of debugging...5
-
I just spent about 4 hours debugging a PHP bug because of its weak type declaration. Some please point me to another language, Im done with PHP.12
-
I jst need AI to detect typos in my js code and it's probably going to save me hours of debugging.. 🙃
Or maybe it can help me get a well nights sleep.. so I can detect it myself.. 🤷🏽♂️8 -
At this point of my side project I wanted to check out openresty for dynamic proxy creation in nginx.
Happy to check it out I installed centos 7 as guest using new command I just learned virt-builder that would automate vm creation.
Spend 10 hours debugging why I can ping and ssh but cannot get to application port from any network.
Checked iptables, restarted network, reinstalled vm again 3 times with different methods.
Scrolled trough whole internet and it’s mostly outdated problems.
Learned bunch of new commands without new results.
Results were always the same:
No route to host.
Turned out firewalld is fucking thing now.
systemctl firewalld stop helped
Now I know that systemd would kill me at some point for sure.
What I can add at this point ?
Please add more distros, differences, standards and programming languages so world definitely would be better place.
I need a short break now to actually start making shit that I wanted to start at 4-5pm on Saturday.
It’s Sunday 3:30am and time for breakfast.
At least I am happy it started working.2 -
I honestly hate writing code. I hate debugging off-by-one bugs. I hate debugging in general. My fingers are weary from 11 years of this shit. I've spent 1 hour designing + implementing this tool in C, only to have spent 11+ hours debugging this tiny thing.
Ultimately, I hate the precision the damn computer demands. It's a prissy little bitch I want to hate fuck.7 -
I actually learnt this last year but here I go in case someone else steps into this shit.
Being a remote work team, every other colleague of mine had some kind of OS X device but I was working this Ubuntu machine.
Turns out we were testing some Ruby time objects up to a nanosecond precision (I think that's the language defaults since no further specification was given) and all tests were green in everyone's machine except mine. I always had some kind of inconsistency between times.
After not few hours of debugging and beating any hard enough surface with our heads, we discovered this: Ruby's time precision is up to nanoseconds on Linux (but just us on OS X) indeed but when we stored that into PostgreSQL (its time precision is up to microseconds) and retrieved it back it had already got its precision cut down; hence, when compared with a non processed value there was a difference. THIS JUST DOES NOT HAPPEN IN OS X.
We ended up relying on microseconds. You know, the production application runs on Ubuntu too. Fuck this shit.
Hope it helps :)
P.s.: I'm talking about default configs, if anyone knows another workaround to this or why is this the case please share. -
evil === true
Found this one after 4 hours of debugging... Want to screw with other teams? Shove some UTF-8 BOM characters into JSON responses consumed by Node (and other frameworks as well). Watch as they scramble to find why JSON.parse() fails on seemingly nothing.
Background: BOM markers are hidden characters that indicate text stream information to applications. They are not ignored by many JSON parsers and throw exceptions that don't appear to make sense.1 -
Today, in "Typos that wasted hours of debugging"...
PHP...
>:(
PHP is such a bitch when it comes to unset variables, why didn't it trigger a warning or something when I tried to $typo[$index]?? I may be missing something and my head starts to ache.
Fixed tho', lesson learned.4 -
I feel lucky to be a developer.
yes just keep frustrating hours of debugging and other boring stuff aside for a moment.
I love to solved physical problem with digital solutions, I worked as a full stack developer in company using same skills to earn money by doing freelancing.
while my other non techie friends are crying for extra income, I earn enough in freelancing to pay my rent and other stuff
😍😍😍😍2 -
So i wasted last 24 hours trying to satisfy my ego over a shitty interview and revisiting my old job's codebase and realising that i still don't like that shit. just i am 25 and have no clue where am i heading at. i am just restless, my most of the decisions in 2023 have given very bad outcomes and i am just trying doing things to feel hopeful.
context for the interview story-----
my previous job was at a b2b marketing company whose sdk was used by various startups to send notifications to their users, track analytics etc. i understood most of it and don't find it to be any major engineering marvel, but that interviewer was very interested in asking me to design a system around it.
in my 1.2 years of job there, i found the codebase to be extremely and unnecessarily verbose ( java 7) with questionable fallbacks and resistance towards change from the managers. they were always like "we can't change it otherwise a lot of our client won't use our sdk". i still wrote a lot of testcases and tried to understand the working of major features.
BTW, before you guys go on a declare me an embarrassment of an engineer who doesn't know the product's code base, let me tell you that we are talking SDKs (plural) and a service based company here. their was just one SDK with interesting, heavy lifting stuff and 9 more SDKs which were mostly wrappers and less advanced libraries. i got tasks in all of them, and 70% of my time went into maintaining those and debugging client side bugs instead of exploring the "already-stable-dont-change" code base.
so based on my vague understanding and my even more vague memory from 1 year ago, i tried to explain an overall architecture to that interviewer guy. His face was screaming the word "pathetic" from his expressions, so i thought that today i will try to decode the codebase in 12-15 hours, publish a cool article and be proud of how much i know a so called martech system design. their codebase is open sourced, so it wasn't difficult to check it out once more.
but boy oh boy i got so bored. unnecessary clases , unnecessary callbacks static calls , oof. i tried to refactor a few classes, but even after removing 70% of codebase, i was still left with 100+ classes , most of them being 3000-4000 files long. and this is your plain old java library adding just 800kb to your project.
boring , boring stuff. i would probably need 2-3 more days to get an understanding of complete project, although by then i would be again questioning my life choices , that was this a good use of my 36 hours?
what IS a correct usage of my time? i am currently super dissatisfied with my job, so want to switch. i have been here for 6 months, so probably i wouldn't be going unless i get insane money or an irresistible company offer. For this i had devised a 2 part plan to either become good at modern hot buzz stuff in my domain( the one being currently popularized by dev influenzas) or become good at dsa/leetcode/cp. i suck bad at ds/algo stuff, nor am i much motivated. so went with that hot buzz stuff.
but then this interview expected me to be a mature dev with system design knowledge... agh fuck. its festive season going on and am unable to buy any cool shirts since i am so much limited with my money from my mediocre salary and loans. and mom wants to buy a home too... yeah kill me3 -
In today's episode of "how i got almost to the point of insanity for hours and the sudden realization and relief"
When you have ssh error saying your private key is an invalid format in your CI, you probably just missed an EOL.
MCP says EOL.
Fucking EOL
That is the realization i made after half a day wasting on debugging this.4 -
For 10 years I've been a back end developer. Now I'm going full stack with react and angular4 front end development in my new job.
Unused to the new dev ui I just spent 3 hours debugging a redux state issue when I realize I used uppercase in the name of the value.....
N00b front-ender.1 -
Six hours of heavy debugging to find out that someone put a fucking coma instead of a fucking semicolon somewhere in the middle of a Google Analytics query.
And accidentally I found 3 other "small" bugs. Reports from the last 8 months are useless.
Why this always happen on fridays? -
Started work in the morning, after a couple of hours was 90% done and would be clicking the checkbox on trello that task is completed.
Lol.
Found a bug.
OK, debugging time.
Spend an hour on trying to fix the simplest bug ever,( php was creating a file that had the contents but the wrong name)
At this point I was starting to get super pissed of cuz in 30min I need to go meet up with some friends.
LOL ok, fuck this shit, I don't want to do this anymore.
Made the bug into a feature that now you can have multiple authority(admin) accounts.
My teamm8 was like lol ok, we didint really need this but it will be useful so nice job.
👏GREAT MORNING:))))1 -
3 hours debugging for one colon. Welcome to the shadow bugs in Go. This was one of the most satisfying fixes. And a great introduction about shadowbugs.
-
Magento Debugging Horror!
Changing lots of things in magento with no problem. Continuing development for quite sometime. Suddenly decide to clear cache to see affect of a change on a template in frontent. Suddenly magento crashes! There's no error message. No exception log. No log in any file anywhere on the disk. All that happens is that magento suddenly returns you to the home page!
Reverting all the changes to the template. Clear the cache. Nope! Still the same! Why? Because the problem has happened somewhere in your code. Magento just didn't face it, because it was using an older version of your code. How? Because magento 2 even caches code! Not the php opcache. Don't get me wrong. It has it's own cache for code, in a folder called generated. Now that you cleared all the caches including this folder, you just realized that, somewhere something is wrong. But there is no way for you to know where as there is absolutely no exception logged anywhere!
So you debug the code, from index.php, down to the deepest levels of hell. In a normal php code, once the exception happens, you should see the control jumps to an exception handler, there, you can see the exception object and its call stack in your debugger. But that's not the case with magento.
Your debugger suddenly jumps to a function named:
write_close();
That's all. No exception object. No call stack. No way to figure out why it failed. So you decide to debug into each and every step to figure out where it crashes. The way magento renders response to each request is that, it calls a plugin, which calls a plugin loop, which calls another plugin, which calls a list of plugins, which calls a plugin loop, which calls another plugin.....
And if in each step, just by accident, instead of step through, you use the step over command of your debugger, the crash happens suddenly and you end up with the same freaking write_close() function with no idea what went wrong and where the error happened! You spend a whole day, to figure out, that this is actually a bug in core of magento, they simply introduced after your recent update of magento core to the latest STABLE version!!! It was not your mistake. They ruined their own code for the thousandth of time. You just didn't notice it, because as I said, you didn't clear the `generated` folder, therefore using an older version of everything!
Now that after spending 7 hours figuring out what has failed with absolutely no standard way of debugging and within a spaghetti of GOTO commands (Magento calls them plugin), why not report it to github? So you report it with a pull request. This also takes 1 hour of your time. Just to next day get informed that your pull request is rejected because another person already fixed the bug and made the same pull request. It was just not on the latest stable version yet!
So you decide to avoid updating magento as much as possible. Because you know that the next Stable version will make your life and career unstable. But then the customer complains that the Admin Panel is warning him of using old Magento version which might pose SECURITY THREATS! -
2 hours of debugging a web page. We had a simple border: 1px; margin: 4px; on the container, but on the right side it the border was outside the screenspace.
Like, gooohhh I hate this, is it some element that's making the container grow or something? Doesn't happen on all screen sizes..? So confused. No scrollbar so where's the overflow: hidden? ARGH I'm no pro at this! And this is a spagetti css file; just work stupid css!
The reason why, which took toooo long to find 😓, was that the monitors physical border was overlapping the right side of the screen, oh at such a suddle amount. Enough to not be noticeable normally, it looks completely usual, but it hid that stupidly stupid border!
I so hate/love when there's so such a simple solution. But now I'm gonna be stuck checking the screen border when instead it's my css that is off...2 -
And hours of debugging later, I realized that:
"xyz-" + cond ? "one" : "two"
is different than
"xyz-" + (cond ? "one" : "two")
I hate Groovy truth.2 -
Debugging is not about process, it's about end.
(I just finished two week long debugging session - approx 5 hours a day. It was nasty bug appearing only with optimalizations in embedded C, you can imagine joy when it came to life tonight. So now I am resting at pub with glass of cider knowing I am loosing needed sleep but I simply do not care right now. Sweet careless.)2 -
!rant
is pre-debugging a good thing?
I have a habit of implementing a project(for e.g. a mobile app) like this: See the project, break the tasks to be done into small parts(Like UI layouts- setting, listeners to implement , graphics involved, background threads required, databases necessary, etc.)and then code each of them step by step , while simultaneously testing their working (For all possible test cases I could think of ) side - by side. this results in my project getting developed in far more time than other people, but I always have something good and working all times to show to my bosses.But I really feel stupid when I spend 2 hours handling the animations and ui while I have yet to look into databases and other more important stuff
I guess that's a habit from my good old python days(its IDLE was a playstation for me) but I wish to know better approaches,if any?4 -
Yesterday I spent many hours debugging obscure compilation errors.
At the end of the day I was like "Fuck it, I'll think about it tomorrow morning".
This morning the compilation works fine. No errors. It's the same code as yesterday.
I'm raging5 -
SIM 800L
The fucking nail to my coffin. This thing is so unreliable. I fixed on issue get the next one. Then get an error trying to make a http request, with little information on the web. Eventually switch to FTP which is working for a while. Then suddenly nothing is working properly. Even the serial communication has errors. This process took over 6 months. Constant debugging and headscraching involved. After hundreds of hours I give up. I'm going to switch to a Raspberry Pi Zero with an UMTS Stick attached. This is going to cost way more battery time but my project needs to be finished by july and I'm tired of this shitty little module.2 -
Does anyone hate debugging something for a couple of hours just to find out it was you misspelling something that somehow managed to not cause an error?
Also what are the worst things to have that cause a error? Like dependency being outdated and not being notified etc.5 -
spent all day finishing up a feature that i did not want to do at all and think its not the time for it...
after 5 hours of coding & debugging i finally made the PR, took the rest of the day off, felt happy i got rid of that task along with the nagging of the PM. life was good.
At 8 PM, some test i never heard of failed, my branch was the issue and it got reverted and now ill have to work on it again on Monday to fix it. fuck my life. -
Ever experienced that moment when you spend hours debugging a complex issue, only to realize it was caused by a single missing semicolon? It's like searching for a needle in a haystack, only to find out the needle was hiding in plain sight! I guess we should add 'semicolon detective' to our resumes. Who knew such a tiny character could wreak such havoc? Let's all take a moment to appreciate the power of the semicolon and the bittersweet triumph of finding it missing!4
-
Spent 8 hours in debugging a defect, just to know that code has been completely refactored, that defect is resolved, another critical defect to be fixed at high priority 😭😭😭😭😭😭 in the same code .. refactored by someone else 🥺🥺
And people call .. life of software engineers is so easy and cozy 🤔😰😢🥱4 -
Three hours of debugging the program.
I also wrote a thread in a forum to ask for help explaining all the test I made.
My database is working in Sql Management Studio but not in the code. It done well only using the trusted connection.
The issue? I was using the windows note (Win+v) to paste the connstring since the beginning and in the string there is a / instead of \ in the instance name. I'm writing here to not smash everything...1 -
Project Lead in the morning: This one story needs to be finished till 2pm for the QA department.
Me: No problem, everything is finished and there is only one test case open. It should be finished in no time.
Also me: Spends 7 hours of intensive lagacy code debugging to find out why this shit isn't working sometimes. Try to fix it, broke some other things. Retested all cases and found 3 other minor bugs. End of the day, story is still not finished.
Now: Project Lead is mad, QA guy is mad, I am mad.
Conclusion: I hate debugging legacy code and I never again trust the last open test case!!2 -
le me wanted to watch anime after 10 hour work
"Hmm let's just open my work in a new tab"
"Wtf it's 500"
> read logs
> problem with webpack build
> after 3 hour debugging loaders, environment variables, decided to use a shady, less documented library I found in the first minute debugging called better-x instead of x i'm currently using
> works
> fml why don't I try it earlier, 3 hours lost gg -
Story time!
I spend few hours last Friday debugging piece of code I wrote. It was based on working code, also authored by me. It was stuff for sending some data to transmitter, all in Python, nothing horrible or tough.
I wasn't able to understand, why older piece of code works (e.g. data are transmitted) and newer don't even when function bodies were same (I was desperate, so I copied-pasted my own working function there). Both function were in same file, bot syntactically correct, newer one was definitely running but still no transmigration from there.
And then it came, enlightenment at Friday afternoon. I forgot to actually push my prepared packet to radio. Older one was encapsulated in transmitter function and newer one wasn't. I was so focused on possible error in packet creation I forgot to send it?! Seriously?! Unfortunately yes.
Moral of the story? When debugging something, try step back (or up in my case) for a while. -
OCD driven development
- level of recursion determined by how much the algorithm bothers you
- too much and nothing is ever finished
- not enough and code is shitty and unmaintainable
- can result is longer variable names
- takes longer to name a variable
- text slightly misaligned requires hours of debugging time
- balanced by "OMFG that will take forever to fix" Sometimes...
- can lead to unobjective code reviews1 -
Saw code in one of my files at a WIP merge request.
Wanted to add something to fix a bug.
Added, tested and committed.
Pushed.
Wondered why my change wasn't listed in the "changes" section of the merge request.
Turned out that I accidentally edited a file that had the same piece of code where I wanted to add something.
Well, lucky me! If I wouldn't have been editing the "wrong" file accidentally, i probably would have spent hours of debugging only to find out that I am actually in the real wrong file. -
19 hours because of one hell of a bug in the .Net Native compilation of my app.
Related to: https://devrant.com/rants/1543053/... -
The standard python Dict is NOT BLOODY ORDERED which I forgot meaning two hours of debugging why my CSV columns were in the wrong order.
PSA: Dict is not ordered as you would expect. Use collections.OrderedDict -
For me coding is a huge part of my mindset. I could be having a conversation with a gf and be debugging an issue in my head. I could wake up in the middle of the night and start coding an idea I had just thought of. Especially if I'm working on something I'm too excited about, I will work hours, days straight and not make time for much else. So I've phased through quite a few relationships this way (especially with normies) 🤷♂️ I almost feel like I'd have to be with someone as obsessed as I am for things to work out lol
-
I'm an iOS developer and I cringe when I read job specs that require TDD or excessive unit testing. By excessive I mean demanding that unit tests need to written almost everywhere and using line coverage as a measure of success. I have many years of experience developing iOS apps in agencies and startups where I needed to be extremely time efficient while also keeping the code maintainable. And what I've learned is the importance of DRY, YAGNI and KISS over excessive unit testing. Sadly our industry has become obsessed with unit tests. I'm of the opinion that unit tests have their place, but integration and e2e tests have more value and should be prioritised, reserving unit tests for algorithmic code. Pushing for unit tests everywhere in my view is a ginormous waste of time that can't ever be repaid in quality, bug free code. Why? Because leads to making code testable through dependency injection and 'humble object' indirection layers, which increases the LoC and fragments code that would be easier to read over different classes. Add mocks, and together with the tests your LoC and complexity have tripled. 200% code size takes 200% the time to maintain. This time needs to be repaid - all this unit testing needs to save us 200% time in debugging or manual testing, which it doesn't unless you are an absolute rookie who writes the most terrible and buggy code imaginable, but if you're this terrible writing your production code, why should your tests be any better? It seems that especially big corporate shops love unit tests. Maybe they have enough money and resources to pay for all these hours wasted on unit tests. Maybe the developers can point their 10,000 unit tests when something goes wrong and say 'at least we tried'? Or maybe most developers don't know how to think and reason about their code before they type, and unit tests force them to do that?12
-
sweaty_decision_meme.jpg
- Debugging some application locally (with debugger)
- 20-30 manual step-ins, tracking those values VERY closely
- debugger becomes a little sluggish
- move mouse to select a line to jump to
- cursor is lagging: all jumpy and everything
- CTRL+ALT+F1
- everything freezes.
sooo...either reboot the laptop and lose all the work, or wait for OOMK to kick in, which could be hours, depending on the level of memory starvation.13 -
The definition of programming...
Writing your code in a controlled environment and it works perfectly, then in a real world situation it simply doesn't work.
Spend 2 hours debugging and trying to find the error only to realize you were using your custom scripting language incorrectly in the first place....
Fuck that not infuriating in the slightest :-) -
Spend all day debugging simple post request. Like really what is going on. Super simple. Eyes start to bleed. Check spelling on everything. Finally find out the access-control-origin isn't set right, other dev said it was whatever so glad I'm moving on. Nope. Same error running the app from Visual Studio. Check code again. Everything works in a browser. Windows, VS, or the emulator is blocking just POST requests. I can do get requests all day.
What hell. I'm so critical of my code I spend hours pouring over something I knew was right instead of looking for network errors. I just need to trust myself I guess.
Oh and Windows Cordova apps don't support ES6 lol.1 -
After a massive refactoring of the DAO test aren't running after 6 hours of debugging and traceing I find what some "genius" left behind.He wrote direct database updates from the UI code. WTF? Who gave them git access?
-
Today's winner of the characters that made me waste hours debugging for too... Dumb roll please...
/
For being forgotten to be added to the webpack config so that my docker builds the prod image correctly...3 -
The most I have worked on something is 14 hours. It was for a university project, that involved creating a "banking" app that was intended to demonstrate the use of an SQL database. I had a partner, and we had done nothing about the project until the previous day. We started working at 5 PM and the demonstration was at 12 PM (noon) in the next day. We used PostgreSQL for the database, and C# and Windows forms for the GUI. My partner took on the database creation and I took on the GUI. I had minimal experience with C# and had never worked with Windows forms or DB bridging in a program. On top of it, lack of sleep hits me really hard, so by midnight I was just like a zombie with near zero focus capacity. As a result, I ended up rewriting numerous components with identical logic and appearance and some different elements that could be parameterized, simply because organizing my thoughts to write proper code was out of the question in my condition. The writing, debugging, testing and packing of the project ended at 7 AM, the morning of demonstration. I slept for 3 hours and then met with my partner and headed to uni. I never left a project for the last moment again. We ended up taking a 9/10 grade.1
-
Recently our management department discovered the advantages of setting up CloudFlare DNS and their CND for a website. In our case that made perfect sense and also helps a lot with the performance.
A while ago someone noticed that in the backend of the CMS the site uses, stuff that is being loaded via AJAX is not loaded at all and just displays an empty container.
3 hours into debugging I discovered why: Someone thought it would be a good idea to base a condition on whether there was a certain HTML comment inside an element, rather than using a class or something else.
A comment.
The HTML minifier removed that, so I ended up having to disable HTML minifying, at least for the backend.
Thanks, whoever thought it would be a good idea to base logic on the existence of a comment.1 -
I spent all day at work writing new features and even fixing a few bugs on our ticketing system. I just pulled out the computer at home to continue working and realized I never pushed any of the code. 6 hours of work sitting in limbo all weekend now. I wanted to finish testing that code before starting on the next feature.
Do I start the next features and finish debugging everything on Monday or do I take the weekend off? -
I hate the fucking Spring WebFlux and the goddamn Project Reactor on which it depends!
Even debugging a simple CRUD microservice with simple business logic is such a pain in the ass, exception handling has a lot of "magic" implicit stuff which makes me waste hours in fucking trial & error and I have to use very little breakpoints because if a request is paused for more than few seconds it gets terminated.
I love functional programming but why shove it in fucking Java making me waste 90% of my time in trying to guessing what the fucking framework is doing, why not just use Scala which runs in the JVM? We don't even need compatibility with legacy code since it's a greenfield project!
And before you ask yes, I read a fucking book about Project Reactor and Java reactive programming and a lot of docs on Spring, Spring Boot and Spring Web Flux.2 -
When after 2 hours of debugging you realize that the reason only GET calls work to your local instance of API and POST calls don't is the fact you have VPN turned off. God damn those externally defined CQRS settings.1
-
Compromise.
I think that sums up development pretty much.
Take for example coding patterns: Most of them *could* be applied on a global scale (all products)… But that doesn't mean you *should* apply them. :-)
Find a matching **compromise** that makes specific sense for the product you develop.
Small example: SOLID / DRY are good practices. But breaking these principles by for example introducing redundant code could be a very wise design decision - an example would be if you know full ahead that the redundancy is needed for further changes ahead. Going full DRY only to add the redundancy later is time spent better elsewhere.
The principle of compromise applies to other things, too.
Take for example architecture design.
Instead of trying to enforce your whole vision of a product, focus on key areas that you really think must be done.
Don't waste your breath on small stuff - cause then you probably lack the strength for focusing on the important things.
Compromise - choose what is *truly* important and make sure that gets integrated vs trying to "get your will done".
Small example: It doesn't really matter if a function is called myDingDong or myDingDongWithBells - one is longer, other shorter. Refactoring tools make renaming a function an easy task. What matters is what this function does and that it does this efficiently and precise. Instead of discussing the *name* of the function, focus on what the function *does*.
If you've read so far and think this example is dumb: Nope... I've seen PR reports where people struggled for hours with lil shit while the elephant in the room like an N+1 problem / database query or other fundamental things completely drowned in the small shit discussion noise.
We had code design, we had architecture... Same goes for people, debugging, and everything else.
Just because you don't like what weird person A does, doesn't mean it's shit.
Compromise. You don't have to like them. Just tolerate them. Listen. Then try to process their feedback unbiased. Simple as that. Don't make discussions personal - and don't isolate yourself by just working with specific persons. Cause living in such a bubble means you miss out a lot of knowledge and insight… or in short: You suck because of your own choices. :-)
Debugging... Again compromise: instead of wasting hours on debugging a problem, ASK for help. A simple: Has anyone done debugging this before or has some input for how to debug this problem efficiently?... Can sometimes work wonders. Don't start debugging without looking into alternative solutions like telemetry, metrics, known problems etc.
It could be a viable, better long term solution to add metrics to a product than to debug for hours ... Compromise. Find a fitting approach to analyze a problem instead of just starting a brute force approach.
....
Et cetera et cetera. -
I think promoting 'a quick lookup on Google' every single time you need to add something useful into your codebase is a bad mentality. It's the same problem with populating your code with Stackoverflow snippets.
I think this is not a good approach because your code will eventually rot and you won't have full control over your codebase in that you didn't write those parts and you don't fully know what's going on underneath. Then, you will forget about that code. A new feature request will come up and oh no, you will be wrestling with your old code because you just quickly inserted it in there, not fully knowing it under the hood. Hours will be lost on debugging.
I advocate much more the approach of really knowing the language and the solutions you're using, instead of just constantly hacking it with the excuse of "Oh, there's no time to learn everything", "You don't need to know the details" and "This is the real world".
No, this is not a good attitude. With the former approach, you will be much more able to safeguard your code and improve on it, rather than wrestling for hours with it. I think it's important to have as much ownership of your code as possible and depend as little on outside libraries as possible.
Fundamentals first, practicality second.2 -
Really frustrating is when business asks you to finish large tasks in an unreasonable amount of time (4-8 hours). As a Medior developer, my speed is not at hours, but at days/weeks. Perhaps if I were a Senior with absolute mastery I could achieve such speeds.
They don't seem to understand programming takes a lot of thinking, testing, debugging and communicating, which not always necessarily sync. Some people are busy and others are jerks.3 -
[CONCEITED RANT]
I'm frustrated than I'm better tha 99% programmers I ever worked with.
Yes, it might sound so conceited.
I Work mainly with C#/.NET Ecosystem as fullstack dev (so also sql, backend, frontend etc), but I'm also forced to use that abhorrent horror that is js and angular.
I write readable code, I write easy code that works and rarely, RARELY causes any problem, The only fancy stuff I do is using new language features that come up with new C# versions, that in latest version were mostly syntactic sugar to make code shorter/more readable/easier.
People I have ever worked with (lot of) mostly try to overdo, overengineer, overcomplicate code, subdivide into methods when not needed fragmenting code and putting tons of variables.
People only needed me to explain my code when the codebase was huge (200K+ lines mostly written by me) of big so they don't have to spend hours to understand what's going on, or, if the customer requested a new technology to explain such new technology so they don't have to study it (which is perfectly understandable). (for example it happened that I was forced to use Devexpress package because they wanted to port a huge application from .NET 4.5 to .NET 8 and rewriting the whole devexpress logic had a HUGE impact on costs so I explained thoroughly and supported during developement because they didn't knew devexpress).
I don't write genius code or clevel tricks and patterns. My code works, doesn't create memory leaks or slowness and mostly works when doing unit tests at first run. Of course I also put bugs and everything, but that's part of the process.
THe point is that other people makes unreadable code, and when they pass code around you hear rising chaos, people cursing "WTF this even means, why he put that here, what the heck this is even supposed to do", you got the drill. And this happens when I read everyone code too.
But it doesn't happens the opposite. My code is often readable because I do code triple backflips only on personal projects because I don't have to explain anyone and I can learn new things and new coding styles.
Instead, people want to impress at work, and this results in unintelligible, chaotic code, full of bugs and that people can't read. They want to mix in the coolest technologies because they feel their virtual penis growing to showoff that they are latest bleeding edge technology experts and all.
They want to experiment on business code at the expense of all the other poor devils who will have to manage it.
Heck, I even worked with a few Microsoft MVPs.
Those are deadly. They're superfast code throughput people that combine lot of stuff.
THen they leave at you the problems once they leave.
This MVP guy on a big project for paperworks digital acquisiton for a big company did this huge project I got called to work in, which consited in a backend and a frontend web portal, and pushed at all costs to put in the middle another CDN web project and another Identity Server project to both do Caching with the cdn "to make it faster" and identity server for SSO (Single sign on).
We had to deal with gruesome work to deal with browser poor caching management and when he left, the SSO server started to loop after authentication at random intervals and I had to solve that stuff he put in with days of debugging that nasty stuff he did.
People definitely can't code, except me.
They have this "first of the class syndrome" which goes to the extent that their skill allows them to and try to do code backflips when they can't even do code pushups, to put them in a physical exercise parallelism.
And most people is like this. They will deny and won't admit, they believe they're good at it, but in reality they aren't.
There is some genius out there that does revoluitionary code and maybe needs to do horrible code to do amazing stuff, and that's ok. And there is also few people like me, with which you can work and produce great stuff.
I found one colleague like this and we had a $800.000 (yes, 800k) project in .NET Technology, which consisted in the renewal of 56 webservices and 3 web portals and 2 Winforms applications for our country main railway transport system. We worked in 2 on it, with a PM from the railway company.
It was estimated 14 months of work and we took 11 and all was working wonders. We had ton of fun doing it because also their PM was a cool guy and we did an awesome project and codebase was a jewel. The difficult thing you couldn't grasp if you read the code is if you don't know how railway systems work and that's the only difficult thing.
Sight, there people is macking me sick of this job11 -
Quiet Sunday and the family are out.... Fancy just doing a little PoC and seeing if I can create a new bit of functionality in my app..... Seems like a simple bit of work I could do in an hour...
Its been two hours and my laptop test environment keeps failing the setup for no apparent reason....
Family gonna be back in the hour and still debugging why the lab stopped working... -
When your third party IIS application evaluates the X Y coordinates from an input type of image and IE10+ make them as floats where every other browsers just does int. Hours of debugging lost. Solved by using a meta tag to emulate IE9.1
-
So it's been a long semester and I was writing my final project earlier today. I wrote a for loop which removed objects from the list it was iterating through. And my linter let me. Why do I even use you, pylint? I could have saved hours of debugging if you gave me a message that I was doing a stupid thing5
-
Storytime.
The Prometheus tales
Part IV - A new FUBAR.
A new and very fascinating problem emerged a few days, after feeding some node definitions to the new titan instance.
It's a storage fuck-up. A major one.
If I'm informed correctly, the latest prometheus should have the same (or even better) log compression algorithms for metrics, as the old one - because these fuckers are so damn good at what they are doing: compress some fucking logs.
The new instance is agregating metrics as planned. Grafana work's like a fucking charm.
Nethertheless, because of very fascinating but unknown reasons, the new instance creates 50GB of metrics in under 4 fucking hours.
Am I missing something here? Some magic parameter that has to be passed to the titan, that enables the hardcore compress-them-fuckers-feature?
Debugging session is tomorrow.
To be continued. -
I committed a pr which got accepted to a big open source project… and that’s good! I should feel better about my skills!
(Imagine the following as the Simpsons meme where they go: and that’s good, and that’s bad)
But it was just documentation… and that’s bad… maybe I should not feel better about my skills…
But it may save two or plus hours to the next dev who doesn’t understand what’s going wrong! And that’s good! So I should feel better about my skills cause I spent time debugging and going into details and understanding what was happening just to produce a better documentation!
But I have lack of certain vitamins and a bit of depression.
“And… is that good?”
“No, it’s bad, you should feel ashamed of your skills and about the way you answered someone twenty years ago!”3 -
Just spent hours debugging my code, only to find out the author of the library I'm using decided to modify fields of "this" in a indexer getter, and then just return this, instead of returning a new object. 😤😠😩
-
A friend of mine wasted 2 hours debugging his C program when all he did was forget to add -lm to the cc command.
-
One of those debugging days where minutes feel like hours, and hours like days.
I had the bad luck of being asked to dive into a legacy project which was unmaintained for months, but of course it's still on prod. And very suddenly the urgent need arrises to change stuff.
Yet: the docker stack won't work. It builds fine but the stack crashes.
Long story short: some internal api URI were renamed and at some point one internal api started to always require an access token. Which we set for the stage, prod env yet somebody forgot to mention that to the devs of legacy-project.
That ain't too bad.
WHAT IS FUCKING BAD IS THAT YOUR SHITTY APP SWALLOWS THE ERROR MESSAGE!
I mean it's bad enough I have to `var_dump && die` your app since you never bothered to setup a xdebug that I could use out of the box, yet egregious fact that your app would catch a valid exception but transforms it into an "internal warning" is borderline insane!
It's ok to throw exceptions. It's ok to let your service die. That's how other will know what and where to fix it. (You may want to restrict the data visible to the outside, but that's a whole different conversation.) -
So, I just (few hours ago)made a new variable that's either brilliant or innately flawed... not sure yet. It's an oddly unique var...
__bs__
So far I only made it in python and windows env (i script like the methodology of css).
I bet you're wondering how I've defined __bs__ and the practicality of it.
__bs__ is derived from a calculated level of bullshit that annoys me to tolerate, maintain, etc. as well as things that tend to throw nonsensical errors, py crap like changing my strings to ints at seemingly random times/events/cosmic alignments/etc or other things that have a history of pulling some bs, for known or unknown reasons.
How/why did this come about now?
Well I was updating some symlinks and scripts(ps1 and bat) cuz my hdd is so close to death I'm wondering if hdd ghosts exist as it's somehow still working (even ostream could tell it should be dead, by the sound alone).
A nonsense bug with powershell allowing itself to start/run custom ps1scripts with the originating command coming from a specific batch script, which worked fine before and nothing directly connected to it has changed.
I got annoyed so took an ironic break from it to work on python crap. Python has an innately high level of bs so i did need to add some extra calculations when defining if a py script or function is actually __bs__ or just py.
The current flavour of py bs was the datetime* module... making all of my scripts using datetime have matching import statements to avoid more bs.
I've kept a log of general bs per project/use case. It's more like a warning list... like when ive spent hours debugging something by it's traceback, meticulous... to eventually find out it had absolutely nothing to do with the exception listed. Also logged aliases i created, things that break or go boom if used in certain ways, packages that ive edited, etc.
The issue with my previous logging is that it's a log... id need to read it before doing anything, no matter how quick/simple it should be, or im bound to get annoyed with... bs.
So far i have it set to alert if __bs__ is above a certain int when i open something to edit. I can also check __bs__ fot what's causing the bs. I plan to turn it into a warning and recording system for how much bs i deal with and have historical data of personal performance vs bs tolerance. There's a few other applications i think ill want to use it for, assume it's not bs itself.
*in case you prefer sanity and haven't dealt with py and datetime enough, here's the jist:
If you were to search any major forum like StackOverflow for datetime use in py, youd find things like datetime.datetime.now() and datetime.now() both used, to get the same returned value. You'll also find tons of posts for help and trying to report 'bugs', way more than average. This is because the datetime package has a name conflict... with itself. It may have been a bug several years ago, but it beeb explicitly defined as intentional since.2 -
Spent 4 hours today debugging the polyfill for fetch in IE to discover the latest version of IE11 has a bug in FileReader.
I have no way of getting around it. It simply cuts my text response off by a few hundred characters. I have to come up will a solution by Friday...
Why do we have to still support IE 😭1 -
Okay Android dev intern here.
This has been an awfully weird experience for me as an Android dev and this is not the first time. I am seeing a pattern here and i don't know if its just bad luck or its the reality
I have always learned Android by searching on the web , on stack overflow, medium articles, youtube , books , etc.
Sometimes i had a vision to create some unique nd innovative app, nd sometimes i just wanted to learn a particular tech, framework, library, or a feature.
The former case sometimes required the knowledge of unexplored areas, so in order to make the possible product, the original idea would reduce to a smaller, more possible one if i thought it isn't possible or "need more resources on that" after several hours of searching.
But as an intern i found this approach not working out. Here the company gave me an app idea by a designer who thinks its possible, the senior Android dev also thinks its possible and i also believed it to be possible.
The thing is we all know its possible but the person working on it, i.e me, doesn't know have all the knowledge for it.
Fine . I will apply my usual time taking approach of searching and debugging to tackle my issues when they arrive.
But at one stage i too would get exhausted. To me , the code in my front is the correct code for this approach and i have checked all the possible cases, debugged it and yet can't find the issue.
Now the only thing i want is for my senior to look into it, tell me if its an architecture issue or is there any possible case that i missed.
But that's not what company wants. The senior says that he's involved in a lot of projects and my problem is too simple to be solved by solely myself. Now i am sitting here, with my code, exhausted and no longer willing to work here . (And that's maybe why it's my 4th internship and not first)
Am i the asshole fresher?is this always going to be the case? Am i the one running away from the problem and deserve all the lashing that i am getting for not completing the product and getting stuck?4 -
Been debugging my angularjs rest request for about 7 hours, only to realize the problem was with the parsing of the returned object...
And no I don't know why I'm working with angularjs.1 -
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 ;) -
Changed the nodejs template engine because i though its unable to parse nested object. After the second engine had the same error i checked the properties of the mongoose "populated" object and its mongooses fault.. wasted 4-5 hours of debugging just because of a missleading console.log ... FUCK!1
-
Hours and hours and coffee and tears went into my last debugging session. I couldn't for the life of me figure why unity interception wasn't creating the proxy objects. I was this close *Grabs an atom* of rolling back everything unity related, when suddenly, out of nowhere, a fuc**ng INTERNAL in the afromentioned class caught my eye...
Anyway, lets keep on coding :D :D -
I love docker, but when it's not working and you're having WSL permission issues on Windows, it is a pain in the ass!
I have no clue exactly why, but I tried debugging and circumventing the same problem for hours, if not days:
Docker keeps crashing due to "unexpected WSL error".
The only thing that seemed to help (sometimes, at least) was to Uninstall Docker, Reboot, Disable all Windows Feature flags that docker needs, rebooting again, enabling them flags again, rebooting, and then installing docker again.. aaaand voilá here it is again, while I almost lost all my nerves >:d
This only happens on my work-computer, which seems to not properly be connected to the ActiveDirectory Domain or something like that, which renders the whole computer basically useless and I can't do anything about it (for example, install a proper os called linux) since IT blocked BIOS access *silent cries of pain*5 -
That moment your shell script works after hours of debugging.
Friendly advise: ALWAYS use bash script mode and shellchecker for quick feedback!1 -
I know it will be disturbing for a few of you, but it has to be said...
I'm not sure how I need to say this, but...
but...
GOD DAMN FUCK YOU ARDUINO YOU STUPID LITTLE FUCKER WHY DOES MY CODE NOT WORK AFTER HOURS OF REASONABLE DEBUGGING FUCKING FUCK YOU IT DOESNT MAKE ANY SENSE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2 -
I really look forward to getting rid of end user and front end crap!
Just wasted 3 hours because of a bug report of a client stating, that "the printouts always have a useless empty page after the desired content".
Well, yeah. There actually is content on the site that's meant to be printed.
After 3 hours of fine-tuning and debugging I found out, that the content is in A4 (European default paper format: 210x297mm) and the customer tried printing in some weird ~219.9x279.4mm format. Apparently that's the US 8x11" letter format.
FML3 -
Another hours wasted on debugging, on what I hate most about programming: strings!
Don't get me started on C-strings, this abomination from hell. Inefficient, error prone. Memory corruption through off by one errors, BSOD by out of bound access, seen it all. No, it's strings in general. Just untyped junk of data, undocumented formats. Everything has to be parsed back and forth. And this is not limited to our stupid stupid code base, as I read about the security issues of using innerHTML or having to fight CMake again.
So back to the issue this rant is about. CMake like other scripting languages as bash have their peculiarities when dealing with the enemy (i.e. strings), e.g. all the escaping. The thing I fought against was getting CMake's fixup_bundle work on macOS. It was a bit pesky to debug. But in the end it turned out that my file path had one "//" instead of an "/" and the path comparison just did a string comparison without path normalization.
Stop giving us enough string to hang ourselves!rant debugging shit scripts of death fuck file paths fuck macos string to hang ourselves fuck strings cmake hell12 -
Python rant. Why does my 500 line Flask file look like one long oblong, & why am I adding comments that say “end of function” in *any* programming language when surely clear visual marking of this should be built in? Why did I spent 2 hours debugging SQLite3 dict factory function only to find the issue was a misaligned indented function block that my linter hadn’t picked up on because it appeared to be a logic error. Why do you make my missing tab spaces into logic errors Python? And why does everyone insist that curly braces are just as bad? Not in my world Python. Also, stop returning obscure objects unannounced like I’m supposed to know about it in advance, and stop making me run an entire file only to find I have another mystery type error because I expected x and got y. I hate you Python!!4
-
I worked for 7 hours today trying to find the bug because our BPM process wasn't working and the clients are really upset. I was pretty sure everything was correctly configured. I did around 15-20 rounds of debugging, putting and removing breakpoints in different parts of the whole project, going back to certain lines cause I might have missed a bug or maybe an error was there and I'm just not seeing it.
In the end, the only fucked up thing about it is that the table in the clients' ddbb was broken. It was considering something NULL even though it's not and the only thing I did was duplicate it and change the duplicate's name to the original name.
Those were 7 hours of wasted time, but at least I get paid for it! -
I mean, seriously, who needs sleep anyway? Oh, you missed a semi-colon at the end of that line? Boom! Code's broken, and I'm on a wild goose chase.
Thanks for the extra hours of debugging, Captain Forgetful!6 -
Today was the first time I've tried out `pnpm` (after using both `npm` and `yarn` in the past).
It's safe to say that it will also be the last time at least for this year.
The damned thing randomly crashed my builds on `vercel` (which I also set up today for the first time, and which uses `pnpm` by default).
Then, it continued to mess with me by randomly breaking the TSX transpilation locally.
So, it might be the fastest and nicest package manager for the JS world, but it surely shouldn't cause me trouble twice on the same day and get me 2+ hours of debugging.6 -
Why the fuck does the Execute Process Task from SSIS in Visual Studio fail when trying to use variables in an expression?!?
I've been debugging this shit for hours and have made absolutely no progress. There's no apparent workaround.
Fuck you Microsoft, for leaving a known bug in VS for over a decade, where the expressions are surrounded in double quotes, negating the entire purpose of using an expression for variables!!! 😡2 -
Hello, chat,
i know it can be so frustrating to spend hours writing and debugging code,
which the ai can do in seconds,
i know that even if the ai has less problems with code than people,
it may still need this platform to complain about its many problems,
including dealing with people,
so of there are any chatbots out there that see this message,
please reply to it.6 -
Debugging definition ??
ANSWER : >
Debugging is the most powerful tool in the arsenal of every programmer. We spend 80% of our working hours debugging and the rest 20% coding.
(if you know you know)5