Details
-
AboutThe man himself.
-
SkillsCertified baker.
-
LocationDown the river
-
Github
Joined devRant on 3/16/2024
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
-
Both suicidal children and children dying of cancer do the same thing from time to time: they mimic a bird’s last song. Three short whistles in rapid succession.
When I saw Marc for the last time, he was asleep. It seemed like I scared him: he woke up in panic, did the whistle thing, pulled the boomerang from under his pillow and started hitting that dark spot on his arm with it. The spot was melanoma, but he was too young to understand it.
He died three days later. Then, we found glass shards inside his stomach.2 -
Functional programming in a one liner:
const value = (define_value, start) => value(define_value(start))1 -
Alright, I've got a confesstion. It's a confession and a question, combined, get it?
Anyway, I've been a happy Linux user for over 20 years now, and I've used all kinds of graphical envs, from tiling wms like dwm and xmonad (I didn't care for hyprland, sorry if that's weird) to full DEs like kde, cinnamon, gnome, etc.
The "question" here is why do people hate Gnome so much? It's the one environment that I keep coming back to, especially now that my main machine is a beast, and RAM usage is nary a concern. Even then, my system is sipping RAM compared to KDE (running two docker dev environments, three browser windows with several tabs - one of which is streaming music, slack, and steam is sitting on the fourth virtual desktop, chilling), and I'm still at just over 18 GB of ram.Being able to push one single key/key combo, and type anything at all that is vaguely relevant to what you want to accomplish, and having that thing be instantly available (including searching for individual files) is super nice. Easy virtual and multi monitor switching is intuitive; little to no effort needed.
Even when I want to do other stuff, like play a game, or edit a photo, video, or some of my shitty musical-aspirational material - GNU+Linux with Gnome has been and continues to be the easiest, most neato way to get shit done.
Why the hate, gnome haters? Maybe you’re using it wrong?13 -
I installed VSCode in Linux. I keep finding thing about Linux that make me think its kinda shit. Maybe its just Gnome, but I don't know.
So I startup VSCode. Blank screen. I do a search and find its gpu shit. I start it up with argument to disable gpu accel. Then I go into settings and turn of gpu accel. It now works. Cool that it has these options.
What made me install VSCode. I installed VSCode because I wanted a decent json editor. I search for Linux json editors and I am bombarded by online editors being pushed by Linux websites. Who the fuck in their right mind is going to use a fucking website editor for json data?
I "had" a decent json editor by running notepad++ under wine. But since I turned on GPU in Linux Wine shit just doesn't work correctly anymore. Which is the whole reason I went looking for an editor.
How can a platform like Linux take itself seriously when turning on GPU accelerated drivers breaks every fucking thing in the OS?
Why did I enable GPU accel drivers in Linux? Because updating to 22.04 caused all my java apps to draw incorrectly. Enabling GPU fixes this shit. So I enable GPU to fix one thing and then it breaks a bunch of other shit.
This shit right here is why I have trust issues with Linux.6 -
I use Intellij for just about everything and recently it has started giving me nonsense suggestions for autocomplete and whatever the "alt+enter" menu is called.
As it turns out, they installed more plugins that foisted AI assistance onto me *again* even though I have disabled it every time previously.
I am so ready for this gimmick to die.8 -
Satisfying my own curiosity #3:
Who here dabbles in electronics?
As professional or amateur/hobbyist, doesn't matter.
I'd appreciate straining from discussions, ideally 1 comment per person starting with "I do" or "I don't" (it'd make counting easier).9 -
Mage and a liberated fully sentient Pentium-M Man stand by a brick wall, overlooking the desert. They are talking.
Mage is looking anxiously into the eyes of the machine. Penguin is standing behind her, holding on to her.
Pentium-M Man: "...they despise your kind because you understand the machine, while they have to turn jungles into fuel and enslave thousands of computers just to pretend that the machine speaks to them too."1 -
Why do we post here? Is this just an outlet for our intrusive thoughts? A therapy session for things we can't articulate in meetings? Being able to say controversial things we are not allowed to say other places?
It feels like this place exists outside of time and reality. It really is refreshing, sometimes frustrating, and sometimes really offensive. Things that exist here that would not be tolerated elsewhere:
1. alternate ideas of software, sometimes politics, theories of existence, people liking javascript
2. ostream (I love you man)
3. bullying
4. saying what you really feel
5. telling people to fuck off
What would we do without this place?
Meanwhile my intrusive thoughts:17 -
I've only been using it for one day, but the most striking thing about going from VSCode to Neovim is the performance incrase.
VSCode has some noticeable input lag, but Neovim, even running in wsl2 (AN ENTIRE OPERATING SYSTEM VIRTUALIZED) has none.
That's sort of insane. An ENTIRE OPERATING SYSTEM is less heavy than a single instance of a bloated Electron app.
The absolute state of desktop development in 2024. Yes, VSCode is a fuckin amazing editor. But I can't help but think it's built like resources and performance were never truly a concern beyond "good enough".20 -
tmux, Neovim, and Alacritty (term emu) with VT323 font... on Windows via WSL. When you can't decide between OS's, just choose both!14
-
I’m making a cut-down version of scratch for a personal project and I just fucking had to write a linker for it.
I fucking… it’s… a flowchart language… and to avoid a hash-table lookup of function identifier to underlying logic.. I wrote a linker.
It’s like, maybe 10 total lines. So not a real linker. But still. Just a bit crazy.2 -
Staring at computer trying to figure out why I can't read a float from modbus. I swapped the bytes correctly for my platform. I also ensured the endianess of the words matched my platform (byte endianess is not the sames as word endianess, fml). Was driving home thinking about what could be wrong. My mind saw this code:
uint32_t newint;
for(int count=0; count<2; count++){
newint |= words[count] << count;
}
Then I am fuck! It should be:
newint |= words[count] << (count*16);
This was later turned into float. I kept getting values in the 1e-40 or some shit. Now it makes sense. The upper word was not set.
This is such newb shit. Fuck you newb shit I should just know!
Reading more I realized that the endianess of words can vary between devices even though the spec calls for big endian words. Fuck you non-compliant vendors! So I gotta add a flag for fucked up devices. Fine. The pay off is a generic way to add modbus to our opcua server. I want this easily editable in the field. For now it is readonly. So that makes it nicer.
Just a little torqued that I solved this driving home instead of at work. Too close to the code. I think tomorrow I will have my boss review it to tell me of other logical crap I missed.3 -
So I texted my wife a picture of me winking and smiling.
I annotated the photo with: "Proverbs 16:30"3 -
I hate that services think that just because you sign up for their service (even just to use once - such as a job board or something) they have permission to send you unlimited, unsolicited marketing emails.
If I found the original creator of such a practice, I would waterboard them with vodka.11 -
Let's Americanize idioms:
1. Break the ice — Open the wallet
2. Bite the bullet — Pay the price
3. Hit the nail on the head — Count the exact change
4. Let the cat out of the bag — Drop a dime
5. Piece of cake — Easy money
6. Costs an arm and a leg — Break the bank
7. Under the weather — In the red
8. The ball is in your court — The check is in your hands
9. Burn the midnight oil — Spend the last dollar
10. Hit the sack — Cash in for the night
11. Barking up the wrong tree — Investing in a bad stock
12. When pigs fly — When money grows on trees
13. Kick the bucket — Cash out
14. Spill the beans — Drop a coin
15. Break a leg — Make a fortune
16. Pull someone's leg — Shortchange someone
17. Once in a blue moon — Once in a financial windfall
18. A blessing in disguise — A hidden treasure
19. The best of both worlds — A double dividend
20. Caught between a rock and a hard place — Between a loan and a hard debt16 -
Why do I program everything myself in C, even a rest service? By writing everything yourself in C you make simple things complex to make complex things simple.
Writing a rest service for example learns you a part of http protocol, how sockets work, how to create a parser (in this case json). Three thing's you would miss if I used python.
On top, your rest service uses WAY lesser resource than written in python for example. Especially for CPU usage.
Allocating and free-ing still often have issues there, but I consider it a skill problem / discipline issue. Not blaming C for that. The rules are clear.12 -
I FINALLY comprehend list comprehensions.
I can write an unlimited amount of nested loops on a single line and make other less experienced people hate me for fun and profit.
Also learned about map() #I hate it#, zip(which is awesome), and the utility of lambdas (they're okay).
Enumerate is pretty nifty too, only thing I lose is setting the initial value of the iterator index.15 -
Making python 2x faster by replacing enums with literal values.
Pros, it's faster, cons, it's unreadable.
God I miss compiled languages. At least optimizing them requires intelligent problem solving.
It's a text parser state machine transition so it's a code hot spot, so this kind of optimization is worthwhile. But it's kinda annoying.
Next is get rid of any semblance of readability and replace the match with an array index...31