In-reply-to » went to vote. got told i can't vote because i'm not registered. handed a form to fill out that i later learn is not in english.

Happy for you! Mamdani looks like he will be good for NYC.

⤋ Read More
In-reply-to » OH, FUCK ME DEAD! On the way home from today's walk I saw easily 800 fireflies! Yes, over eight hundred! That was absolutely amazing. First time this year and already this many. Crazy! They were just fricking everywhere in the entire forest. I counted to one hundred and then stopped. The darker it got, the more fireflies came out and glowed around. :-) There were spots where in under ten seconds I counted 20 glowworms. Super sick. Soooo beautiful. <3

Hahaha, I’m sure there were well over one thousand fireflies today! Basically at all times I could watch at least 15 of them around me. At better spots where one could see a few meters into the forest, there were easily 30 individuals, probably more. One even landed on my small finger. I didn’t feel anything at all, but my finger glowed. :-) Awwww! After a 20 meters ride it took off.

But it looks like I have to go already at 21:30 at sunset the next days. Today, I left the house at 22:00 and all the above happend in the first half. The second half of the walk was rather boring, maybe just around 70 glowworms in total. The extremely busy route yesterday was virtually dead this time I came around. They all have already gone to sleep, or something like that.

I also encountered two toads. I nearly stepped on the first one, but it luckily jumped to the side in time. No animals harmed.

⤋ Read More
In-reply-to » OH, FUCK ME DEAD! On the way home from today's walk I saw easily 800 fireflies! Yes, over eight hundred! That was absolutely amazing. First time this year and already this many. Crazy! They were just fricking everywhere in the entire forest. I counted to one hundred and then stopped. The darker it got, the more fireflies came out and glowed around. :-) There were spots where in under ten seconds I counted 20 glowworms. Super sick. Soooo beautiful. <3

@movq@www.uninformativ.de That short segment is fairly close to reality, even though it obviously looks heaps better in person: https://youtu.be/u8YVorNRcDM?t=66

⤋ Read More
In-reply-to » I did a “lecture”/“workshop” about this at work today. 16-bit DOS, real mode. 💾 Pretty cool and the audience (devs and sysadmins) seemed quite interested. 🥳

@movq@www.uninformativ.de I also don’t think that I’m a particularly good speaker. :-) The workshop model is a good idea, I like that.

Yeah, it’s really good fun. I can highly recommend it. This is also a good way to train (new) developers to think like attackers, how to break in, destroy something or raise awareness of some classes of bugs. Then you can avoid them next time. It’s surprising to me what vulnerabilities come up during this event every time. So, absolutely worth it, win, win.

⤋ Read More
In-reply-to » OH, FUCK ME DEAD! On the way home from today's walk I saw easily 800 fireflies! Yes, over eight hundred! That was absolutely amazing. First time this year and already this many. Crazy! They were just fricking everywhere in the entire forest. I counted to one hundred and then stopped. The darker it got, the more fireflies came out and glowed around. :-) There were spots where in under ten seconds I counted 20 glowworms. Super sick. Soooo beautiful. <3

@movq@www.uninformativ.de Oh, really!? You should come visit. :-)

As far as I know females are sitting in the shrubs and males fly around, but they’re not all that quick. They are slowly moving glowing dots that you can easily follow with your eyes. The bigger problem might be that they turn off and then on again. So, one could count duplicates. However, there’s typically a bit of distance between them (at least 30-50 cm I’d say, often more). Counting the same individual multiple times is not all that common (assuming that they don’t speed up when turned off). My counting was also conservative I believe.

Ah, Die Maus also covered them a few days ago: https://www.youtube.com/watch?v=OVGD5QEvtoc At the end, there’s a video were you can see the speeds a bit.

⤋ Read More
In-reply-to » OH, FUCK ME DEAD! On the way home from today's walk I saw easily 800 fireflies! Yes, over eight hundred! That was absolutely amazing. First time this year and already this many. Crazy! They were just fricking everywhere in the entire forest. I counted to one hundred and then stopped. The darker it got, the more fireflies came out and glowed around. :-) There were spots where in under ten seconds I counted 20 glowworms. Super sick. Soooo beautiful. <3

