Details
-
AboutEnthusiast of strict, safe, elegant and beautiful programming languages. Allergic against boilerplate. Certified hater of clown languages like JavaScript. 📱 Developer of JoyRant, the unofficial devRant iOS app that doesn’t crash.
-
SkillsSwift, SwiftUI. I have a truly large list of other skills which this margin is too narrow to contain.
-
LocationGermany
-
Github
Joined devRant on 6/30/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
-
How to fuck up a simple feature in terms of usability and functionality and take two freaking years (!) for it?
Just use some low code dogshit like the crap that SAP provides.1 -
Fucking hell! Why can‘t I block notifications for a specific conversation thread for a limited amount of time in Teams? I get spammed with shit that I don‘t care about but when I block it now, I will forget to unblock it later. 😡4
-
Another reminder to be be very cautious when you rely on services from MS or Google:
https://learn.microsoft.com/en-us/...
(App Center is shutting down)8 -
Dear fellow devranters
ostream has created his 3rd generation accounts, @godiebitch and @gofuckyourself
Can we please downvote him this time?
He will delete his accounts anyway in a few months but maybe we can reduce the spam that way.
And also try to convince him to get some help.92 -
Not a kiki post 🙂
Pelmeni, the Russian dumplings cuisine, sold in Germany, have a big label on the packaging saying "Made in Latvia" since the war with Ukraine has begun.2 -
I was thinking about what the correct term is for the "." symbol at the end of sentences. Is it dot, point or period?
Turns out it is period, but I also learned that in British English it’s called full stop, which I find very funny 😂. It sounds like something that one would scream in an emergency. FULL STOP!
Anyway, in German there is only one word for dot, point, period and full stop.90 -
"with that said" is the most overused phrase in meetings.
Not sure if it‘s a just a German thing when we speak English.10 -
Judging by the amount of bitcoin recovery ad spam here on devrant, there must be a huge amount of people somehow losing their bitcoins on a daily basis.
Thank god those altruistic scammers… *ahem* I mean hackers of course… are there to help.7 -
"Let‘s make a service where the users can enter all of their secrets and sensitive data so that we can warn them if that data has been leaked elsewhere"
What could possibly go wrong?2 -
How do you type with pairs of characters like () [] <> "" etc.?
Do you type them both, then move the cursor back and type the stuff inside or do you type the first of the pair, then type the stuff inside and then close it with the second of the pair?
I just realized I do both techniques, apparently randomly, which weirds me out.
Also my IDE often places the second character of the pair automatically.10 -
Update on the API based game that I’m working on.
All of the game logic and API is mostly done.
Here is a gif which shows a few turns with a very simple "AI" vs a passive bot.
I’m bad at graphics so a went for a more abstract UI:
The arrows represent the looking direction of the units and the black dots represent the direction of the shots being fired at a particular turn. Units can look and move and shoot in different directions in one turn.
https://devrant.com/rants/10176221/...10 -
Currently working on a game for developers.
Two players compete on a randomly generated arena by sending instructions via a REST API such as "unit x move in the up direction and shoot to the right". So units can be controlled by manual user interaction but the idea is that the players create a smart program that controls the units automatically. So it’s about who can implement the best "bot".
The game is turn based and the units can move one grid cell per turn and shoot in one of the four directions. Shots require energy which regenerates a certain amount per turn.
Units can also look in a direction to spot enemy units which are not visible by default.
The winner is who manages to destroy all enemy units or the main stationary enemy unit "the gem" (diamond shape in the screenshot).
There are walls which block the movement, the line of sight and the shots (green cells).
Everything is randomized. The size of the arena, the number of units, max hp, max energy, etc. But it can be replayed by providing a seed.
There will be a website which lists all games, so that players can watch them.
Alternatively a player can also implement an own viewer. Everything necessary is provided by the REST API.
I’m curious about what you think 😄18 -
!rant
Just tried Vapor (server side Swift) for a web api project and expected to be troubleshooting a lot but it was super easy and worked out of the box. Even openapi/swagger generation.
Now I‘m exited to build a fullstack project with native and web clients, completely in Swift. 😁1 -
JoyRant build 24:
* @mentions from the keyboard suggestions are now inserted at the text cursor instead of at the end of the text.
* max height of 1000 points for image previews, to counter large image spam by people like ostream.
TestFlight:
https://testflight.apple.com/join/...10 -
I want to explain to people like ostream (aka aviophille) why JS is a crap language. Because they apparently don't know (lol).
First I want to say that JS is fine for small things like gluing some parts togeter. Like, you know, the exact thing it was intended for when it was invented: scripting.
So why is it bad as a programming language for whole apps or projects?
No type checks (dynamic typing). This is typical for scripting languages and not neccesarily bad for such a language but it's certainly bad for a programming language.
"truthy" everything. It's bad for readability and it's dangerous because you can accidentaly make unwanted behavior.
The existence of == and ===. The rule for many real life JS projects is to always use === to be more safe.
In general: The correct thing should be the default thing. JS violates that.
Automatic semicolon insertion can cause funny surprises.
If semicolons aren't truly optional, then they should not be allowed to be omitted.
No enums. Do I need to say more?
No generics (of course, lol).
Fucked up implicit type conversions that violate the principle of least surprise (you know those from all the memes).
No integer data types (only floating point). BigInt obviously doesn't count.
No value types and no real concept for immutability. "Const" doesn't count because it only makes the reference immutale (see lack of value types). "Freeze" doesn't count since it's a runtime enforcement and therefore pretty useless.
No algebraic types. That one can be forgiven though, because it's only common in the most modern languages.
The need for null AND undefined.
No concept of non-nullability (values that can not be null).
JS embraces the "fail silently" approach, which means that many bugs remain unnoticed and will be a PITA to find and debug.
Some of the problems can and have been adressed with TypeScript, but most of them are unfixable because it would break backward compatibility.
So JS is truly rotten at the core and can not be fixed in principle.
That doesn't mean that I also hate JS devs. I pity your poor souls for having to deal with this abomination of a language.
It's likely that I fogot to mention many other problems with JS, so feel free to extend the list in the comments :)
Marry Christmas!34 -
Seems like the ad spammers are quite active recently. I‘m worried.
Also: fuck every single one of them human scum.13 -
Windows: I have updates, please pick an option:
* Update and shut down
* Update and reboot
Me: Ok, update and shut down
Windows: Updates and reboots11 -
For those of you who still refuse to accept that safety features in languages are useful and important:
https://daniel.haxx.se/blog/2023/...
The author of curl himself admits that this security flaw could have been prevented if he had used a memory safe language.
I‘m not blaming the author for making this mistake and I‘m not saying that curl should be rewritten in another language.
I just want to rub this in the faces of people who argue that "bugs are always the developer’s fault, therefore it’s perfectly fine to keep using unsafe languages"4 -
I have this irrational cringe every time that people say infinite when they actually mean unlimited. I hear and read it everywhere, multiple times per day. In English and in German.
"You can do this infinitely often"
"AI bots have infinite APM"
"The number of items you can store is infinite"
Aaaaargh! Stop it! It hurts! 😫22 -
I opened a pdf in macOS today.
It was opened in the default pdf viewer and I could scroll through the pages. Then I accidentally dragged one of the pages in the left area where all of the pages are shown as thumbnails. I was surprised that I can do that, because surely I was just viewing the pdf. Like in a pdf viewer. Like read only.
Imagine my surprise when I closed the pdf, opened it again and found the pages in the wrong order!
It freaking autosaved my accidental drag and drop in the standard app that opens pdfs!
Who the hell thought it was a good idea to do that? That’s insane!6 -
As if it‘s not shit enough that I have internet with the speed 1.2 Mbits, now something broke with the connection and the internet disconnects like 5 times per minute the whole day.
And now I need to wait for some technician to come and check (and hopefully fix) what‘s wrong. And I hope it won‘t take him days to do that. I need the internet now! 😣9 -
TIL that Jira comes from Godzilla.
In Japanese, Godzilla is pronounced like Gojira and Jira is just the second half of Gojira.
This also clarifies how to pronounce it.
https://en.m.wikipedia.org/wiki/...3