Details
-
SkillsFull stack web development ( Ruby on Rails )
-
LocationEgypt
Joined devRant on 10/31/2016
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
-
Dear people who complain about spending a whole night to find a tiny syntax error; Every time I read one of your rants, I feel like a part of me dies.
As a developer, your job is to create elegant optimized rivers of data, to puzzle with interesting algorithmic problems, to craft beautiful mappings from user input to computer storage and back.
You should strive to write code like a Michelangelo, not like a house painter.
You're arguing about indentation or getting annoyed by a project with braces on the same line as the method name. You're struggling with semicolons, misplaced braces or wrongly spelled keywords.
You're bitching about the medium of your paint, about the hardness of the marble -- when you should be lamenting the absence of your muse or the struggle to capture the essence of elegance in your work.
In other words:
Fix your fucking mindset, and fix your fucking tools. Don't fucking rant about your tabs and spaces. Stop fucking screaming how your bloated swiss-army-knife text editor is soooo much better than a purpose-built IDE, if it fails to draw something red and obnoxious around your fuck ups.
Thanks.62 -
An entirely typical exchange at work:
PM: How long would it take to build an application that collates Gubblefluffs and exports them as a PDF?
ME: Hard to say. What’s a Gubblefluff?
PM: Nothing complex. Its basically an object with some stuff in.
ME: Erm, okay. So I’ll define a Gubblefluff object plus methods to add edit and delete, then for each Gubblefluff have it write a line to a PDF.
PM: It will need to email that PDF to somebody.
ME: Okay, cool. “Gubblefluffs-by-email” should take about a day.
6 hours later…
ME: I’ve done Gubblefluffs-to-pdf, I’m not clear on what’s in a Gubblefluff but I’ve made it flexible so it can take almost anything.
PM: No, a Gubblefluff can ONLY be one of 4 Snigglefingers plus a timestamp and some JSON.
ME: What? Right. Okay. What’s a Snigglefinger?
PM: (sighs) A Snigglefinger is the collection of relevant Babelsets.
ME: Babelsets?
PM: Yeah, a user can have any number of Babelsets but they must correspond to one of the four types of Snigglefingers.
ME: There are users!?
PM: Of course!
ME: But I’ve not coded anything for users.
PM: Shit. I’ve told the client they can have it today. How long to add in users?
ME: And Babelsets, and Snigglefingers and the new Gubblefluff rules?
PM: Yeah.
6 days later…
ME: This is done now. It’s a beast but it works. Who should it email the PDFs to?
PM: Client X, plus cc to Y and bcc to Z.
ME: What? It doesn't support CC and BCC!
1 hour later…
ME: This is done. I’ve tested it and sent you a copy of the PDF it generates.
PM: Okay thanks. Is the cron running daily?
ME: What cron?
…
ME: Okay, so the cron’s running once a day at 8pm.
PM: Oh, it’ll need to be at 3:15pm. That’s when we’ve told the client they’ll get it.
ME: Right. I’ll change it...
PM: Also, the PDF you sent me looks nothing like the visual.
ME: What visual?
...53 -
That feel when pants that were large before I started programming now can't even fit above my waist.
Since I started programming and using GNU/Linux I've gotten fatter.
Goddammit.4 -
!rant
Some of my friends and me stayed the night in a small house. Everyone except me drank beer and now they are all sleeping while I am sitting right next to the socket in a corner listening to music and reading through the documentation of java.
This describes my life pretty well. -
Time flies, one minute you're starting a project at 11PM and finally ready to sleep...at 5.45AM
You know that feeling when you're "on the zone"2 -
I committed a bug fix that was about 4 lines changed but a full day of critical thinking.
The next day my boss tells me, that I clearly wasted company time and that I should be producing at least 200 lines of code a day. When will people learn that lines of code is not an accurate measurement of work accomplished?3 -
The time the manager blew wind in a million dollar + client meeting. The meeting ended quick soon after that as the smell lingered in the room for hours. The client went else where we lost our jobs.3
-
The client said meeting was Monday at 9:30AM. My fault was forgetting to ask what Monday of the year it was. It's already past 11AM and still no sign of them. smh7
-
- It's a game, play it
- Come prepared
- It's better to say "not sure" or "don't know" than bullshit
- Don't write in the CV (or mention during the interview) things you don't want to be asked about
- Sound eager and enthusiastic about your profession because no one likes a downer
- the interview is a sales meeting, you are the goods, be sure to be a good salesman10 -
A friend of mine asked me if I could review his code. I said ok and immediately regretted it when he sent me 250 lines of .docx text. In PDF. So I couldn't even copy-paste it.4
-
Side projects what got me job three times. Move your lazy ass and work on your projects AND actually finish at least one 😒15
-
So, this random teen on subway asked me if it was 9GAG I was scrolling [i was on this app ofc]. I said it's better than 9GAG.
He went on like this "oh cool, does it have the the NSFW section too?"
...
Me: a...No, but can learn coding stuff
Him: hacking?
Me: hacking is not what you thin... [He interrupted me]
Him: Damn cool, I wanna learn hacking, it's my stop nice meeting you tell me the name of the app
Me: a...9...ha...ck, 9hack!
Him: cool, thanks. [Gets off]
(Um...Some people just don't deserve DevRant, if you know what I mean)30 -
Proud dad moment:
My son just worked out how to use a firestick remote to put Thomas on TV.
He's 2.
My parents can barely work their remote without playing 20 questions.
Not long before he learns how to use bash now!11 -
I have been slack in the past with testing, in the last 2 months I have got better and better at sticking to TDD. Now I am Addicted! There is a God like feeling that comes with having written bullet proof testable code.
Anyone who thinks it's a waste of time or is putting it off just do it and stick to it, you will become a better programmer and write better code. -
This code review gave me eye cancer.
So, first of all, let me apologize to anyone impacted by eye cancer, if that really is a thing... because that sounds absolutely horrible. But, believe me, this code was absolutely horrible, too.
I was asked to code review another team's script. I don't like reviewing code from other teams, as I'm pretty "intense" and a nit-picker -- my own team knows and expects this, but I tend to really piss off other people who don't expect my level of input on "what I really think" about their code...
So, I get this script to review. It's over 200 lines of bash (so right away, it's fair game for a boilerplate "this should be re-written in python" or similar reply)... but I dive in to see what they sent.
My eyes.
My eyes.
MY EYES.
So, I certainly cannot violate IP rules and post any of the actual code here (be thankful - be very thankful), but let me just say, I think it may be the worst code I've ever seen. And I've been coding and code-reviewing for upwards of 30 years now. And I've seen a LOT of bad code...
I imagine the author of this script was a rebellious teenager who found the google shell scripting style guide and screamed "YOU'RE NOT MY REAL DAD!" at it and then set out to flagrantly violate every single rule and suggestion in the most dramatic ways possible.
Then they found every other style guide they could, and violated all THOSE rules, too. Just because they were there.
Within the same script... within the SAME CODE BLOCK... 2-space indentation... 4-space indentation... 8-space indentation... TAB indentation... and (just to be complete) NO indentation (entire blocks of code within another function of conditional block, all left-justified, no indentation at all).
lowercase variable/function names, UPPERCASE names, underscore_separated_names, CamelCase names, and every permutation of those as well.
Comments? Not a single one to be found, aside from a 4-line stanza at the top, containing a brief description of that the script did and (to their shame), the name of the author. There were, however, ENTIRE BLOCKS of code commented out.
[ In the examples below, I've replaced indentation spacing with '-', as I couldn't get devrant to format the indentation in a way to suitably share my pain otherwise... ]
Within just a few lines of one another, functions defined as...
function somefunction {
----stuff
}
Another_Function() {
------------stuff
}
There were conditionals blocks in various forms, indentation be damned...
if [ ... ]; then
--stuff
fi
if [ ... ]
--then
----some_stuff
fi
if [ ... ]
then
----something
something_else
--another_thing
fi
And brilliantly un-reachable code blocks, like:
if [ -z "$SOME_VAR" ]; then
--SOME_VAR="blah"
fi
if [ -z "$SOME_VAR" ]
----then
----SOME_VAR="foo"
fi
if [ -z "$SOME_VAR" ]
--then
--echo "SOME_VAR must be set"
fi
Do you remember the classic "demo" programs people used to distribute (like back in the 90s) -- where the program had no real purpose other than to demonstrate various graphics, just for the sake of demonstrating graphics techniques? Or some of those really bad photo slideshows, were the person making the slideshow used EVERY transition possible (slide, wipe, cross-fade, shapes, spins, on and on)? All just for the sake of "showing off" what they could do with the software? I honestly felt like I was looking at some kind of perverse shell-script demo, where the author was trying to use every possible style or obscure syntax possible, just to do it.
But this was PRODUCTION CODE.
There was absolutely no consistency, even within 1-2 adjacent lines. There is no way to maintain this. It's nearly impossible even understand what it's trying to do. It was just pure insanity. Lines and lines of insanity.
I picture the author of this code as some sort of hybrid hipster-artist-goth-mental-patient, chain-smoking clove cigarettes in their office, flinging their own poo at their monitor, frothing at the mouth and screaming "I CODE MY TRUTH! THIS CODE IS MY ART! IT WILL NOT CONFORM TO YOUR WORLDLY STANDARDS!"
I gave up after the first 100 lines.
Gave up.
I washed my eyes out with bleach.
Then I contacted my HR hotline to see if our medical insurance covers eye cancer.32 -
Spend way too much time crafting email responses, littered with subtle sarcasm and hints at their total incompetence with a gentle push in to what they should be focusing on, instead of sending ridiculous half baked fucking foolish requests.1
-
- git commit -m "well described comment explaining addition"
oh crap forgot to take out this one thing
- ctrl-S
- git commit -m "ahskdbejjeebdosjeb"3