lyse

lyse.isobeef.org

No description provided.

@zvava@twtxt.net I might misunderstand what you wrote, but only hashing the message once and storing the hash together with the message in the database seems a way better approch to me. It’s fixed and doesn’t change, so there’s no need to recompute it during runtime over and over and over again. You just have it. And can easily look up other messages by hash.

⤋ Read More
In-reply-to » Mastodon has a “Wrapstodon 2025” now, showing you a “wrap up” of the year. Of course, a pointless funny shitpost was my most “successful” post in 2025. 😂

@movq@www.uninformativ.de Maybe there’s another meaning I’m not aware of, but this doesn’t look like a shitpost to me. Congrats, I guess. ;-)

⤋ Read More

Oh great, I received an e-mail that my SMTP credentials have been exposed. Once again, just another shitty scanner that generates garbage reports from tests it doesn’t understand. Thank you for nothing!

conf := &Config{
    SMTPHost: "smtp.example.com",
    SMTPPort: 587,
    SMTPUser: "user",
    SMTPPass: "hunter2",
    SMTPFrom: "from@example.com",
}

⤋ Read More
In-reply-to » Hey EU friends 👋 wtf happened to the EU Internet today for about 40 minutes or so?

@prologic@twtxt.net @movq@www.uninformativ.de A crocodile had bitten the big submarine internet cable that connects Australia to Europe. The investigations revealed that some construction work last week accidentally tore up the protective layer around it. That went unnoticed, unfortunately, so marine life had an easy job today. For just 40 minutes, they were quite fast in repairing the damage if you ask me! These communication cables are fricking large.

Just kidding, I completely made that up. :-D I didn’t notice any outage either. But I didn’t try to connect to Down Under at the time span in question.

⤋ Read More
In-reply-to » This feels useful: Rust’s Block Pattern

@movq@www.uninformativ.de Very nice! I often wish other languages had something similar. Sometimes, I use lambdas, but that also looks ugly and feels a bit like a misuse. Other times, just the normal blocks are enough, but it’s not the same. Especially with the mutability aspects as the article explains. Typically, I just put it in a function or ignore it if it’s just a few lines.

⤋ Read More
In-reply-to » @lyse I swear, Her vlog is all I needed to cleanse my soul! Full of pure human interactions (whenever there is any), No BS No pretending and No Nonsense. Again, Thank you!

@aelaraji@aelaraji.com Yes, exactly. It also blows my mind that with sooo much less budget and equipment, her videos are way superior to productions of big TV stations.

⤋ Read More

Fuck me, soooooooo beautiful! Awwww! :‘-) https://www.youtube.com/watch?v=oYfKgi133qo

This focuses more on the landscape part, other episodes also have amazing interactions with the locals. I cannot recommend the Itchy Boots channel enough. It’s in my top three channels of all time I believe. I hardly get the travel bug, but this has now changed. Watching Noraly’s videos brings me great joy. It also shows humanity is not lost, contrary to what one might think in this crazy world. :-)

Caution, this channel gets very addictive!

⤋ Read More
In-reply-to » @prologic Bwahahaha! I tried to establish some form of “convention” for commit messages at work (not exactly what you linked to, though), but it’s a lost cause. 😂 Nobody is following any of that. Nobody wants to invest time in good commit messages. People just want to get stuff done.

@movq@www.uninformativ.de Same. :‘-( I just don’t get how people do code archeology with all their shit messages and huge commits changing a gazillion of different things. I always try to lead by setting good examples, but nofuckingbody is picking up on that. At all. Even when bringing this up every now and then.

⤋ Read More
In-reply-to » I kind of hate conventional commit messages: https://www.conventionalcommits.org/en/v1.0.0/#summary

@prologic@twtxt.net Yeah, I don’t like them either.

As for changelogs, I prefer hand-written ones over something automatically cobbled together. Typically, they are just utter rubbish in my experience.

⤋ Read More
In-reply-to » @lyse no wonder I picked that cake (albeit coincidentally), I adore almonds, and hazelnuts! Your teammates are absolutely amazing, dude! A very nice project farewell! On leaving places I have a small anecdote.

@bender@twtxt.net Goes to show you just have a good nose for that. :^)

