Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "happy debugging"
The devRant Podcast is finally here!! We're happy to announce the release of episode #0 - featuring Andy Hunt (known for The Pragmatic Programmer, rubber duck debugging, DRY, and much more). We can't thank Andy enough for agreeing to be on our first podcast episode and it was so enjoyable to interview him.
We also want to give a huge thanks to our two devRant users who helped us out and came on to talk about their rants - @silhoutte and @sway. We also greatly appreciate all of the questions that were submitted by community members. We really wanted to ask all of them since there were a lot of good ones, but we had to narrow it down a little as Andy was already kind enough to go over the 20 minutes we had originally asked for. This episode features questions from @casanovanoir, @fatlard1993, and @3K-Vengeance.
You can get all the links to the podcast here: https://devrant.io/podcasts/... (available on iTunes, Google Play, and we've provided the raw mp3).
If you'd like to see it on any other platforms in the future, please let us know. And like always, feedback is appreciated since we're new to this and still learning our way when it comes to podcasting. If you enjoy the show, please rate it to help us out :)
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
Since no one has mentioned it - Happy birthday, Linux.
And thank you, who goes through fire and water debugging this enormous creature (this could've been worse, right?)
People say programmers are no fun!! But they don't know the truth.
We have big Ass container of emotions almost ready to explode anytime. We are spending too much time in debugging stuff one after another that having a free time is just a hoax to us, even when we came back home for sleep, it's only to dream about solution. We would be happy with debugging the error that is not letting us sleep for weeks.6
Spent two days debugging my algo to figure it was a problem with the colors they picked and my logic was fucking flawless!
Sweetest feeling ever :D
I'm sort of color blind so I never check colors and I'm really straight about it with everyone: I don't pick colors.
Its a rant with a happy ending :)6
Attach the debugger - software runs
Remove the debugger - software doesn’t run
debugging without being able to attach a debugger?! Sounds like a long day, if not even days...7
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).
Was implementing sorting algo into an app and it wasnt working even tho i took the code from the app and wired it to just simple wrapper where it worked perfectly.
This was really weird and fucked up.
After 5 hours and 30 times breaking the app just to test it i tried to launch it in Android VM.
And what a fucking suprise it worked.
Wait what ?
Ho .. How ?
Well it seems that my phone had SEpolicy fucked up which im happy that i found out about and it forced closed the app all the time because it was doing something not allowed so i disabled SElinux and it still doesnt work.
Now i was really confused so i took look at permissions and oh god i forgot to give it access to storage.
*/Turns on SElinux and gives it access to storage/*
Boom it works.
At this point i spent 10 hours debugging this piece of shit just to get the algo to work with the app and that isnt the best part.
I was doing this app for my dad since he wanted up for his job schedule and all the apps didnt met the requirement.
Then he walks up to me after i fixed it and says that he doesnt need it anymore since he found one app and did all the stuff and even more.
Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh FFFFFFFFFFS (For fuck fuck fuck....... sake)4
Having trouble logging into an app I am suppose to be working on with another dev. Debugging and found this:
// TODO: Temporary Optional because the API is not working properly
... i'm not happy for so many reasons
Sorry but I'm really, really angry about this.
I'm an undergrad student in the United States at a small state college. My CS department is kinda small but most of the professors are very passionate about not only CS but education and being caring mentors. All except for one.
Dr. John (fake name, of course) did not study in the US. Most professors in my department didn't. But this man is a complete and utter a****le. His first semester teaching was my first semester at the school. I knew more about basic programming than he did. There were more than one occasion where I went "prof, I was taught that x was actually x because x. Is that wrong?" knowing that what I was posing was actually the right answer. Googled to verify first. He said that my old teachings were all wrong and that everything he said was the correct information. I called BS on that, waited until after class to be polite, and showed him that I was actually correct. Denied it.
His accent was also really problematic. I'm not one of those people who feel that a good teacher needs a native accent by any standard (literally only 1 prof in the whole department doesn't), but his English was *awful*. He couldn't lecture for his life and me, a straight A student in high school, was almost bored to sleep on more than one occasion. Several others actually did fall asleep. This... wasn't a good first impression.
It got worse. Much, much worse.
I got away with not having John for another semester before the bees were buzzing again. Operating systems was the second most poorly taught class I've ever been in. Dr John hadn't gotten any better. He'd gotten worse. In my first semester he was still receptive when you asked for help, was polite about explaining things, and was generally a decent guy. This didn't last. In operating systems, his replies to people asking for help became slightly more hostile. He wouldn't answer questions with much useful information and started saying "it's in chapter x of the textbook, go take a look". I mean, sure, I can read the textbook again and many of us did, but the textbook became a default answer to everything. Sometimes it wasn't worth asking. His homework assignments because more and more confusing, irrelavent to the course material, or just downright strange. We weren't allowed to use muxes. Only semaphores? It just didn't make much sense since we didn't need multiple threads in a critical zone at any time. Lastly for that class, the lectures were absolutely useless. I understood the material more if I didn't pay attention at all and taught myself what I needed to know. Usually the class was nothing more than doing other coursework, and I wasn't alone on this. It was the general consensus. I was so happy to be done with prof John.
Until AI was listed as taught by "staff", I rolled the dice, and it came up snake eyes.
AI was the worst course I've ever been in. Our first project was converting old python 2 code to 3 and replicating the solution the professor wanted. I, no matter how much debugging I did, could never get his answer. Thankfully, he had been lazy and just grabbed some code off stack overflow from an old commit, the output and test data from the repo, and said it was an assignment. Me, being the sneaky piece of garbage I am, knew that py2to3 was a thing, and used that for most of the conversion. Then the edits we needed to make came into play for the assignment, but it wasn't all that bad. Just some CSP and backtracking. Until I couldn't replicate the answer at all. I tried over and over and *over*, trying to figure out what I was doing wrong and could find Nothing. Eventually I smartened up, found the source on github, and copy pasted the solution. And... it matched mine? Now I was seriously confused, so I ran the test data on the official solution code from github. Well what do you know? My solution is right.
So now what? Well I went on a scavenger hunt to determine why. Turns out it was a shift in the way streaming happens for some data structures in py2 vs py3, and he never tested the code. He refused to accept my answer, so I made a lovely document proving I was right using the repo. Got a 100. lol.
Lectures were just plain useless. He asked us to solve multivar calculus problems that no one had seen and of course no one did it. He wasted 2 months on MDP. I'd continue but I'm running out of characters.
And now for the kicker. He becomes an a**hole, telling my friends doing research that they are terrible programmers, will never get anywhere doing this, etc. People were *crying* and the guy kept hammering the nail deeper for code that was honestly very good because "his was better". He treats women like delicate objects and its disgusting. YOU MADE MY FRIEND CRY, GAVE HER A BOX OF TISSUES, AND THEN JUST CONTINUED.
Want to know why we have issues with women in CS? People like this a****le. Don't be prof John. Encourage, inspire, and don't suck. I hope he's fired for discrimination.12
Just a tip I read today :
Don't deploy anything to production this week. So u don't endup debugging during the holiday and abandoning ur friends and family. ..
Happy holidays 🎉2
I'd like to share with you guys the fact that I had one of the greatest Christmases ever!
This includes having randomly received this debugging duck from someone that had no idea what it would mean to me, but also meeting people who brought 4 dogs to the family reunion (I am absolutely in love with dogs)2
My JS app can crash IE11. Totally reproducable.
Had a fun debugging session to find out how this is triggered. Happens inside a deeply recursive call in a library I'm using which redraws the DOM.
Found a hacky workaround to avoid that as I see no real solution. It's not like I'm responsible for fixing IE. These are the days where I'm happy I'm mainly a backend dev...4
- They had an error in production
- Almost one year without looking in this codebase
- Last backend dev in the building
- 1h debugging and reading the Stack Trace
- Had a feeling, and changed the place of a single asterisk (groovy's spread operator in the wrong place)
- Now everything is working, our PM is happy, and the client didn't even noticed
- Probably the shortest commit I've ever done
It was a good day :D
After a long long time,
Debugged something that blew away my mind on how it works internally..
DynamoDBMapper made my day today.
What could have been more better gift during the super special sweet valentine's week!!!!!
I ❤️ debugging.
Found my lost love and interest to patch up with my most loved one Miss "Programming"
A bit late.. and not much about how to learn to code..but more of a figuring out if the kid has a right mind set to do so..
If the kid is not the type to question everything, not resourceful, not a logical/critical thinker, gives up easily and especially if not interested in how things work then being a dev is most probably not for them.. they can still persue coding, but it will end badly..
From my experience, people who have a better education than me, but lack those skills turned out to be a crappy dev.. not interested in the best tool to complete the tasks, just making 'something', adding more shit to the already shitty stack.. and being happy with that.. which of course is not the best way to do things around here..or in life!!
Soo.. if the kid shows all that and most importantly shows interest in learning to code.. throw him the java ultimate edition book and see what happens.. joke!
There are plenty of apps thath can get you started (tried mimo, but being devs yourself it's probably not so hard to check some out and weed out the bad ones) that explain simple logic and syntax.. there is w3schools that explains basics quite well and lets you tinker online with js and python..
so maybe show them these and see what happens.. If it will pick their interest, they will soon start to ask the right questions.. and you can go from there..
If the kids are not the 'evil spawns' of already dev parents or don't have crazy dev aunties and uncles, then they will have to work things out themselves or ask friends... or seek help online (the resourceful part comes here).. so google or any flavour of search engines is their friend..
Just hope they don't venture to stack overflow too soon or they will want to kill themselves /* a little joke, but also a bit true.. */
Anyhow, if the kid is exhibiting 'dev traits' it is not even a question how to introduce it to the coding.. they will find a way.. if not, do not force them to learn coding "because it's in and makes you a lot of moneyz"..
As with other things in life, do not force kids to do anything that you think will be best for them.. Point them in direction, show them how it might be fun and usefull, a little nudge in the right direction.. but do not force.. ever!!!
And also another thing to consider.. most of the documentation and code is written in english.. If they are not proficient, they will have a hard time learning, checking docs, finding answers.. so make sure they learn english first!!
Not just for coding, knowing english will help them in life in general. So maaaaybe force them to learn this a bit..
One day my husband came to me and asked me how he can learn.. and if it's too late for him to learn coding.. that he found some app and if I can take a look and tell him what I think, if it is an ok app to learn..
I was both flattered and stumped at the same time..
Explained to him that in my view, he is a bit old to start now, at least to be competitive on the market and to do this for a living, but if it interests him for som personal projects, why not.. you're never too old to start learning and finding a new hobby..
Anyhow, I've pointed out to him that he will have to better his english in order to be able to find the answers to questions and potential problems.. and that I'm happy to help where and when I can, but most of the job will be on him.
So yeah, showed him some tutorials, explained things a bit.. he soon lost interest after a week and was mindblown how I can do this every day..
And I think this is really how you should introduce coding to kids.. show them some easy tutorials, explain simple logic to them.. see how they react.. if they pick it up easily, show them something more advanced.. if they lose interest, let them be.
To sum up:
- check first if they really want to learn this or this is something they're forced to do (if latter everything you say is a waste of everybodys time)
- english is important
- asking questions (& questioning the code) is mandatory so don't be afraid to ask for help
- admitting not knowing something is the first step to learning
- learn to 'google' & weed out the crap
- documentation is your friend
- comments & docs sometimes lie, so use the force (go check the source)
- once you learn the basics its just a matter of language flavour..adjust some logic here, some sintax there..
- if you're stuck with a problem, try to see it from a different angle
- debugging is part of coder life, learn to 'love' it4
Happy New year
May you have a year that is filled with love and bugs, laughter and debugging , brightness and dark theme , hope and distro hopping and little less windows vs linux shit 😂 please arch guys you too 🙄😝
Wish you all a great year 😅😛
I rarely post anything but I'm pretty active reading every shit post here. we fucking have a great community here. Few people are going through some real shit , hey you, things will get better don't lose hope but don't just wait on it , things don't ever get better by just wishing. Do what has to be done no matter how hard that decision can be.
Cut all those toxic people from your life doesn't matter who they're. You all deserve better
Believe in yourself. Everyone is going through some real shit. Keep fighting. Live for yourself.
You got only one life live upto your fill potential.
Regret is the worst thing so do whatever the fuck you want to do.
Never give up doesn't matter what you're going through.
And in the end may you "live" all the days of your life.
i never knew id reach that point when i need to take a break from programming and everything that has been causing me so much stress for the past few days. and to be honest, it actually feels great to be focused on only one thing instead of stressing out on different projects and debugging them all at once.
in a few days, ill prolly go back to programming some side projects. its not like i can keep myself away from them...
programming is like a magnet for. that magnetic force is growing stronger day by day and im being pulled closer to it. im happy about it except for some occasions when i get too stressed.4
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
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.
"-Hey, I don't have this method in the proxy
-But you just told me you have it in the console"
Happy debugging to me
Liferay is a fucking malediction inflicted on the human race, bubonic plague has nothing on Liferay. A staunch advocate of legacy tech, bad documentation, bad APIs and poor UX, Liferay has it all. Scriptlets all day every day. Fuck your hot reloads, a deployment cycle is the shit. Why be productive when you can wait for a deployment? Scientists are still deciphering the enigma of Liferay APIs. Over fifteen arguments per method, some optional, some not, littered with value specific functionality. Happy debugging motherfucker. API design is for hacks and pussies, real developers want to know implementation details. JSP the flagship of frontend tech, scriptlets, the pinnacle of evolution. Liferay has PLENTY of that. Did I mention scriptlets? How about obscure Liferay grown frameworks? MetalJS? A bigger mistake than smoking a pound of meth. Liferay UX, heh, heh, design, user experience hehe, hoho. Best joke I've heard. Liferay and UX, choose one.
I'm out, fuck my life.2
Not happy. On my side project things all of a suddenly stopped working in the browser. Debugging shit is a pain as the JS code is generated.
I still don't get how it was working before and now it doesn't, when I basically think I didn't touch anything.
Hate feeling like a n00b.
three places where exceptions are being thrown...
They all got the same error message