Details
-
AboutAAAAAAAAAAAAAAAAAAA
-
SkillsRust and other things
-
Locationhere
-
Website
Joined devRant on 12/8/2018
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
![](/static/devrant/img/pipeless-devrant-banner-white.png)
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Drinking gluhwein 9:00 in the morning on a Wednesday. It's snows outside and I have special snow in my stash. This will be a fun day. Isn't life beautiful?
Edit: oh f, it's Tuesday. As you can see, very relaxed.13 -
Any fool can write code that a computer can understand. Good programmers write code that humans can understand29
-
LOVE how these companies are keep publishing their "AI models" without verifying or explaining their architecture, their data collection process, and any validation scores.
Like, I am to just take your word for it working "better" because of a study done by the school of PSYCHED(🤪)?8 -
In CSS, never ever enlarge anything by hover. There will exist a set of cursed cursor positions somewhere on the edge of fully zoomed out and fully zoomed in states, which will make your UI element twitch between two states at 60+ FPS.
If you want this effect, wrap the element you want to enlarge in a wrapper whose size won't change. Add :hover state on the wrapper, not the element, and change the element in that selector. It will make the curse go away.
wrong:
.zoom:hover { transform: scale(1.1) }
right:
.zoom-wrapper:hover .zoom { transform: scale(1.1) }6 -
Oh for fuck's sake.
delete from FooTable where FooID in (select FooID from OtherTable)
If there is no field called FooID in OtherTable, then the bracketed select is just the FooID of the current record in FooTable, repeated n times where there are n rows in OtherTable. So it matches every record.
Which makes perfect sense, but for fuck's sake.
Obviously if this was prod I would have been using fully-qualified column names.
But nevertheless, for fuck's sake.1 -
How the fuck is that a thing.
I understand when you're application requires a lock file. But put it in temp. I get it, you want it user specific. You can put it still in temp. Just add the user to the lockfile's name.
Don't put it in the config. Yea, had to reboot without letting my applications close properly. After a reboot, a lockfile should be automatically removed.
Here's an idea, if you're really that terrified of leaking the information, that the application is in use, to other users of the computer, which could probably just look at the processes to figure that one out, check the lock file's last modified timestamp and compare it with the uptime.
Because, it is just annoying when I reboot the computer and I cannot start the application because the fucking lockfile is still there.
Looking at you, datagrip. I really need to find a good open source alternative for my databases.2 -
AI is dumb and is not going to rob your work as a programmer.
Expanding on this:
https://devrant.com/rants/12459112/...
Don't know about the others, but programming and IT is mostly safe unless you're a secretary answering to mails pressing 1 keystroke at time with index finger.
Bullshit.
I’ve tried EVERYTHING. As a developer, I know exactly what instructions to give and how to explain them. I tried this stuff for years.
I abandoned the idea to give Ai a full blown workspace to vscode with copilot, even with experimental LLMS (Claude 3.5, Gpt4o, o1, as per my linked post, copilot is dumb as a rock), because it fucks up every fucking time so bad.
I tried getting an AI to build a simple project, something that has plenty of samples of code around, something that I was sure it could have been in its training dataset. A copy of Arkanoid, in HTML/CSS/JS, even reformulating the prompts over and over with different LLMs that claim to have reasoning abilities. I provided detailed feedback step by step, pointed out the errors, improvements, and problems in-depth to: o3, o1, 4o, deepseekv3+R1, and Qwen 2.5 Ultra. I even activated web search and suggested scanning GitHub repos when necessary. I gave examples of code after several failed attempts.
And guess what? Nothing. A total mess. Half the time, the game didn’t even run, and when it did, everything was wrong—bricks overlapping, barely anything working the way I asked. Even though the internet is full of similar code, and I gave it part of the solution myself when it couldn’t figure it out.
Don’t worry, AI isn’t going to steal your job—it’s just a broken toy. Fine for repetitive, simple tasks, but nothing more.
It's years that they make hyped up bold statements that the next model will revolutionize everything and it's years that I get delusional results.
It's just good at replacing some junior bovine work like mapping some classes or writing some loops with not too much variables and logics involved.
Sigh. My error was getting too comfortable using it and trusting/hoping that this ramp up in AI developement would have brought an easier life to dev.
Silly mistake.7 -
what ancient artefact did I stumble across 💀
Last update is a "development on version 0.95 has started!" dated 20124 -
Void Linux. Good distro. But I switched back to Arch.
1. XBPS takes too much time
2. Consumes too much resources
3. Not enough packages.
Bye.4 -
So, I have a nested ternary, right, and that's not very readable:
(x <= y ? z : (x <= z ? y : x));
The linter points this out and I'm like yeah, valid point. So I inline-F[*0] it:
if (x <= y)
········return z;
else if (x <= z)
········return y;
else
········return x;
Clearer? Kinda. Oh, but the linter doesn't like this either, and to be fair, valid point once again; an else-after-return *can* be quite confusing if you have it in the __middle__ of the F body, catches you by suprise.
However, I'd like to take a brief moment to waggle your nutsack, if you please. Because this is C++ and I'm picking a reference from a list of values, so I can't simply assout[*1] within the switch.
So I'm at the crossroads of life once again, losing man's toughest struggle as I sit on a metaphorical cigar, squirming while I unclench my asshole slowly for strictly defecatory purposes. Allow me to illustrate:
- If I ignore the linter, and leave the rest of the code unchanged, the checks are going to fail and the bot is going to taint my pristine PR with automated comments.
- But if I take the linter's advice, I have to do a slight rewrite of the damn thing plus every F that calls it, which means touching shit that has nothing to do with this issue.
So what's it gonna be? Flushing or shoving my own excrement? Oh, the thrills of it being (literally) SOLID, ie not the acronym, but may the Almighty punish Uncle Bob regardless.
NOTES:
[*0]: It means 'function,' what else?
[*1]: ASS-ign OUT-put, where 'out' is just some var. You modify the var within the F body and return the final value.23 -
Async Rust doesn't have a great story for Iterator::map just yet. I wrote a mini-article about it:
https://lbfalvy.com/blog/...4 -
Visual Studio in the recent releases got some updates where it "accelerates build time" by caching DLLs or something
Good in theory? sure.
In practice? So very often, a "hot reload" now doesn't trigger a DLL swap. VS says that changes have been updated but you see stale code and you've to turn off the program and re-run it
I'm sure there's a way to turn this acceleration off and will do that after this rant, but I don't get how such retarded features get green-lit and make it to production :v
I understand that for biiiig solutions with minutes of build-time, this would be god-sent, but if it's this unreliable in my 8-Project Solution, I wonder how unreliable it'd be in bigger Solutions
at least turn it off by default if you know it's shit ffs.6