No doubt, I really do love them. Not only wonderful humans and like-minded, but also technically gifted. That made for a superb combination. I just hope the new team turns out to be equally great.

Bwahahahahaaahaaahaaahaaa, what a brilliant story! :‘-D I’ve been given at most ten weeks to return, let’s see. ;-)

⤋ Read More

@bender@twtxt.net Mate, I don’t know how you do it, but the frequency of words I haven’t come across before is actually quite high in your work. I noticed it in your twtxt messages in the past, but your notes are also full of them. I love it, always learning something new. Thank you for teaching me without knowing. In case you’re wondering, “yesternight” and “squalid” are the ones I stumbled across today. :-)

⤋ Read More
In-reply-to » @lyse what’s on the one on the left, back? Looks… enticing! 🤤

@bender@twtxt.net That’s the best one of them. An almonds cake with hazelnut chocolate glaze. The one in front is similar, but with chocolate only. Gingerbread on the right. But it develops the best flavor and consistency only in a few weeks, right now it’s quite hard like a rock, but it will soften up.

All those years I always said that my teammates are THE VERY BEST I ever had. Fuck me, look at that, I didn’t leave the company, just changed projects and this is my farewell present: https://lyse.isobeef.org/tmp/abschiedsgeschenk-2025-12-03.jpg How absolutely beautiful is that, I’m in awe! Now I feel even worse deserting. :‘-(

This emblem is the fleur-de-lis of the world scout movement: https://en.wikipedia.org/wiki/World_Organization_of_the_Scout_Movement#WOSM_emblem I reckon I must have mentioned casually that I’m a scout. ;-)

⤋ Read More
In-reply-to » I have a question! I'm looking for a small personal camera(specifically good for videos because that's what I'll use it for) that's cheap enough for a teen to afford but also actually good. Do any of you tech people have any good recs?

@kiwu@twtxt.net I’ve no idea about regulations in your area, but over here there are different taxation rules for video and photo cameras. Hence, manufacturers limit the video recording time of photo cameras typically to half an hour, so that they don’t classify as video cameras with their higher taxes.

⤋ Read More
In-reply-to » I have a question! I'm looking for a small personal camera(specifically good for videos because that's what I'll use it for) that's cheap enough for a teen to afford but also actually good. Do any of you tech people have any good recs?

@kiwu@twtxt.net It also greatly depends on what kind of videos you plan to record. When you go, let’s say, diving, the specs need to be probably more suited to that type of environment. What about zoom, macro shots, wide landscapes, and so on? When typically mounted on a tripod, I’d say builtin image stabilization is not required, but for more action shots, this is fairly important to not get sea sick. :-)

I’ve got a Nikon Coolpix S9300. I typically only take photos, but it also works for the occasional video. Free hand moves are quite difficult, but when mounted to a tripod, this is not too shabby. There’s absolutely no way around a (makeshift) tridpod when zooming in, though. The audio is definitely not the best, especially wind destroys everything. If I recorded more video, I would certainly want to have an external microphone.

⤋ Read More
In-reply-to » I was having a stroll and heard this weird crackling noise. Took me a moment to realize that it’s coming from the tree above me. I looked up and didn’t see anything at first, because of the bad light. And then I saw it: About 10 parrots (alexandrine parakeets or rose-ringed parakeets) were sitting up there, heaving a feast. 😅

@movq@www.uninformativ.de How sweet! :-) I find it super interesting that they’re kinda common around your area: https://de.wikipedia.org/wiki/Alexandersittich#Verbreitung We don’t have them here.

⤋ Read More
In-reply-to » And regarding those broken URLs: I once speculated that these bots operate on an old dataset, because I thought that my redirect rules actually were broken once and produced loops. But a) I cannot reproduce this today, and b) I cannot find anything related to that in my Git history, either. But it’s hard to tell, because I switched operating systems and webservers since then …

@movq@www.uninformativ.de Fail2ban to the rescue? :-?

⤋ Read More
In-reply-to » Not a day goes by at work, where I’m not either infuriated or frustrated by this wave of AI garbage. In my private life, I can avoid it. But not at work. And they’re pushing hard for it.

@movq@www.uninformativ.de In my current project I’m typically far away from this pile of shit. Let’s see how the project will be in this regard.