@lyse@lyse.isobeef.org I can confidently say that I don’t remember ever having seen fireflys. (Nor Firefly.) 😳 I’m most surprised that you could count them. Naively, I would assume that these guys move around a lot and you’d lose track of them?

⤋ Read More

After drawing the bigger canine stickers, I also want to change my profile picture for summer, to something more fluffy, shaded and a bit smug looking.

⤋ Read More

OH, FUCK ME DEAD! On the way home from today’s walk I saw easily 800 fireflies! Yes, over eight hundred! That was absolutely amazing. First time this year and already this many. Crazy! They were just fricking everywhere in the entire forest. I counted to one hundred and then stopped. The darker it got, the more fireflies came out and glowed around. :-) There were spots where in under ten seconds I counted 20 glowworms. Super sick. Soooo beautiful. <3

Before I left I tried to call a mate to join me, who apparently wasn’t home yet, though, didn’t pick up. But in the very end I surprisingly met her in the forest and we were super happy to encounter all the fireflies. She also said that today was her first time this year to spot them. I’ll definitely check them out in the next days, too.

Apart from all the glowworms, I also came across some goats, two deer (one of which only the ears showing out of the grass), according to the sounds I sadly must have scared up four more, bucketloads of tadpoles, four big and very active anthills next to each other and three bats to finish the stroll off. I call that extremely successful.

Image

There ya go: https://lyse.isobeef.org/waldspaziergang-2025-06-24/

⤋ Read More
In-reply-to » I did a “lecture”/“workshop” about this at work today. 16-bit DOS, real mode. 💾 Pretty cool and the audience (devs and sysadmins) seemed quite interested. 🥳

@lyse@lyse.isobeef.org

They’re all talks, not real hands-on trainings like you did.

I love listening to good, well-structured talks. Problem is, not everybody is a good speaker and many screw it up. 🥴 I’m certainly not a great speaker, which is why I gravitate more towards “workshops”, in the hopes that people ask questions and discussions arise. Doesn’t always work out. 🤣 At the very least, I almost always have some other person connect to the projector/beamer/screenshare and then they do the stuff – this avoids me being wwwwaaaaaaaaayyyy too fast.

We are usually drowned in stress and tight deadlines, hence events like today are super rare … We used to do it more often until ~10 years ago.

Once a year the security guys organize a really great hacking event, though.

Oh dear, I’d love to participate in that. 🤯 That sounds like a lot of fun. (Why don’t we do this?!)

⤋ Read More
In-reply-to » I did a “lecture”/“workshop” about this at work today. 16-bit DOS, real mode. 💾 Pretty cool and the audience (devs and sysadmins) seemed quite interested. 🥳

@movq@www.uninformativ.de Interesting internal education sessions are way too infrequent here as well. There are a bunch of “knowledge transfer” meetings actually, but 90% of the topics already sound totally boring to me. The other 9% talks turned out to be underwhelming, sadly. I only attended a single one where it was delivered what has been promised. They’re all talks, not real hands-on trainings like you did.

Once a year the security guys organize a really great hacking event, though. Teams can volunteer to hand in their software dev instances and all workmates are invited to hack them and report security vulnerabilities. That’s a lot of fun, but also gets frustrating towards the end when you don’t make any progress. :-) There’s also some actual hands-on training in advance for preparation of the two days. Unfortunately, I missed the last event due to my own project being very stressful at the time.

When I had a Do What You Want Day I also show my direct teammates what I learned in the hopes of this being interesting to them as well. I’m the only one in my team using this opportunity, sadly.

⤋ Read More
In-reply-to » https://threadreaderapp.com/thread/1935344122103308748.html Interesting article on how ChatGPT is rotting your brain 🤣

About ChatGPT rotting people’s brains, similarly could be said about search engines, and reference books. Oh, also doom scrolling, and mobile devices, and the Internet… :-P

⤋ Read More

