Details
-
LocationBelgium
Joined devRant on 2/15/2020
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
-
The global joke of Information Security
So I broke my iPhone because the nuclear adhesive turned my display into a shopping bag.
This started the ride for my character arc in this boring dystopia novel:
Amazon is preventing me from accessing my account because they want my password, email AND mobile phone number in their TWO.STEP Verifivation.
Just because one too many scammers managed to woo one too many 90+y/o's into bailing their long lost WW2 comrades from a nigerian jail with Amazon gift cards and Amazon doesn't know what to do about anymore,
DHL is keeping my new phone in a "highly secure" vault 200m away from my place, waiting for a letter to register some device with a camera because you need to verify your identity with an app,
all the while my former car insurance is making regress claims of about 7k€ against me for a minor car accident (no-one hurt fortunately, but was my fault).
Every rep from each of the above had the same stupid bitchass scapegoat to create high-tech supra chargers to the account deletion request:
- Amazon: We need to verify your password, whether the email was yours and whether the phone number is yours.
They call it 2-step-verification.
Guess what Amazon requests to verify you before contacting customer support since you dont have access to your number? Your passwoooooord. While youre at it, click on that button we sent you will ya? ...
I call this design pattern the "dement Tupi-Guarani"
- DHL: We need an ID to verify your identity for the request for changing the delivery address you just made. Oh you wanted to give us ANOTHER address than the one written on your ID? Too bad bro, we can't help, GDPR
- Car Insurance: We are making regress claims against you, which might throw you back to mom's basement, oh and also we compensated the injured party for something else, it doesn't matter what it is but it's definitely something, so our claims against you just raised by 1.2k. Wait you want proof we compensated something to the injured at all? Nah mate we cant do that , GDPR. But trust me, those numbers are legit, my quant forecasted the cost of childrens' christmas wishes. You have 14 days or we'll see you in court haha
I am also their customer in a pension scheme. Something special to Germany, where you save some taxes but have to pay them back once you get the fund paid out. I have sent them a letter to terminate the contract.
Funniest thing is, the whole rant is my second take. Because when I hit the post button, devrant made me verify my e-mail. The text was gone afterwards. If someone from devRant reads this, you are free to quote this in the ticket description.
Fuck losing your virginity, or filing your first tax return, or by God get your first car, living through this sad Truman dystopia without going batshit insane is what becoming a true adult is.
I am grateful for all this though:
Amazon's safety measures prevented me from spending the money I can use to conclude the insurance odyssey, and DHLs "giving a fuck about customers" prevention policies made me support local businesses. And having ranted all this here does feel healthy too. So there's that.
Oh, cherry on top. I cant check my balance, because I can only verify my login requests to my banking account wiiiiiiith...?2 -
"Rust, the language that makes you feel like a memory astronaut navigating through a borrow-checker asteroid field. Lifetimes? It's more like love letters to the compiler. Safety first, even if it means writing a Ph.D. thesis to move a mutable reference around."2
-
This is what you're in for when you go for THE state-of-the-art "React stack". What you see in the screenshot below is the hellofresh.be website (it's the same as .com). It uses Next.js, React, emotion & styled-components (2 CSS-in-JS libraries). It uses 140MB of RAM for a single tab with some product cards and a slider, logs 70 console errors in production, and fails to load 3/4 times on Firefox.
On mobile, opening a meal card to view its recipe literally takes up to 10 seconds (and I have good connection and performant devices) and you can't choose the last meal card because a f*ing overlay hides the "add" button. And this is a global company with millions in revenue.
All this bugginess has already resulted in incorrect or missed deliveries and they're not doing anything about it. F* you Next.js & F* you HelloFresh IT management19 -
PORTFOLIO INFLATION
when every junior is writing algorithms, the next step up, the only way to keep up is writing apps. When every junior is writing apps, the next leg up is writing an entire SN.
Eventually junior full stack devs are writing microservice streaming cloud backend content delivery optimized social networks wrapped in virtualization with load balancing, proper CI, public accessible analytics apis, written in custom webaseembly compiled scripting backend utilizing both the latest graphql and every single feature of postgres, while also being a web site builder, an in browser app, mobile optimized, designed to transmogrify your asset pipelines linearflow functional-oriented modular rust cratified turbencabulator while cooking your turducken with CPU cycles, diffusing your gpt, and finetunning your llama 69 trillion parameter AI model to jerk you off all at the same time.
And then the title "wizard" becomes a reality as the void of meaning in our lives occupied by the anxiety of trying to reduce the fear of rejection in job hunting, is subsumed by the brief accidental glance into the cthulian madness-inducing yawning abyss of the future which is all the rest of our lives we have to endure existing for until at last sweet sweet death consumes us and we go to annihilation never having to configure one more framework or devops deploy of another virtual environment.
And it dawns on us that we no longer develop or write code at all. No, everything has become a "service" in this new hellscape future. We slowly come to the realization that every job is really just Costco greeter, or eventually going to be reduced to something equivalent, all human creativity, free will and emotions now taken care of by the automation while we manage the human aspects, like sardines pushing against one another not realizing their doom has been sealed along with the airless can they have been packed into, to be suffocated by circumstance and a system designed to reduce everything to a competition of metrics designed by the devil, if the metrics were misery", and "torture", while we ourselves are driven by this ratfuck wheel to turn endlessly toward social cannibalism, like rats eating their babies, but for the amusement of wallstreet corporate welfare whores who couldnt turn a dime if it wasnt already stolen.
And on our gravestones, those immortal words are carved, by the last person who gave up the ghost, the last whose soul wasnt yey shovelled onto the coal fires driving the content machine consuming the world:
Welcome to costco. I love you.12 -
Cook A:
1 - Makes a soup
2 - Leaves a mess
Company: ☺️ What a nice cook, here's your promotion to senior Cook.
Cook B:
1 - Cleans kitchen
2 - Makes soup
3 - Cleans after themself
Company: 😡 What took you so long!? Cook A made it in 1/3 of the time.
This is the pattern I've seen so far in development... and it's sad20 -
Kinde messed up my first contract.
I am a senior frontend dev who until now worked only on full time gigs. For the first time I picked up a short term gig of 1 week that consisted of 2 packages and I wanted to share my mistake that I made so hopefuly its useful to you.
So last week I started working on this gig. First package went through fine, I delivered in 2 days and collected the first half of the payment.
However I messed up with the second package. Not messed up the implementation per say, but I didnt manage the communication well.
Before implementing it I raised a discussion about a missing backend endpoint that is required to implement the perfect solution. Client got cold feet, had a discussion with his manager and now decided to postpone the second package and even got mad at me that I already did and pushed half of the work of the second package without waiting for his decision from his manager. So now obviously Im not getting paid for half of the work of the second package (I dont mind, I should have waited for clients response), anyways it took me like 20min to implement so thats fine.
My takeaways:
1. As a short term contractor you are hired to solve a concrete problem. Scope out what you can, agree on a task list and stick to it. Anything out of scope will cost the client extra.
2. Your priority is to get paid. Not to deliver the perfect solution that confuses the client and potentially can impact your delivery. If he wants something and you see its only a half of what he really needs, deliver it anyways. Keep that idea of improvement for the future. More work for future = more invoices = more money. I know its not ethical but your priority should be to get paid and in order to do that you need to deliver. Dont shoot yourself in the foot with unnecesseraly overcomplicating things.1 -
- Cookie warnings
- Autoplay videos
- "It's better on the app!"
- Surprise paywall
- Newsletter popups
- "Sorry, this content is not available in your region!"
- Lazily paraphrasing another website without disclosing the source in an obvious way
- Anti-adblock popups
- "Become a pro-member today: starting at $4.99/month!"
- "Sign up here to get my free e-book! :)"
- "keep reading" button to load the rest of the damn article
- "We have a podcast!"
- ...
I hate the current state of the web.13 -
Just look at the open issues counters for "state-of-the-art" "production-ready" JS packages:
https://github.com/storybookjs/....
Almost 1900.
https://github.com/vercel/next.js
More than 1200.
It's just depressing5 -
I really like the new Microsoft's WinUI website.
You have an instant insight of the quality of their UI.7 -
Just scored my personal red flag bingo in new project:
- engineers who work there for 20+ years
- their own in house build tool
- "we have Jira so it means we are agile"
- "we have Jenkins so it means we do Ci/cd"
- git adoption is "in progress"15 -
Please. No. What have you done?
https://github.com/f/...
"I want you to act as an interviewer. I will be the candidate and you will ask me the interview questions for the ________ position. I want you to only reply as the interviewer. Do not write all the conservation at once. I want you to only do the interview with me. Ask me the questions and wait for my answers. Do not write explanations. Ask me the questions one by one like an interviewer does and wait for my answers. My first sentence is 'Hi'"3 -
Am I the only one ?
15+ years in c# / .net dev and I still google "c# string compare ignore case" each time. Its just fucking faster than to remember exact syntax of the "StringComparison.OrdinalIgnoreCase"9 -
Ask questions during interview.
Ask about trainings - it's usually a good sign when company offers training budget. Ask about specifics - sometimes it's a shared pluralsight account, and nothing else, which means that that had an idea and half assed it into existence.
Ask tech recruiter about overtime, a good sign is when they have no idea or say that it must be budgeted and scheduled - it means that it does not happen often.
Ask if it is possible to select and change projects, and how often it happens - if often, it may be bad low level management, or people learning new things and jumping between projects.
Also make sure to ask about rules for promotions and pay rises. Good company wił have a clear set of rules in place.
All of the above apply to mid to large companies.
For small company, i'm sure it will be different.3 -
The saying "Perfect is the enemy of done" is so much BS.
The war on perfection is the enemy of artistic expression.
Look at old world architecture vs modern crap. Crafts are no longer a thing but stuff is only made as effeciently as it can be for the greedy and impatient.
The artists and craftsmen of old knew well that perfect was achievable and constantly strove to be more and more perfect in their arts and by side effect on themselves. In this mad world we've lost that to the pragmatists who see no value in the art of perfection or in those who do not value those who do.
The "doneists" can go fuck themselves. Perfectionism is where true artistic expression is at.14 -
Every time I do a dirty fix and someone in my MR comments "have you investigated the root cause" I wanna kill myself.
No bro, I havent investigated the root cause because this ticket is 3 months old and was passed around like a hot potato from team to team until it got assigned to me.
If you want I can add a comment to refactor this in the future. As far as Im concerned any refactors are out of scope, also I atleast came up with some kind of solution that noone else was able to in 3 months. So im not gonna waste my time on refactoring this piece of shit code under immense pressure from management who thinks it was me who dragged this ticket for 3 months.
Its working, it doesnt cause any side effects, we all gonna die soon and nothing really matters, so fuck off.9 -
What historical trends look more ridiculous now than short-form video will look in a few decades?13
-
All these super expensive and fancy enterprise tools. CloudWatch, AppDynamics, Grafana, Splunk and whatnot. Spent a month trying to figure out why the fuck the app does not perform well.
Took 1 day with tcpdump, awk and gnu utils to figure out why.
Should anyone need a tcpdump analyzer -- try my awk script. Shows response times of each network call w/o impacting app performance :)
https://gist.github.com/netikras/...14 -
Is it done yet?
Stop micromanaging! We are providing updates every morning, what difference does it make to ask for the update in the evening?!? Don't think no one can see that all you are asking is "is it done yet?"
Like a small child who does not understand the concepts of travel yet, you won't understand why "such a small change" takes so long. It's because we are scooping all the crap, patched by assholes who cared only to please you and did not had the courage to say no to your pressure and do things smart way.
If you think it is necessary to keep reminding everyone to do their job - then you you do not belong in IT.3 -
My project manager posted in linkedin 'When I die,I want my developers to carry my coffin so that they can put me down one last time"
I commented on that post
"For the first time ,you have mentioned the requirements clearly".1 -
First post yay!
I'm a "tech" lead for my team. The "tech" stands for technically, I can go on a whole different rant there but that's not why we're here today.
So we have a new PM on our side and a new PM on the client side. I've been working on this project longer than any of the devs and PMs have.
One of the tasks that my team does is validate and ingest data. It's pretty straightforward and it's fully automated. It takes minutes, and at most an hour, to complete this task. We get these tasks from users randomly and they don't have any schedule to it. It's FIFO basis and we just add it to our current sprint if we have bandwidth or add it to the next one if we don't. Not a big deal, no users have complained about it before, it's just business as usual. And we have a tracker of when we received it, how big it was and when it's been ingested. Super simple.
So now comes in the new client PM. He's been asking us to come up with timelines for these ingestions. My project's new PM is bending over to him and saying okay we'll come up with it, no problem. Well, there is a problem. We don't know that far in advance for when these tasks are coming in. Even if we did, now we're supposed to create timelines for a 10 min task? It literally is uploading a file and our system handles everything and I've explained that to my pm but he still is like well that's what they want. It takes less effort to do the ingestion than to make these timelines. It just means project managers bothering devs about timelines.
Idk how to deal with this. Thoughts? Any similar experiences?5 -
I hate people who think that building software is all about one click away and generating things. I got told to complete the task faster than the speed of light.
Fancy me some rant time? Let's name that cunt, "Bob".
"
Hey Bob, I got questions for you. Are you sure you were in your mum's womb for 8-9 months? Are you the kind of twat who honk at people as soon as the traffic light's turning green?
Building software takes time, the CI/CD takes time, TestFlight takes time, approvals from the Google Play store take time, approvals from Apple App Store connect take time, Unit testing takes time and every fucking thing you can name takes time!
It's just like sex, nobody wants to be with someone who can only last in bed for 0.000000000001 nanoseconds, the longer, the better, (but not too long).
It is also like building houses, which takes months to build not hours. As from my experience so far, something tells me that you are not the kind of person who would understand how to build a house but a sand castle which takes only hours to build.
Relentlessly, you bombarded me with a pile of bollocks and a pile of nonsense is not going to fasten up the compilation of the software.
"4 -
ARGH. I wrote a long rant containing a bunch of gems from the codebase at @work, and lost it.
I'll summarize the few I remember.
First, the cliche:
if (x == true) { return true; } else { return false; };
Seriously written (more than once) by the "legendary" devs themselves.
Then, lots of typos in constants (and methods, and comments, and ...) like:
SMD_AGENT_SHCEDULE_XYZ = '5-year-old-typo'
and gems like:
def hot_garbage
magic = [nil, '']
magic = [0, nil] if something_something
success = other_method_that_returns_nothing(magic)
if success == true
return true # signal success
end
end
^ That one is from our glorious self-proclaimed leader / "engineering director" / the junior dev thundercunt on a power trip. Good stuff.
Next up are a few of my personal favorites:
Report.run_every 4.hours # Every 6 hours
Daemon.run_at_hour 6 # Daily at 8am
LANG_ENGLISH = :en
LANG_SPANISH = :sp # because fuck standards, right?
And for design decisions...
The code was supposed to support multiple currencies, but just disregards them and sets a hardcoded 'usd' instead -- and the system stores that string on literally hundreds of millions of records, often multiple times too (e.g. for payment, display fees, etc). and! AND! IT'S ALWAYS A FUCKING VARCHAR(255)! So a single payment record uses 768 bytes to store 'usd' 'usd' 'usd'
I'd mention the design decisions that led to the 35 second minimum pay API response time (often 55 sec), but i don't remember the details well enough.
Also:
The senior devs can get pretty much anything through code review. So can the dev accountants. and ... well, pretty much everyone else. Seriously, i have absolutely no idea how all of this shit managed to get published.
But speaking of code reviews: Some security holes are allowed through because (and i quote) "they already exist elsewhere in the codebase." You can't make this up.
Oh, and another!
In a feature that merges two user objects and all their data, there's a method to generate a unique ID. It concatenates 12 random numbers (one at a time, ofc) then checks the database to see if that id already exists. It tries this 20 times, and uses the first unique one... or falls through and uses its last attempt. This ofc leads to collisions, and those collisions are messy and require a db rollback to fix. gg. This was written by the "legendary" dev himself, replete with his signature single-letter variable names. I brought it up and he laughed it off, saying the collisions have been rare enough it doesn't really matter so he won't fix it.
Yep, it's garbage all the way down.16 -
A conversation that me and my boss had this week:
Boss: "Hey, why is this not progressing"
Arcsector: - "We're waiting on system users to move their destinations"
"We need the system in the database in order to move it"
- "Okay awesome - let's move it, oh wait, I can't do it because I don't have access, here's the stuff that needs to be done: a, b, and c"
"Oh I'm actually not able to help with that"
- "So then how are we supposed to get it done?"
"idk but also this other issue is something missions are complaining about"
- "oh I already am talking to them about it and it should be remedied by the team creating the problem because it's a false positive"
"Well we need to solve it still"
- "We would've solved it already but it has dependencies with other projects that we're still working on because we don't have enough people"
"We cant get you more people because we don't have the budget"
- "Then this stuff will have to wait"
"Get it done"
ACTUALLY SCREAMING! Why cant people understand that there are conesequences for their actions??!!1