⤋ Read More

All my newly added test cases failed, that movq thankfully provided in https://git.mills.io/yarnsocial/twtxt.dev/pulls/28#issuecomment-20801 for the draft of the twt hash v2 extension. The first error was easy to see in the diff. The hashes were way too long. You’ve already guessed it, I had cut the hash from the twelfth character towards the end instead of taking the first twelve characters: hash[12:] instead of hash[:12].

After fixing this rookie mistake, the tests still all failed. Hmmm. Did I still cut the wrong twelve characters? :-? I even checked the Go reference implementation in the document itself. But it read basically the same as mine. Strange, what the heck is going on here?

Turns out that my vim replacements to transform the Python code into Go code butchered all the URLs. ;-) The order of operations matters. I first replaced the equals with colons for the subtest struct fields and then wanted to transform the RFC 3339 timestamp strings to time.Date(…) calls. So, I replaced the colons in the time with commas and spaces. Hence, my URLs then also all read https, //example.com/twtxt.txt.

But that was it. All test green. \o/

⤋ Read More
In-reply-to » 17, 21, and 22 are my favourites. Thank you for sharing! On 17, the pulley might be dangerously hanging, but if you manage to make it work, you will have a couple of nails to use! :-D

@bender@twtxt.net Thanks. That pulley is just to hang back up the telephone wire (on the ground in 16) for that farm and restaurant in 04 once they finish logging. Hahahahahaaahaaaa, I didn’t see the nails on top of the pole. :-D

Yup, these ice crystals are just lovely. :-)

⤋ Read More
In-reply-to » To everyone previously asking, what my (and other developers) endless complaining about Google, to both every EU body, with a form on their website and every relevant team at Google accomplished... WE FUCKING WON!!! "While security is crucial, we’ve also heard from developers and power users who have a higher risk tolerance and want the ability to download unverified apps." -source

@thecanine@twtxt.net Cool! Let’s hope they truly keep their word.

⤋ Read More
In-reply-to » What do you do, when a recruiter throws you a PD or two and says the total compensation is ~2-3x what you're on now?! 🤔

@prologic@twtxt.net I couldn’t have phrased it any better than @bender@twtxt.net. :-)

Twice or three times the money as before sounds a bit suspicious to me. Of course, I could be wrong, but I always was under the impression, that your last jobs weren’t all that badly salaried. If the new offer is really paid this highly, it might be a shit job. For me, money isn’t everything, I’d rather opt for a lower income where the job is fun than hating to go to work every day. But if the new job ticks all boxes, go for it. :-)

Also: Consult your pillow, don’t rush it.

⤋ Read More

I was looking at some ancient code and then thought: Hmm, maybe it would be a good idea to see more details in this error message. Which of the values don’t line up. On the other hand, that feature isn’t probably used anyway, because it’s a bit ugly to use (historically evolved). And on top of that, most teams need something slightly different, if they deal with that sort of thing.

I still told my workmates about it, so they could also have a look at it and we can decide tomorrow what to do about it. Speaking of the devil, no kidding, not even half an hour later, a puzzled tester contacted me. She received exactly that rather useless error message. Looks like I had an afflatus. ;-)

It’s interesting, though, that in all those years, nobody stumbled across this before. At least we now know for sure that this is not dead code. :-)

⤋ Read More

I had no meetings this arvo, so I made an appointment with the woods in my extended lunch break. The 6°C warm sun was out all day long and there was only a very light breeze. So, a very nice autumn day.

When I stopped to take a photo in the forest, a deer behind me took off into the woodland. I didn’t see it before. Also, I came across one or the other clearing. Sadly, it’s all commercial timberland here. Luckily, in a year or so, when nature slowly took over and reclaimed some spots, the apocalyptic sites are then looking a bit more decent again.

Cleaning of the ruin walls on my backyard mountain slowly takes shape. They made some progress and moved on to the other section. The flag on top is halfway disintegrated again, all the yellow half is completely gone. I’m wondering if they just stop replacing it at some point in time. But probably not.

Enjoy! https://lyse.isobeef.org/waldspaziergang-2025-11-19/

⤋ Read More
In-reply-to » @lyse wow, 31 is truly a telling! Interesting facade on that building on 10! And that roof on 51, oh my! The golden Jesus and tower on 7 are something else too.