I did a “lecture”/“workshop” about this at work today. 16-bit DOS, real mode. 💾 Pretty cool and the audience (devs and sysadmins) seemed quite interested. 🥳

  • People used the Intel docs to figure out the instruction encodings.
  • Then they wrote a little DOS program that exits with a return code and they used uhex in DOSBox to do that. Yes, we wrote a COM file manually, no Assembler involved. (Many of them had never used DOS before.)
  • DEBUG from FreeDOS was used to single-step through the program, showing what it does.
  • This gets tedious rather quickly, so we switched to SVED from SvarDOS for writing the rest of the program in Assembly language. nasm worked great for us.
  • At the end, we switched to BIOS calls instead of DOS syscalls to demonstrate that the same binary COM file works on another OS. Also a good opportunity to talk about bootloaders a little bit.
  • (I think they even understood the basics of segmentation in the end.)

The 8086 / 16-bit real-mode DOS is a great platform to explain a lot of the fundamentals without having to deal with OS semantics or executable file formats.

Now that was a lot of fun. 🥳 It’s very rare that we do something like this, sadly. I love doing this kind of low-level stuff.

⤋ Read More
In-reply-to » Felt the need to make this stupid reference - nobody will get, most likely. Feel free to guess (the file name and todays date, are both a hint), any other notes and opinions appreciated too, idk if I ever drew a standing one, from the front, before. Media

@lyse@lyse.isobeef.org Not intended as a vampire thing, at least not this time. 😅 His canine teeth are usually one pixel long, when visible, but on this one, he’s making a face, that makes them more exposed.

⤋ Read More
In-reply-to » Okay, here’s a thing I like about Rust: Returning things as Option and error handling. (Or the more complex Result, but it’s easier to explain with Option.)

@movq@www.uninformativ.de All the returns tell me that you’re not a real Rust programmer. :-D Personally, I would never omit them either. They make code 100 times more readable.

⤋ Read More

Finally, the two drawers are mounted on the workbench. Some kind of a lid board on top to keep the dust out is still missing. I also gotta build the drawer inserts for the saws.

I upcycled decades old table football aluminium pipes to become my handles. The spacers are made from the inner tube. Two minutes of handsanding with 400 grit sandpaper polished it up nicely.

Image

https://lyse.isobeef.org/tmp/hobelbankschubladen/

⤋ Read More
In-reply-to » Okay, here’s a thing I like about Rust: Returning things as Option and error handling. (Or the more complex Result, but it’s easier to explain with Option.)

@prologic@twtxt.net I’d say: Yes, because in Go it’s easier to ignore errors.

We’re talking about this pattern, right?

f, err := os.Open("filename.ext")
if err != nil {
    log.Fatal(err)
}

Nothing stops you from leaving out the if, right? 🤔

⤋ Read More
In-reply-to » Saw this on Mastodon:

(Of course, if we’re talking about a project you’re doing for a customer and the customer keeps asking for new stuff, then you’re never done, and you have to think ahead and expect changes. Is that what they mean? 🤔)

⤋ Read More

Saw this on Mastodon:

https://racingbunny.com/@mookie/114718466149264471

18 rules of Software Engineering

  1. You will regret complexity when on-call
  2. Stop falling in love with your own code
  3. Everything is a trade-off. There’s no “best” 3. Every line of code you write is a liability 4. Document your decisions and designs
  4. Everyone hates code they didn’t write
  5. Don’t use unnecessary dependencies
  6. Coding standards prevent arguments
  7. Write meaningful commit messages
  8. Don’t ever stop learning new things
  9. Code reviews spread knowledge
  10. Always build for maintainability
  11. Ask for help when you’re stuck
  12. Fix root causes, not symptoms
  13. Software is never completed
  14. Estimates are not promises
  15. Ship early, iterate often
  16. Keep. It. Simple.

Solid list, even though 14 is up for debate in my opinion: Software can be completed. You have a use case / problem, you solve that problem, done. Your software is completed now. There might still be bugs and they should be fixed – but this doesn’t “add” to the program. Don’t use “software is never done” as an excuse to keep adding and adding stuff to your code.

⤋ Read More

Okay, here’s a thing I like about Rust: Returning things as Option and error handling. (Or the more complex Result, but it’s easier to explain with Option.)

