Details
-
AboutMy name is Felix, I genuinely hated my life and programming was my coping mechanism. Things are getting better. In a few months, I'll have finished my apprenticeship and have become an actual, genuine software developer.
-
SkillsJavaScript/Node, Typescript, C, C#, T-SQL. I like snakes, but fuck python. Digital Logic as well, kind of... ...and anything else, if you pay me to learn it. No risk no fun.
-
LocationNear Bielefeld, Germany
-
Website
-
Github
Joined devRant on 11/11/2019
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
-
when you end up in the ER with excruciating pain early on a Saturday morning from persistent inflammation from chronic job stress and getting sick more than normally, you gotta change jobs.
no amount of money is worth your health.
(the drugs they gave me were pretty fun though, but not something I ever want to go through again)6 -
In my latest installment of "Swift, WTF?", we look at the "if" conditional in terms of the Swift convention of:
if let x = y { /* ... */ }
so what this does :
1. declares x in the scope of the braced code
2. sets x to y (an ahem, "optional")
3. decides if x is not *nil*, then executes the braced code.
This is very similar in both the visual and the operation to the C code of:
if (int x = y) { /* ... */ }
1. declares x in the scope of the braced code
2. sets x to the value of y
3. if x is not zero, then executes the braced code
which is considered *exceptionally* poor style.
Neither the C nor the Swift construct result in a legitimate boolean value of "true" or "false", although C comes closer than Swift.
In the Swift case the *imaginary* "nil" value has to be interpreted as "false" and thus there must be extra code is for the conditional to check on whatever constitutes the **actual** value of nil in Swift and then set the condition to "false".
(remember boys and girls, "optionals" are not real, they are an imaginary language construct of Swift and have no legitimate counterpart in the CPU operations with memory and registers)
At least in the case of C, if the value of x is zero or NULL (which is 0) then it is technically a "false" which in C is 0. Regardless, it is really poor programming and anyone doing that on my team gets an ear full.
But in Swift this obfuscation of code is common and condoned! Well, why not put more of the program in the condition of the if? In fact, stuff the whole thing in there.. why not? 🙄
This just reenforces my opinion that Swift is not a bird but the stuff that comes out of the underside of the bird. 🐦💩13 -
Typescript being built around js forced the creators to build a really powerful and flexible type system so much that no other language type system can compare to.7
-
Ugh, eyes irritated as fuck, can't find my sun glasses on strength. Can't find regular glasses either. I'm sure they are not here. I have to remove lenses, my day is basically ruined.5
-
Shit.
Thought I had turned off the stove after making dinner but seems it stayed on.
Thankfully the kitchen automatically turns off after a set time, so only the pan and a couple nearby things were lost.
Still, seems some electric wire in the extractor got wrecked because the kitchen line breaker is down and won't go up.
Waking up to your house full of smoke really sends you into panic mode...20 -
My coworker wanted to get some program from a website that requires a username/password to download. It is a utility program for controls automation. He didn't want to have to create a username/password so I said he could use mine.
I went over to his desk and read off the username to him which he entered. Then I started reading off the "password" to him:
"y o u r m o m i s a s l u t"
He got suspicious at the last few letters and then clicked on "show password" icon. He of course saw: "yourmomisaslut". At this point he just bust out laughing. I then gave him the correct password.8 -
OK, I could maybe write a quick app in C++ and cross compile it so I can send it to my friends who use windows, what is wrong with you I am ashamed for us all.
But why do that? Let's just go the EXTREME route and do things in a very inappropriate way that is natively """portable""" so we can say that (((It Just Works™))).
So if you haven't guessed already, it's 100% js rawdogging and I'm doing the graphics in SVGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO uoykuf OoOOOOOOOOOOOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOOOOO it's not so bad but here's things I've learned:
If you're using inkscape to convert your lazy 8x8 pixels per frame spritesheet.png into an svg file, and don't know how to use inkscape, you have to stack each frame on top of one another. Yes.
Erase the layers, erase everything that isn't the paths you want. Also erase invisible paths generated by the pixelart mode of the trace bitmap thingy, sometimes these ghosts exist for mysterious reasons.
Then, neatly stack everything into one square big enough to hold all the frames, select all the frames, resize to selection. OK, now double check that the names of your layers werent changed to generic path94958509 out of the fucking blue AGAIN, all good.
Also double check that inkscape hasn't changed the name and extension of your output file AGAIN then make sure inkscape hasn't changed the dimensions of your export AGAIN and then AGAIN and AGAIN...
OK, so you've exported your svg, now we start doing even more stupid and questionable things. We go into the file and delete the header, specially the comment at the top that clearly states this file was made with inkscape, because my experience was so DELIGHTFUL that I very much require some abstract form of petty vengeance. Also a cigarette.
Hold on. Patiently erase useless tags such as defs and g and shit, all you want is the svg and paths. Then, painstakingly convert each <path id=$ .../> into <symbol id=$> <path .../>.
Why didn't I write a perl script for this part? Actually that's a good idea, goes on the todolist, I didn't write a todolist app though, because I have a textfile. I mean, just what kind of negative IQ troglodyte would do something like that? ;>;>;>;>;>;>;>
Anyway, now utilize your black-magic-infused devilspeak q$p e r l$ script to fasten together an entire webapp into a single html file, all done with duct tape and clown jizz of course, see previous rant for VERY technical details. Also I jjust time traveled and wrote the previous paragraph while writing this one everything is out of order oh noes.
No matter it works now me is happiee.
I got heart icon for health bar but no health bar implemented not aproblem.
Uh also outlines. Here, let's keep it topical, this is rom.rol:
```rol
# vars:
$:%peso;>
let sprite,"$.elems.srpite";
$:/peso;>
# css:
$:%asis;>
path {
· stroke: $080808;
· stroke-width: 0.1;
· stroke-linejoin: round;
· paint-order: stroke;
}
$:/asis;>
# html:
$:%asis;>
<svg width="2.1166811mm" height="2.1166601mm" viewBox="0 0 2.1166811 2.1166601" xmlns="http://www.w3.org/2000/svg">
<symbol id="{$$.%sprite}_hp_0">
<path d="M 0.264594,0.26458 V 0.52916 H 1.1e-5 V 0.79375 1.05833 1.32291 H 0.264594 V 1.5875 H 0.529177 V 1.85208 H 0.793761 V 2.11666 H 1.058344 1.322927 V 1.85208 H 1.587511 V 1.5875 H 1.852094 V 1.32291 H 2.116677 V 1.05833 0.79375 0.52916 H 1.852094 V 0.26458 H 1.587511 1.322927 V 0.52916 H 1.058344 0.793761 V 0.26458 H 0.529177 Z"/>
</symbol>
<!--NOW DO THE OTHER NINE FRAMES-->
</svg>
$:/asis;>
```
so now I can say (in base.rol):
```rol
$:%peso;>
lib "[based]";
rol "rom.rol";
let hud,"$.elems.hdu";
$:/peso;>
$:%asis;>
<svg viewBox="0 0 23.283329 2.1166601" width="16%" height="16%" fill="#880808">
<use id="{$$.%hud}_hp" href="#{$rom.%sprite}_hp_0"/>
</svg>
<script>
document.getElementById("{$$.%hud}_hp").setAttribute('href',"#{$rom.%sprite}_hp_" + n).
</script>
$:/asis;>
```
Where `n` is just some frame counter this is duct tape now request animation frames REQUEST THEM YOU MUST.
Anyway this is immensely stupid but it made me giggle so I share.
AAA RPG with full svg graphics when?1 -
when you're adding whiskey to your coffee during work hours, you know you really should find a new job.8
-
You know what I find truly despicable? Consultants who grossly over-sell worthless digital products.
Take a guy who throws together 2 text boxes and a list in Figma and calls it: "The disruptive platform that will solve all your problems at once today!". Are you fucking kidding me? Such an insult to people's intelligence.
There is a saying: "A salesman will sell you a dirty cloth for the price of a house".7 -
In modern C#, everything's an interface.
Zig is actually sort of similar. I guess I owe it to C# for teaching me the magic.
Sorry, I mean:
IZig is IActually ISort of ISimilar. (IContinued...)4 -
Opened a legacy PHP file from 2008.
No functions.
2,000+ lines.
Inline SQL.
HTML inside echo statements.
A single if (true) wrapping the entire thing like some cursed gift box.
At the top:
// Do not modify. Works perfectly.
At the bottom:
It writes to two databases. Only one exists.
Somewhere in the middle:
It sends an email…
to the client’s ex-wife.
I closed the file.
Rebooted my laptop.
Took a walk.
Still not okay.5 -
I meant to upload this Reddit post from r/TrueOffMyChest as an image, but apparently that feature is broken. So I transcribed it. This rant writes itself. It's absolutely discrimination and by consent of the state. This, plus age and viewpoint discrimination, is why I own and operate my own business. I refuse to be beholden to HR assclowns trying to virtue signal their way into their next promotion.
"So I did an experiment, I work in CS and decided to test what the gender bias is. So I took my CV And changed the name to a female name. I'd send it out with my real name, then a few days later (or few days before) with a female name.
Out of 100, my applications with a male name got 7 responses for interview.
Out of 100, my applications with a female name got 45 responses to interview
The female resume was 650% more likely to get a callback. And the resumes were identical.
So then I thought 'what about someone looking for working class jobs?' So I decided to focus on restaurants-servers, hosting, etc. Made a fake resume, and responded to craigslist ads with both male and female names. Sometimes the male went first, sometimes the female went first.
Out of 100, my applications with a male name got 10 responses to interview
Out of 100, my applications with a female name got 87 responses to interview
The female resume got 870% more responses."7 -
Having no say in your own work and everything being decided AFTER THE MERGE REQUEST is really interesting.
Preparing my 2 week notice.4 -
The average meeting: "I think that's a really great idea. Let's circle back on this and take a 60k view, leveraging the low-hanging fruit so we can identify you championed this technology".
Seriously? Championed? As if the other bs language weren't enough. And this is language that they use to convince clients. "My consultant championed A.I.". Are you fucking kidding me? It sounds ridiculous. Needless to say, we lost that client.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?9 -
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. :(6 -
Still alive. Wrist’s been hurting lately so I’ve had to stop crocheting 😭
But I got into paint by numbers!5 -
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.6 -
I noticed an increased usage of the word unalive, such as in "to un-alive someone" on youtube, spoken in the videos and written in the comments.
I suppose this is to avoid the word kill?
So we are at the stage of changing the language just to avoid using a bad word on a platform of hypersensitive woke snowflakes who will cancel you for saying a specific word regardless of the context it’s been used in?
Please tell me I‘m wrong. 😒34 -
> By designing nudges that align with students' goals and cognitive processes, educators can effectively support students in reaching their full potential and improving their academic performance
remember kids. your full potential is dictated by others, not by you
I am creeped out and I hate society -
Reminder for Europe meet up.
I suggest August 23rd, Amsterdam. Let's meet at centraal and go from there.
... I expect 5 of you to show up, btw, with one being late and one being very very late. 😐18 -
I hate Outlook! It's a mail client from hell, its diabolity now powered by an intrusive Artificial Idiocy interferring with any mail I try to write, popping up undesired autocomplete suggestions and driving me mad! Microsoft, by forcing your CoPilot-shit on your users, you have degenerated the entire MS office package into a FUCKING USELESS UX!9
-
In my company I now have 3 browsers.
Chrome for company stuff that only works in Chrome.
Safari for company stuff that only works in Edge or Safari.
And Firefox for actual work.
🤡30 -
Everything development related I see recently are related to LLMs and I’m starting to get sick of it :(3
-
My wife went to do some work for a charity. They "got her the best computer available". It was a poor mangled MacBook whose better days were somewhere in the dawn of the last decade.
She tries to type anything... and only gibberish appears on screen.
She comes to me, absolutely me puzzled. I try to type anything... gibberish. I boot up in safe mode, everything is OK.
I look around for system configs... there is a custom keyboard mapping enabled by default.
We check the weird stains on the keyboard... they are regular and in all keys. Like if there used to be adhesive stickers on the keys, and those stickers were later removed.
I boot up again... and type "q". It becomes "a". I type "w". It becomes "b". I dread typing "e". Sure as bug, it becomes "c".
By the love of byte, someone asked for a custom keyboard layout... IN FUCKING ALPHABETICAL ORDER.
It was easy enough to change the layout after that, but the weirdness continues: my wife asked around, and apparently the laptop used to belong to some old dude... who was convinced there were characters missing from his keyboard. Apparently he could never find them in a regular QWERTY layout.
I wish I could give some encouraging words for the kid who came up with the solution. Working around technophobes is a drying art, that needs to be rewarded.10 -
What I’d give for a modern version of gladiator fights. And no, not to watch people die. The belief that they massacred themselves in the arenas is hollywood propaganda. Many fighters werent even slaves. And had pretty high status3