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
So... This company was in trouble. They hire me to help fix things and build this nice new stack to get rid of their old legacy monster application.
I'm there for three weeks when one of their top investors storms in. Apparently they are turning less profit than they told me during my interview. (Yeah, it is one of the things I always ask, even thought I don't always get an answer).
So this investor/shareholder guy starts on this motivation speech which is basically a veiled threat that "we" need to do better.
Obviously he doesn't know anyone in the room other than the boss. And it was apparent, at least to me, he also has 0% knowledge of anything related to software development. The boss doesn't look to happy about having to let this happen.
Then the guy turns to me. He points his finger at me and demands to know how failing so badly makes me feel...
So I answered truthfully... "I've only been here for three weeks, so I don't think I've been failing too much, yet. Now, how long did you say you've been throwing money at this failure without getting the return you wanted?" Emphasizing the "you" by pointing right back at him.
That doesn't shut the guy up, but he does bring his "motivational" speech to a rapid close.
He doesn't bother saying goodbye when he stormed out again, not even to the boss, who looks a lot happier at this point.
Apparently the guy pulled this stunt every couple of months (or weeks, if he was bored enough). After this encounter, he apparently had enough of trying to "motivate" us developers. We I didn't see him again in the 2 years I worked with the company after that.
I got a pay raise the month after. Apparently that was totally unrelated to this incident... 😙🎵6
I just remembered the first time I set up a Linux-Server. It was a simple Apache webserver at my first internship anf I didnt have a clue about literally anything.
My mentor guided me through and gave me literal step-by-step instructions (alright, now type... and now type...).
At the end he told me "OK, now run 'sudo rm -rf /*' to finish setting up". Me, being the naive and clueless motherfucker I am, happily nuked the everloving shit out of my newly setup server. I was like "Alright, WTF just happened??" He then told me "Now that you know how it works, do the entire thing again all by yourself. And you just learned an important lesson: NEVER exexute commands you dont know what theyre doing". I really did learn a lot on that day and still follow that lesson :D6
You start new job and take over huge codebase without tests and documentation.
It turns out programming language is custom language made by previous developer who was the only one maintaining project.
There is no source version control.
Language runs in vm developed in Fortran.
No one cared to this day cause everything was working.
Project is critical for multi billion dollar corporation that sells medical equipment that keep people alive.
You can’t test your code on real devices only on virtual ones that were made using same custom language but you can’t find source code for it.
Previous developer accidentally died before you were hired.
You signed contract with penalties that will ruin your life.
Your first task is to add “small” feature.
Good luck !9
Working for an indian code sweatshop. The job you've got by bribing the University headmaster to give you a degree without ever attending class. Your uncle who worked at the sweatshop as a manager already gave you the job by bribing his boss.
After a half a year on the bench you've beeing sent off for a contract for the USA. You moved to Seattle where you've "coded" the software for the Boeing 737 Max Airplane. Your code downed 2 airplanes. You're responsible for the death of 350+ people. You're alone and the US is foreign to you and you're missing your mothers indian food. And you wish you could soothe your pain with some freshly pressed sugar cane drink and a jalebi from your favorite food joint back home.9
I'm currently 40h/week meeting attender. I'm not enjoying my life right now.
Today I have a meeting about the legal requirements of an invoicing system, in my role as database administrator — the meeting will mostly be lawyers bickering over what the addresses of subsidiaries look like on invoices and which taxes should apply to services provided across borders.
Wait, I can play Factorio during this meeting and say "yeah that sounds OK" once in a while. Not the worst job after all...7
You know how in movies and TV shows, a villain will sometimes kidnap a victim? They'll take the victim to an abandoned warehouse in the middle of nowhere and send the hero / police station a live feed on their phone of the victim's current situation.
It's not like there's some service out there for kidnappers who need live-streaming capabilities and I'm pretty sure TwitchTV frowns upon crime (citation needed).
Honestly though, between the hard work of kidnapping the victim, tying them up, transporting the victim, and finding an abandoned warehouse, who has time to do any of the IT / Dev work?
Where is the network connection for this abandoned warehouse in the middle of nowhere coming from? You can't tell me the villain ordered Comcast there and absolutely nobody found it suspicious. Also, think about the bandwidth costs he'd have to cover. Does he get locked into a two year committed plan with the ISP? Sure, I guess the villain could go with prepaid SIM cards and set up a hotspot, but those can't sustain the upload speeds required to live-stream AND maintain a lengthy live-stream ensuring everyone who needs to see it, truely does see it. Imagine if the hero opens up the live-stream link and sees "User is offline". What are they supposed to do? Nobody is going to Like and Subscribe to that. And I can't imagine the Villain bothering to replace the SIM cards every few hours or so. Even the cashier selling 200 SIM cards to him would think "This guy's obviously up to no good."
Okay, let's say the Villain managed to find a warehouse with an active internet connection or nearby open WiFi signal. What is he using for streaming? The camera is hooked up to a computer, he's got either Xsplit / OBS / Streamlabs open with his favorite overlays and subscriber bot, and it's pointing to a RTMP server. Alright, again, there's no way in hell his bandwidth is going to support an RTMP server, but let's say it does or he's got some remote server somewhere. Pretty sure he's not running that server on AWS or Google Cloud for one thing. What OS is he running and when did he learn BASH? His best bet is to go with NGINX with the RTMP module and setting up that NGINX config will be an enjoyable first experience. He should also give consideration to transcoding it with FFMPEG, as not everyone has that sweet warehouse speed.
Now what about the playback? You can't just send an RTMP url to a person and expect it to automatically open and play. Even if the villain set up a front-end with a video player, how does he know the video will play on the hero's device? Or what browser the hero uses? The villain will have to consider both DASH and HLS streams in order to achieve cross platform compatability on client-side detection.
By the time Evil Musk here finishes setting up the IT portion of his grand scheme, what's the point? Might as well just get a functioning careeer, make a decent living, and retire in New Zealand.9
We hired a developer and he has very minimal experience. I feel most of our conversations end up going something like this.
New Guy: I'm not sure how to do this obvious task and I'm incapable of searching Google.
Me: Give me your hand so I can hold it and walk you through the process of copying and pasting code from stack overflow.
New Guy: Ok...give you my hand...right...how do I do that?
Designing those new smart urinals. Not that the job itself would be all that horrible but imagine having to tell people...
What do you do for a living?
I'm a software developer.
Oh so your like hackerman?
Nah more like hackerjon.
Well what software have you developed, anything I might've seen?
Idk when's the last time you had to use the restroom at the mall?
Just the other day, why?
Well did you enjoy seeing ads while you pissed? Your welcome.1
God I'm fucking done for today.
We just finished a "Climate-conference-simulation" in school.
Basically ~90 students split into 6 groups representing a delegation of a country or a group of countries.
Other developing countries,
Other industrial countries
The target of our efforts was the reduction of global warming from ~4 C° by 2100 to around 2 C°.
My group (USA) elected me to speak and represent (I did kind of mimic the American stereotype of being egoistic and self centered, no offence intended)
As all the other nations and groups were planning great schemes, my group simply continued to put, well, basically rocks in their path by not playing along cause aforementioned stereotype.
It's the working phase after the second presentation of results, I'm sitting there with parts of the Chinese and EU delegation and suddenly two of my friends, in different groups, put my hood over my head, drag/carry me out of the assembly hall, toss me out and leave me there.
Was funny and all, but damn, it's fucking exhausting to stand in front of around 100 people (including teachers and stuff) and completely not play along with the other group's opinions and plans.
But hey, I've been congratulated a lot of times cause I've perfectly stayed in my role.
Yes it was weird18
Get assigned ticket.
Finish the most of the feature. Finish most of the specs.
Second dev wants to own accounting half of the ticket.
Rip out half my changes, rewrite specs.
Code review asks for minor changes.
Product creep creeps the scope.
Finish the feature again.
Product creep creep-creeps the scope.
Finish the feature again.
New release happens.
Merge in master; fix conflicts. Run specs; random unrelated specs fail, some fail intermittently. Rabbit holes of complicated, unexplored, obviously-flawed code.
Fuck that. Push.9
Y'all mother fuckers who use "don't re-invent the wheel" as a tactic to not grow new neurons, as if a ceiling's there — fuck out of my circle.
Those mother fuckers have never even created a single wheel - ever!
Well, ima re-invent any fucking wheel I want, when and where. How I learn is not your fucking busy.
What's even more annoying is that those telling me that shit are pretty much part of the paint on the wall and damn unemployable any where on this earth.15
Larry Tesler, a computer scientist who created the terms "cut," "copy," and "paste," has passed away at the age of 74 (17 Feb 2020).
In 1973, Tesler took a job at the Xerox Palo Alto Research Center (PARC) where he worked until 1980. Xerox PARC is famously known for developing the mouse-driven graphical user interface and during his time at the lab Tesler worked with Tim Mott to create a word processor called Gypsy that is best known for coining the terms "cut," "copy," and "paste".
In addition to "cut," "copy," and "paste" terminologies, Tesler was also an advocate for an approach to UI design known as modeless computing. It ensures that user actions remain consistent throughout an operating system's various functions and apps. When they've opened a word processor, for instance, users now just automatically assume that hitting any of the alphanumeric keys on their keyboard will result in that character showing up on-screen at the cursor's insertion point. But there was a time when word processors could be switched between multiple modes where typing on the keyboard would either add characters to a document or alternately allow functional commands to be entered.8
Fun day, lots of relief and catharsis!
Client I was wanting to fire has apparently decided that the long term support contract I knew was bullshit from go will instead be handled by IBM India and it's my job to train them in the "application." Having worked with this team (the majority of whom have been out of university for less than a year), I can say categorically that the best of them can barely manage to copy and paste jQuery examples from SO, so best of fucking luck.
I said, "great!," since I'd been planning on quitting anyways. I even handed them an SOW stating I would train them for 2 days on the application's design and structure, and included a rider they dutifully signed that stated, "design and structure will cover what is needed to maintain the application long term in terms of its basic routing, layout and any 'pages' that we have written for this application. The client acknowledges that 3rd party (non-[us]) documentation is available for the technologies used, but not written by [us], effective support of those platforms will devolve to their respective vendors on expiry of the current support contract."
Contract in hand, and client being too dumb to realize that their severing of the maintenance agreement voids their support contract, I can safely share what's not contractually covered:
- Stream based programming
- Angular 9
- Any of the APIs
- Dotnet core
- pretty much anything not in a commit
I'm a little giddy just thinking about the massive world of hurt they've created for themselves. Couldn't have happened to nicer assholes.7
"I can teach you the physics of riding a bicycle. Indeed, the classical mathematics is relatively straightforward. Gravity, friction, angular momentum, center of mass, and so forth, can be demonstrated with less than a page full of equations. Given those formulae I could prove to you that bicycle riding is practical and give you all the knowledge you needed to make it work. And you’d still fall down the first time you climbed on that bike."
How beautifully put7
Got pretty peeved with EU and my own bank today.
My bank was loudly advertising how "progressive" they were by having an Open API!
Well, it just so happened I got an inkling to write me a small app that would make statistics of the payments going in and out of my account, without relying on anything third-party. It should be possible, right? Right?
The bank's "Open API" can be used to fetch the locations of all the physical locations of the bank branches and ATMs, so, completely useless for me.
The API I was after was one apparently made obligatory (don't quote me on that) by EU called the PSD2 - Payment Services Directive 2.
It defines three independent APIs - AISP, CISP and PISP, each for a different set of actions one could perform.
I was only after AISP, or the Account Information Service Provider. It provides all the account and transactions information.
There was only one issue. I needed a client SSL certificate signed by a specific local CA to prove my identity to the API.
Okay, I could get that, it would cost like.. $15 - $50, but whatever. Cheap.
First issue - These certificates for the PSD2 are only issued to legal entities.
That was my first source of hate for politicians.
Then... As a cherry on top, I found out I'd also need a certification from the local capital bank which, you guessed it, is also only given to legal entities, while also being incredibly hard to get in and of itself, and so far, only one company in my country got it.
So here I am, reading through the documentation of something, that would completely satisfy all my needs, yet that is locked behind a stupid legal wall because politicians and laws gotta keep the technology back. And I can't help but seethe in anger towards both, the EU that made this regulation, and the fact that the bank even mentions this API anywhere.
Seriously, if 99.9% of programmers would never ever get access to that API, why bother mentioning it on your public main API page?!
It... It made me sad more than anything...8
"Change your algorithm"
Answers like this are why Stack Overflow almost becomes worthless when asking questions. I asked for some clarification why my code, which reads some files and outputs another, was hitting System.OutOfMemory exceptions. And that was the response I got.
"Change your algorithm"
How? In what manner should I be seeking to change my algorithm? OBVIOUSLY I SHOULD CHANGE MY ALGORITHM YOU WASTE OF OXYGEN. That was a given by the exception my program threw!
I swear to god, SO has got to be one of the most unwelcoming, condescending sites on the internet.7
So my ISP just called that i hit limit again. Told them to reset it as i need the network now like really need it.
Hit it again today.
Mind you the limit is 100Gb per week. I know small for someone like me. Plenty for normal people.
But all has changes.
Getting Optic 600Mbps Down and 30mbps up. No limit.
Fuck thats what i call an internet.9
In the before time (late 90s) I worked for a company that worked for a company that worked for a company that provided software engineering services for NRC regulatory compliance. Fallout radius simulation, security access and checks, operational reporting, that sort of thing. Given that, I spent a lot of time around/at/in nuclear reactors.
One day, we're working on this system that uses RFID (before it was cool) and various physical sensors to do a few things, one of which is to determine if people exist at the intersection of hazardous particles, gasses, etc.
This also happens to be a system which, at that moment, is reporting hazardous conditions and people at the top of the outer containment shell. We know this is probably a red herring or faulty sensor because no one is present in the system vs the access logs and cameras, but we have to check anyways. A few building engineers climb the ladders up there and find that nothing is really visibly wrong and we have an all clear. They did not however know how to check the sensor.
Enter me, the only person from our firm on site that day. So in the next few minutes I am also in a monkey suit (bc protocol), climbing a 150 foot ladder that leads to another 150 foot ladder, all 110lbs of me + a 30lb diag "laptop" slung over my shoulder by a strap. At the top, I walk about a quarter of the way out, open the casing on the sensor module and find that someone had hooked up the line feed, but not the activity connection wire so it was sending a false signal. I open the diag laptop, plug it into the unit, write a simple firmware extension to intermediate the condition, flash, reload. I verify the error has cleared and an appropriate message was sent to the diagnostic system over the radio, run through an error test cycle, radio again, close it up. Once I returned to the ground, sweating my ass off, I also send a not at all passive aggressive email letting the boss know that the next shift will need to push the update to the other 600 air-gapped, unidirectional sensors around the facility.11
Worst hypothetical Dev job... hmm 🤔 well I think I have the right scenario for you. A medical company stores patient charts and critical life saving information in a database. This database makes medical decisions for lifesaving incubators and if there’s a bug it means 10,000 newborn sick babies will die because of your fuck up (oh and you’re criminally liable too so good luck!). But beyond the high pressure job that sounds at least somewhat normal, the database is written in a special form of assembly for a custom undocumented CPU where only one copy in the world exists so all tests and development are on production. Google and StackOverflow is banned so your only resource is your brain. Good luck🍀11
Purple, Ahh yes, the nice colour purple... dont you love looking at something and thinking, "Wow, thats some nice purple"
well, I fucking dont, fuck that piece of shit colour, I FUCKING HATE PURPLE, why?
BECAUSE IT DOESNT FUCKING EXIST! FUCK PURPLE, FUCK IT, ITS FUCKING BLUE! THERE IS NO FUCKING PURPLE!
WAKE THE FUCK UP PEOPLE! IT DOESNT FUCKING EXIST! THERE IS BLUE AND RED, BUT. THERE. IS. NO. FUCKING. PURPLE!
And dont get me started on brown, that nice brown chocolate, these coffee beans...
IF IT WOULDNT LOOK LIKE DARK-GREEN I WOULDNT FUCKING HATE IT! WHY DOES IT EVEN EXIST!
(if your wondering, yes. I have a red-green colour deficiency)33