fn mydiv(num: f64, denom: f64) -> Option<f64> {
    // (Let’s ignore precision issues for a second.)
    if denom == 0.0 {
        return None;
    } else {
        return Some(num / denom);
    }
}

fn main() {
    // Explicit, verbose version:
    let num: f64 = 123.0;
    let denom: f64 = 456.0;
    let wrapped_res = mydiv(num, denom);
    if wrapped_res.is_some() {
        println!("Unwrapped result: {}", wrapped_res.unwrap());
    }

    // Shorter version using "if let":
    if let Some(res) = mydiv(123.0, 456.0) {
        println!("Here’s a result: {}", res);
    }

    if let Some(res) = mydiv(123.0, 0.0) {
        println!("Huh, we divided by zero? This never happens. {}", res);
    }
}

You can’t divide by zero, so the function returns an “error” in that case. (Option isn’t really used for errors, IIUC, but the basic idea is the same for Result.)

Option is an enum. It can have the value Some or None. In the case of Some, you can attach additional data to the enum. In this case, we are attaching a floating point value.

The caller then has to decide: Is the value None or Some? Did the function succeed or not? If it is Some, the caller can do .unwrap() on this enum to get the inner value (the floating point value). If you do .unwrap() on a None value, the program will panic and die.

The if let version using destructuring is much shorter and, once you got used to it, actually quite nice.

Now the trick is that you must somehow handle these two cases. You must either call something like .unwrap() or do destructuring or something, otherwise you can’t access the attached value at all. As I understand it, it is impossible to just completely ignore error cases. And the compiler enforces it.

(In case of Result, the compiler would warn you if you ignore the return value entirely. So something like doing write() and then ignoring the return value would be caught as well.)

⤋ Read More
In-reply-to » Just discovered how easy it is to recall my last arg in shell and my brain went 🤯 How come I've never learned about this before!? I wonder how many other QOL shortcuts I'm missing on 🥲

@aelaraji@aelaraji.com I use Alt+. all the time, it’s great. 👌

FWIW, another thing I often use is !! to recall the entire previous command line:

$ find -iname '*foo*'
./This is a foo file.txt

$ cat "$(!!)"
cat "$(find -iname '*foo*')"
This is just a test.

Yep!

Or:

$ ls -al subdir
ls: cannot open directory 'subdir': Permission denied

$ sudo !!
sudo ls -al subdir
total 0
drwx------ 2 root root  60 Jun 20 19:39 .
drwx------ 7 jess jess 360 Jun 20 19:39 ..
-rw-r--r-- 1 root root   0 Jun 20 19:39 nothing-to-see

⤋ Read More
In-reply-to » Felt the need to make this stupid reference - nobody will get, most likely. Feel free to guess (the file name and todays date, are both a hint), any other notes and opinions appreciated too, idk if I ever drew a standing one, from the front, before. Media

@thecanine@twtxt.net With the teeth this looks like a vampire dog. :-D And I don’t get the reference either.

⤋ Read More
In-reply-to » Just discovered how easy it is to recall my last arg in shell and my brain went 🤯 How come I've never learned about this before!? I wonder how many other QOL shortcuts I'm missing on 🥲

@aelaraji@aelaraji.com Oh, that’s great! I haven’t heard about any of them before either. There’s also a caveat though, that I ran right into the very first time I tried this in zsh:

$ ls > /dev/null
$ echo $_
--color=tty

Yeah, exactly what you think:

$ which ls
ls: aliased to ls --color=tty

Alt+. is going to be my favorite one! In the above, it would also give me /dev/null, which might be probably more what I would expect.

⤋ Read More
In-reply-to » Speaking of Wine, Arch Linux completely fucked up Wine for me with the latest update.

I also just noticed that the performance issue doesn’t affect all games. 🤔 Sigh, I’ll just downgrade for the time being. Not in the mood to fiddle with this.

⤋ Read More
In-reply-to » Speaking of Wine, Arch Linux completely fucked up Wine for me with the latest update.

@kat@yarn.girlonthemoon.xyz I guess that qualifies as an “Arch moment”, albeit the first one I encountered. I’m running this since 2008 and it’s usually very smooth sailing. 😅

