Details
-
AboutNerd who likes gamedev, but failed 2 gamedev startups. (:
-
Skillshtml, css, js, php, sql, java, python, bash, node, mongodb, C/C#/C++, lua, basically yes
-
LocationThe Netherlands
-
Github
Joined devRant on 5/3/2017
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
-
Friday afternoon.
Boss: “Can we push this small fix before the weekend? It’s just a button color.”
Me: “Sure, what could possibly go wrong?”
Fast forward 20 minutes:
Whole CSS is missing
Login page is blank
Server panicked so hard it restarted itself
I’m now "that guy" who deploys on Friday
Moral of the story:
No fix is truly “small” on a Friday. :(4 -
"We really struggle to find people with this skil set"
So you're going to hire me, pay well, and not be full of shit, right?7 -
Seems my anxiety is a zombie process:
while(true) {
try {
await new Promise(() => {}); // waiting for meaning that never comes
} catch {
// nothing catches this searching and ..............
}
}
// tried killing it several times
const killAllProblems = () => {
console.log("kill -9 all_problems");
console.log("They just respawn.");
};
killAllProblems();
// No systemctl stop for this void:
const stopRealityService = () => {
console.log("systemctl stop reality.service");
console.log("Good luck.");
};
stopRealityService();
// What’s your command to unload the void?
const unloadVoid = () => {
console.log("systemctl mask emptiness.service");
console.log("But it’s still running in the kernel...");
};
unloadVoid();2 -
A shout out to those considering deleting their dR account [esp. old timers here] and still on the fence. If you can -- don't.
If you're an old timer here, chances are you actually dev-ranted about real dev issues and possibly posted a solution found after all the frustration.
If you delete your acc, all these posts will disappear. Leave them be. Let them be a contribution to the community, to your fellow devs.
If this platform is no longer worth your time [can't blame you, really], you can simply log out and not come back here :)26 -
I think my post-covid brain fog is over. I feel the sharpness of my thoughts again. It's like comparing opening 300 chrome tabs on a dual-core Intel Atom N550 vs Intel Ultra 7 165H.
Took me what, ~3 years to get over it...?
I feel like I can do dev work again, not just devops.
#feelsgoodman4 -
TIL: nginx conf does not support ' (single quotes) in comments.
2 hours of my day went out the window2 -
For fuck's sake, what are the creators of tailwind thinking? So, I made the mistake of upgrading to tailwind v4 and now my site is broken. Who in the fuck thought removing half the features is an "improvement"?.
wE've mAde ConFiGUraTion EaSier with CSS.
Sure, let's see. It sounds neat on paper, a "CSS-first" approach. But when you've got existing projects with a meticulously crafted tailwind.config.ts file, it's not simplified at all, it's a migration nightmare. Suddenly, my custom colors and breakpoints are all gone or behaving unpredictably because the new system decides to interpret them differently.
Do these people actually work on any project that is long-term or is everything they work on just green-field?
Because when you have hundreds of pages and custom built rules, and now eveything is broken for no goddamn reason, it's not fun, is it?
I've now wasted days on this shit when I should have shipped so many features.
I simply can't wait to switch my career to something else. Like, this stuff is just so bad man. Come on.5 -
If you are using fcgiwrap and nginx, if you don't set the root directive, DOCUMENT_ROOT will default to /usr/share/nginx/html/.
In hindsight, it's obvious to me now that there was no way the script could have known the root I wanted without it, but it just didn't occur to me at the time.3 -
Putting people on too many projects (6 projects) is bad because when it comes to reviewing your work (let's say 30 x 200 lines of code), they will spend 5 minutes on it, 10 tops, give a shitty, lazy review and then they get back to their projects.
This is just pure mismanagement. You're stressing your employees to get everything done, the 'quality' is then spread so thin everything turns to shit.3 -
Monday - delivered feature1. Manager demands starting to work on new feature2. I start working on feature2.
Thursday - in late evening manager provides feedback from testing feature1 for which internal testing starts Monday.
Friday. I start investigating. Everything is fucking broken. Backend contract broken from BE side, UI broken by another team member's PR from FE side. Missing configuration from FE side that was not documented anywhere.
I start working on issues from my side, inform relevant parties and coordinate that they would make fixes on their side (ofc after getting a lot of pushback trying them to force me to write workarounds to work with their broken implementations)
My manager during the day: what was the reason for us being blocked now?
Me: broken BE, broken FE by another team member, missing undocumented configs. Too late (and incomplete) testing feedback. Having to switch to feature2 priorities before finishing everything with feature1. Basically all things out of my scope.
My manager: so just to clarify we are blocked from internal testing because YOU missed this? Why it wasnt caught sooner?
Me: due to 5 same reasons that I listed before, I can list more but would prefer focusing on getting things working today
Manager: Ok, as WE discussed let's focus on getting things working and discuss about improving this processes in the future.
Seriously it fucking sucks working in this bank as a mobile developer.
We are responsible for basically everything.
From scoping out work according to business requirements, documenting stuff, to creating/maintaining BE contracts and constantly double triple checking everyone else's work across the chain.
Actual mobile implementation or proper testing is like the last priority in this case. And yet we are the ones that take all the blame if we fail to meet arbitrary deadline.
Fucking hell. Im gonna start documenting all decisions of this retarded manager, I'm not gonna allow him to throw me under the bus due to failures caused by his own shitty decisions10 -
We "engineered a prompt" (in other words, crapped a very poorly written paragraph using only short sentences) that gathers many arguments pro and against the usage of AI to code our production data pipelines.
Most of the "pro" arguments are variations of "we'll get fired if we don't use this crap in something".
Prompted with the whole argument, even Gemini thinks we should not use AI to write our code. Nowadays, we use Gemini mostly to justify why we shouldn't use Gemini.
Seriously. We made the whole setup so that any PO who demands AI has to convince the AI it is a good idea. I'll admit, the AI is doing a good job to deter people who want to use it. It hasn't cracked even once. Not that it matters, anyway. POs just ignore what the AI says and organically write orders telling us to use it anyway.4 -
Everything development related I see recently are related to LLMs and I’m starting to get sick of it :(3
-
If you were a code antipattern, what would it be?
I'm definitely NIH -- "Not Invented Here".
I write everything from scratch. When I don't, more often than not, I don't install code deps -- I copy their code and modify it. I port it to my set of utils, my syntax preferences, optimize it, strip parts and modes I don't need, and at the end there's no clear line between what was my code and what wasn't. My code doesn't import, it absorbs.15 -
Found this ancient, forgotten task that was basically a QOL improvement.
Given that the feature would shorten the time of testing from some 10-15 minutes to 2, I left a comment mentioning that it would be immensely helpful.
!too long after, the report started seeing some traffic && the feature got actually implemented.
Checked the implementation as soon as I could.
- Speedup worked well regardless of platform.
- Slowdown /* which was never actually mentioned in the task as it wasn't crucial */ was also implemented, but the mobile phones were omitted, since the implementation would be too complex for the time allowed for the feature implementation. I was perfectly fine w/ it, as this wasn't actually necessary for those.
I left a proper comment, thanking for the feature implementation.
...then the lead tester chimes in, bitching about the lack of implementation of the slowdown on mobiles.
Got the same explanation as I mentioned earlier - too complex for the time allowed. Plus, the feature had other platforms in mind. Having it working on mobiles was just gravy.
Good call, lead, now - ask for another favor.
I'm sure it'll go well, since you can't be satisfied w/ getting what you need. You need that special pampering, too.
/s2 -
I did it.
Had my final exam today.
Presentation and technical project defense both A-!
I'm officially now a certified IT specialist for application development.
(Rough translation from German "Fachinformatiker für Anwendungsentwicklung"
Signing the contract tomorrow and genuinely looking forward to the future for once.4 -
Dear GPT, dear Gemini,
cher Claude, cher Copilot,
thanks for wasting my time
with your contradictory advice!
I could as well
roll a dice.10 -
Back from Alpine to Debian as my daily driver. Here are the reasons:
1. Alpine doesn't support a very niche fan control utility made by one guy for my specific laptop, and HP left me with no alternative
2. Alpine doesn't have OpenSnitch, period
3. My laptop is quire powerful, so the speed difference is insignificant.
If it wasn't for this two super specific edge cases, I would've stayed on Alpine --- such a marvellous OS it was.20 -
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!225 -
I’m so annoyed that the word “throwel” exist but doesn’t even mean a tactical shovel designed to be thrown.7
-
In 2025, only at Apple can you spend $3,268 on a smartphone + laptop combo and get a laptop with 16 GB of ram and a phone with USB 2.0.5
-
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 -
I recently met a young fella (14yo) playing League of Legends. He asked:
- What do you do for a living?
- I'm a programmer, do you know anything about programming?
- I don't, actually.
Apparently he was playing from a LAN Gaming center 'cause he didn't have a computer at home (his computer had broken and these Lan centers are pretty affordable).
I figured I could explain to him what was it and what super powers you could get from it. Turns out I recommended a JS course in codecademy and now he goes to the LAN center every day to study programming (he got really into it!).
Now he always pings me with questions about JS and apparently he's learning a ton! He had almost no English skills too (we're Brazilian), and because most of the material in the internet is in English he found himself some free English courses and he's now taking them!
Knowledge is free on the internet and I guess he's just realized that.
Not exactly a rant guys, just figured it was a nice story to tell :)
#TeachAKidHowToCode57 -
Some empty-headed helpdesk girl skipped into our office yesterday afternoon, despite the big scary warning signs glued to the door.
"Hey, when I log in on my phone, the menu is looking weird"
"Uh... look at my beard"
"What"
"Just look at this beard!"
"Uh.... OK"
"Does this look like a perfectly groomed beard"
"Uh... it's pretty nice I guess"
"You don't have to lie"
She looks puzzled: "OK... maybe it could use a little trimming. Uh... a lot of trimming". "I still like it though" she adds, trying hard to be polite.
"I understand you just started working here. But the beard... the beard should make it clear. See the office opposite to this one?"
"Yeah"
"Perfectly groomed ginger beards. It's all stylish shawls and smiles and spinach smoothies. Those people are known as frontend developers, they care about pixels and menus. Now look at my beard. It is dark and wild, it has some gray stress hairs, and if you take a deep breath it smells like dust and cognac mixed with the tears caused by failed deploys. Nothing personal, but I don't give a fuck what a menu looks like on your phone."
She looked around, and noticed the other 2 tired looking guys with unshaven hobo chins. To her credit, she pointed at the woman in the corner: "What about her, she doesn't seem to have a beard"
Yulia, 1.9m long muscled database admin from Ukraine, lets out a heavy sigh. "I do not know you well enough yet to show you where I grow my unkempt graying hairs... . Now get lost divchyna."
Helpdesk girl leaves the scene.
Joanna, machine learning dev, walks in: "I saw a confused blonde lost in the hallway, did you give her the beard speech?"
"Yeah" -- couldn't hold back a giggle -- "haha now she'll come to you"
Joanna: "No I already took care of it"
"How?"
"She started about some stupid menu, so I just told her to smell my cup". Joanna, functional alcoholic, is holding her 4pm Irish coffee. "I think this living up to our stereotype tactic is working, because the girl laughed and nodded like she understood, and ran off to the design department"
Me: "I do miss shaving though"67 -
TL;DR : I did not read the fucking manual.
Story :
We have a particular kind of setup with Blazor Server-side. And it does not use any SQL, bbut calls APIs.
The class to call APIs was scoped to create one new HTTP connection per new tab (even if the user opens a new tab, it's a new HttpClient).
We were fine. I read that we have 65k ports and disposal takes around 2 minutes, and we have around 1000 users. So it went into the "backlog, where things go to die."
Hard core duiscovery in the past 2 days.
Azure service plan for webapps only allows you 128 outbound connections!
System, we reboot it manually every 4 hours, while I'm working to make HttpClient unique lol
I just needed a break and vent. And "Hey kids, know that Azure service plan is only 128 sockets, not 65536."10 -
We rolled out yesterday a new update out to our Desktop application. The goal was to do it last weekend but we failed for reasons. The update is a success and now we (devs, project manager, QA, COO, support) got an angry email from our CEO, he mentioned:
- He is very disappointed in the whole process
- we released it without a coordinated marketing campaign
- That the devs should have communicated to the customers
- That the devs should have communicated internally more
- That support is getting a lot of new support tickets. I asked support, they counted 0 for this product in the last 7 days.
- Asked us to self-reflect how we can improve.
My project manager (who is currently on paternity leave) responded with an angry email to defend the dev team and pointed out that the CEO fired the marketing guy (again). The deadline is here for months, that the CEO literally ran the update locally and sold the update to new customers. He also called the CEO "lack of self awareness" and "not understanding the update process" and "disappointed in this approach". He also said that he asked the developers not to respond to the email.
Love me some drama between higher-ups3