@bender@twtxt.net Glad you like them! :-) Those colorful roof shingles are absolutely stunning. The golden building has quite a few folds in the facade skin, from the other sides a bit more. Check out this: https://upload.wikimedia.org/wikipedia/commons/0/07/Rems_in_Schw%C3%A4bisch_Gm%C3%BCnd.jpg Luckily, there weren’t this many people around today. :-)

Don’t think this is the norm, though, most stuff here is also much more modern. There are not a whole lot of historic buildings left. And if there are, they’re not necessarily kept in good shape. But some are. So, don’t be fooled by my biased preselection of typically photographing the nicer ones.

The people photos are not for the internet. ;-) But I get your point, the reason why I ended up in that town is irrelevant and misleading, I should have introduced it differently. :-D

⤋ Read More
In-reply-to » FTR, I see one (two) issues with PyQt6, sadly:

@movq@www.uninformativ.de I think I now remember having similar problems back then. I’m pretty sure I typically consulted the Qt C++ documentation and only very rarely looked at the Python one. It was easy enough to translate the C++ code to Python.

Yeah, the GIL can be problematic at times. I’m glad it wasn’t an issue for my application.

⤋ Read More
In-reply-to » @lyse then it was, most likely, space debris—which, sadly, make up for 98% of all space anomalies these days. And thought they have applied to the Grant Wishes Council, they are yet to be approved. Keep playing, though. 😅

@bender@twtxt.net Hahahahahaahaaa, you’re right, it can’t be anything else! :‘-D Must have been one of these manmade objects. Let’s hope they will become a full member of the Grant Wishes Council soon. In any case, I will keep trying.

⤋ Read More
In-reply-to » @lyse I hope you were prepared to cram those wishes in 3 seconds. I am always prepared for that eventuality. You don't have to mutter a word, nor clearly think much about it---that is, you don't need to think your wish(es) word-by-word. As long as you stay within the wish(es) main goal(s), you should be fine, and it/they shall be granted, of course.

@bender@twtxt.net I wished my mate would see it, too. But he turned his head a second too late. :-(

⤋ Read More

On today’s night walk I came across an absolutely giant shooting star. With it being visible for three seconds, it’s my second largest I’ve ever seen so far.

⤋ Read More
In-reply-to » @lyse Yeah, I noticed that too. I haven’t double-checked my code, though. Maybe it has something to do with selecting the correct URL? I mean, these feeds don’t have any # url = fields, so maybe that’s it?

@movq@www.uninformativ.de Haha, you were spot on! It took me a bit to figure this out on my own. I’m actually very surprised to have gotten this wrong. Oh well.

⤋ Read More
In-reply-to » Hmmm, looks like my twt hash algorithm implementation calculates incorrect values. Might be the tilde in the URL that throws something off. :-? At least yarnd and jenny agree on a different hash.

No, I was using an empty hash URL when the feed didn’t specify a url metadata. Now I’m correctly falling back to the feed URL.

⤋ Read More

Hmmm, looks like my twt hash algorithm implementation calculates incorrect values. Might be the tilde in the URL that throws something off. :-? At least yarnd and jenny agree on a different hash.

⤋ Read More
In-reply-to » @lyse nginx allows logging per user, via using defined variables on configuration. Not sure, though, if a Tilde would be willing to go to those “extremes”.

@bender@twtxt.net Hmm, didn’t find anything. But you mean a giant bucketload of access_log /home/$USER/logs/access.log if=… where the condition matches the requested path for said user? Yeah, that gets annoying very quickly. :-D

⤋ Read More
In-reply-to » Hmm, so it seems this Mike is the one who inherited it: https://tilde.club/~deepend/, but not too active anywhere, though pinging “deepend” on Libera might work...

@bender@twtxt.net Sounds about right.

I had a brainfart yesterday, though. For whatever reason I thought of subdomains, which are modeled with server entries in nginx. So, each could define its own access_log location. However, there are no subdomains in place! Searching around, I didn’t find any solution to give each user their own access log file.

One way would be a cronjob, aeh, systemd timer as I learned the other day, that greps the main access log and writes all user access log files with only the relevant stuff.

⤋ Read More