@lyse@lyse.isobeef.org Yeah, YMMV. Some games work(ed) great in Wine, others not at all. I just use it because it’s easier than firing up my WinXP box. (I don’t use Wine for regular applications, just games.)

⤋ Read More
In-reply-to » FFS! Can't I just get results, accurate no BS results? No erroneous/misleading AI-Slop of a summary I've never asked for ? I get it, there is plenty of people who LOooove (if not worship) that shit, Good for them! But at least make it opt-in or add in some kind of "Do Not Slop" browser option (as if the "Do Not Track" one made a difference, but I digress). Shit's only going down-hill from here, I might as well as just spin up my own Searx instance and call it a day.

@bender@twtxt.net Now I AM curious! What rabbit-hole? what am I missing here? 😆

⤋ Read More
In-reply-to » FFS! Can't I just get results, accurate no BS results? No erroneous/misleading AI-Slop of a summary I've never asked for ? I get it, there is plenty of people who LOooove (if not worship) that shit, Good for them! But at least make it opt-in or add in some kind of "Do Not Slop" browser option (as if the "Do Not Track" one made a difference, but I digress). Shit's only going down-hill from here, I might as well as just spin up my own Searx instance and call it a day.

@kat@yarn.girlonthemoon.xyz I recommend you to remain curious without crossing the threshold. Unless, of course, you truly want to follow a never-ending rabbit hole. 😂

⤋ Read More
In-reply-to » FFS! Can't I just get results, accurate no BS results? No erroneous/misleading AI-Slop of a summary I've never asked for ? I get it, there is plenty of people who LOooove (if not worship) that shit, Good for them! But at least make it opt-in or add in some kind of "Do Not Slop" browser option (as if the "Do Not Track" one made a difference, but I digress). Shit's only going down-hill from here, I might as well as just spin up my own Searx instance and call it a day.

@aelaraji@aelaraji.com i’ve been curious about searxng!!!

⤋ Read More

I probably should implement some editing feature in tt. Sure, I can easily edit my feed in vim to fix typos. But then I still have to manually remove the old message from the cache so that the new message is inserted on next reload and I don’t end up with “duplicates” in the message tree.

⤋ Read More
In-reply-to » OpenBSD has the wonderful pledge() and unveil() syscalls:

@movq@www.uninformativ.de That sounds great! (Well, they actually must have recorded the audio with a potato or so.) You talked about pledge(…) and unveil(…) before, right? I somewhere ran across them once before. Never tried them out, but these syscalls seem to be really useful. They also have the potential to make one really rethink about software architecture. I should probably give this a try and see how I can improve my own programs.

⤋ Read More

Speaking of Wine, Arch Linux completely fucked up Wine for me with the latest update.

  • 16-bit support is gone.
  • Performance of 3D games is horrible and unplayable.

Arch is shipping a WoW64 build now, which is not yet ready for prime time.

And then I realized that there’s actually only one stable Wine release per year but Arch has been shipping development releases all the time. That’s quite unusual. I’m used to Arch only shipping stable packages … huh.

Hopefully things will improve again. I’m not eager to build Wine from source. I’d rather ditch it and resort to my real Windows XP box for the little (retro)gaming that I do … 🫤

⤋ Read More

Felt the need to make this stupid reference - nobody will get, most likely. Feel free to guess (the file name and todays date, are both a hint), any other notes and opinions appreciated too, idk if I ever drew a standing one, from the front, before.

Image

⤋ Read More
In-reply-to » https://threadreaderapp.com/thread/1935344122103308748.html Interesting article on how ChatGPT is rotting your brain 🤣

i.e: the “~30-40% drop in cognitive capabilities” for chronic users of Chatp GPT 🤣

⤋ Read More
In-reply-to » https://threadreaderapp.com/thread/1935344122103308748.html Interesting article on how ChatGPT is rotting your brain 🤣

@prologic@twtxt.net … or just bullshit.

I’m Alex, COO at ColdIQ. Built a $4.5M ARR business in under 2 years.

Some “C-level” guy telling people what to do, yeah, I have my doubts.

⤋ Read More