lyse

lyse.isobeef.org

No description provided.

Recent twts from lyse
In-reply-to » I got a small desk calendar as advertising gift. It shows three months at once. I'm using this thing since the beginning of this year and I have to say that it turned out to be super useful. I'm happily surprised.

@movq@www.uninformativ.de That’s cool! I just can’t justify the amount of space it permanently takes. But it fits nicely with the other gauges you have. And with that in mind, it actually is super tiny.

@eapl.me@eapl.me Interesting, I wasn’t aware that other parts of the world consider them to be a German thing :-)

​ Read More
In-reply-to » Heute auf dem Heimweg roch es leicht gĂŒllig vom Stadtrand her. Is denn all wedder GĂŒlletied? đŸ„đŸ–đŸ’©đŸšœđŸ€ą https://m.youtube.com/watch?v=STPvOxUDekU

@arne@uplegger.eu Das ist ein recht zuverlĂ€ssiger Wetterbericht. Wenn die Bauern mit ihren GĂŒllefĂ€ssern hier vorbeifahren, weiß ich sofort, dass Regen angekĂŒndigt ist. :-)

Ha, das Lied gefĂ€llt mir außerordentlich gut! \o/ Mit Abstand das beste GĂŒllelied. Ich kenn noch ein paar schwĂ€bische, aber die gehen lang nicht so ab wie dieses hier.

​ Read More
In-reply-to » I got a small desk calendar as advertising gift. It shows three months at once. I'm using this thing since the beginning of this year and I have to say that it turned out to be super useful. I'm happily surprised.

@eapl.me@eapl.me @bender@twtxt.net @prologic@twtxt.net Not including a photo was a stupid move, sorry. There you go:

Image

This particular one is 95mm wide and 185mm high. Fairly compact.

I can only use it figure out distances to other dates and to do some basic calendar math. I’m not able to actually schedule anything. But I grew up with a month calendar like you have there where all appointments of the entire family was recorded.

By far most of my paper use is drawing random stuff on scratch paper during meetings. :-D

Image

​ Read More
In-reply-to » @lyse Nein nein, nichts plattdeutsches. "Eberhardt Eichhörnchen" ist eine nette Alliteration und kommt aus einem Urlaub von vor ein paar Jahren. Auf dem Campingplatz gab es ein Eichhörnchen und der Eberhardt war durch eine Handwerkerwerbung prĂ€sent.

@arne@uplegger.eu Ah, witzige Geschichte! Ich fĂŒrchte, der Eberhardt wird sich nun bei mir auch festsetzen. ;-)

​ Read More

I got a small desk calendar as advertising gift. It shows three months at once. I’m using this thing since the beginning of this year and I have to say that it turned out to be super useful. I’m happily surprised.

It sits on my desk next to my rightmost monitor. I’ve set it up so that I can see the last, current and next months. Each morning, I advance the “today window” or whatever its proper name is. This gives me a sense of what date we have today and which I will have forgotten half a minute later already. At most. However, it’s easily at hand by turning my head just a few degrees.

With the last month still showing, I had several occasions so far where a date in the past popped up in a meeting. I could easily tell when something happened, how long ago that was. Or how many days or weeks are left until we have to deliver something, etc.

In hindsight, this is absolutely no surprise at all. But I still find it fascinating. I’m now actually wondering why I never had something like that before. How could I live without that thing? Sure, I pulled up a calendar on my computer, ncal -w3 or so. But I always hated the inverted ncal output, necessary for showing week numbers, though. Having a paper calander right next to my screen at all times is sooooo much more handy.

So, do yourself a favor and think about whether such a desk calendar might be useful to you.

The only annoying thing is that the “today window” moves too easily. It slips down by its own. I reckon it wants me to regularly interact with it, so that I memorize the current date.

​ Read More
In-reply-to » The other day, after a discussion online, we came to the conclusion that using awk+sed+tr could replace much of the development that requires a database. However, using SQLite to have a SQL syntax isn't a bad idea either. What do you think?

@andros@twtxt.andros.dev If something fits in a CSV file, it typically doesn’t require a database. I agree with that. Depending on the application, more complicated queries might benefit from a database, though. I don’t know awk very well, but I could imagine that grep, sed and cut reach their CSV processing limits rather quickly when you have to deal with escaped (multiline) fields.

I only very rarely have to deal with CSV files or databases in my day to day life. Maybe, these classic Unix tools offer some tricks I’m not aware of. When I have some more complicated CSV input, I generally reach for Python.

​ Read More
In-reply-to » I watched two squirrels this morning for about half an hour: https://lyse.isobeef.org/eichhoernchen-2025-03-11/ They were super crazy fast. Also, they bit off plenty of twigs and carried them around, not sure where they put them. I've never seen them do that before. Once more I realized that I need a better zoom.

@eapl.me@eapl.me @arne@uplegger.eu @andros@twtxt.andros.dev Thanks mates!

Hmmm, Eberhardt. Ist das eine plattdeutsche Sache? Dass ich den flinken Nagern so lang zuschauen konnte, war ein seltener GlĂŒcksfall. Normalerweise sind die nach fĂŒnf oder spĂ€testens zehn Minuten wieder aus dem Sichtfeld verschwunden.

​ Read More
In-reply-to » It's been ages since the last time we've had as much and as frequent of a rainfall as we've been having this week. The smell, the sounds, the wind pushing against my body ... are taking over my senses with joy, leaving no room for worryℱ (about the possibility of a flood).

@aelaraji@aelaraji.com That’s nice, enjoy it while it lasts! Rain can be something wonderful. Stay safe.

​ Read More
In-reply-to » One of the biggest gripes of the community with the way the threading model currently works with Twtxt v1.2 (https://twtxt.dev) is this notion of:

@prologic@twtxt.net We can’t agree on this idea because that makes things even more complicated than it already is today. The beauty of twtxt is, you put one file on your server, done. One. Not five million. Granted, there might be archive feeds, so it might be already a bit more, but still faaaaaaar less than one file per message.

Also, you would need to host not your own hash files, but everybody else’s as well you follow. Otherwise, what is that supposed to achieve? If people are already following my feed, they know what hashes I have, so this is to no use of them (unless they want to look up a message from an archive feed and don’t process them). But the far more common scenario is that an unknown hash originates from a feed that they have not subscribed to.

Additionally, yarnd’s URL schema would then also break, because https://twtxt.net/twt/<hash> now becomes https://twtxt.net/user/prologic/<hash>, https://twtxt.net/user/bender/<hash> and so on. To me, that looks like you would only get hashes if they belonged to this particular user. Of course, you could define rules that if there is a /user/ part in the path, then use a different URL, but this complicates things even more.

Sorry, I don’t like that idea.

​ Read More

We had a very sunny day, peaking at 19°C. This not only decoyed me out, but also plenty motorcycle terrorists. Eh fuckwits, nobody wants to listen to your bloody engine and exhaust noise, keep it quiet for fuck’s sake! Many of your rider collegues can manage it, too, so should you.

I had some sore muscles after yesterday’s waste paper collection with the scouts. So, I only went for a short trip to my closest backyard mountain. Watching two rock climbers was interesting. That’s not something I see very often.

Image

https://lyse.isobeef.org/waldspaziergang-2025-03-09/

​ Read More
In-reply-to » Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don't like any of the alternatives. :-(

Thanks, @xuu@txt.sour.is, great explanation. In another project I’ve structured it exactly like you wrote. The mock storage over there extends the SQLite storage and provides mechanism to return errors and such for testing purposes:

  • storage/ defines the interface
    • sqlite/ implements the storage interface
    • mock/ extends the SQLite implementation by some mocking capabilities and assertions

Here, however, there are no storage subpackages. It’s just storage, that’s it. Everything is in there. The only implementation so far is an SQLite backend that resides in storage. My RAM storage is exactly that SQLite storage, but with :memory: instead a backing file on disk. I do not have a mock storage (yet).

I have to think about it a bit more, but I probably have to do exactly that in my tt rewrite, too. Sigh. I just have the feeling that in storage/sqlite/sqlite_test.go I cannot import storage/mock for the helper because storage/mock/mock.go imports and embeds the type from storage/sqlite. But I’m too tired right now to think clearly.

​ Read More
In-reply-to » Ich fahre gleich zwei Stunden mit dem Zug durch das sonnige Mecklenburg-Vorpommern, um morgen PÜNKTLICH 🐓 mit den Schwiegereltern zur Familienfeier nach ThĂŒringen aufbrechen zu können. Ein Wochenende auf Achse wird das. 🚞🚐😞

@arne@uplegger.eu Hals- und Beinbruch! Die Bahn hat ja nur die vier Feinde: FrĂŒhling, Sommer, Herbst und Winter. Wurdest Du heute positiv ĂŒberrascht?

​ Read More
In-reply-to » Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don't like any of the alternatives. :-(

@xuu@txt.sour.is My layout looks like this:

  • storage/
    • storage.go: defines a Storage interface
    • sqlite.go: implements the Storage interface
    • sqlite_test.go: originally had a function to set up a test storage to test the SQLite storage implementation itself: newRAMStorage(testing.T, $initialData) *Storage
  • controller/
    • feeds.go: uses a Storage
    • feeds_test.go: here I wanted to reuse the newRAMStorage(
) function

I then tried to relocate the newRAMStorage(
) into a

  • teststorage/
    • storage.go: moved here as NewRAMStorage(
)

so that I could just reuse it from both

  • storage/
    • sqlite_test.go: uses testutils.NewRAMStorage(
)
  • controller/
    • feeds_test.go: uses testutils.NewRamStorage(
)

But that results into an import cycle, because the teststorage package imports storage for storage.Storage and the storage package imports testutils for testutils.NewRAMStorage(
) in its test. I’m just screwed. For now, I duplicated it as newRAMStorage(
) in controller/feeds_test.go.

I could put NewRAMStorage(
) in storage/testutils.go, which could be guarded with //go:build testutils. With go test -tags testutils 
, in storage/sqlite_test.go could just use NewRAMStorage(
) directly and similarly in controller/feeds_test.go I could call storage.NewRamStorage(
). But I don’t know if I would consider this really elegant.

The more I think about it, the more appealing it sounds. Because I could then also use other test-related stuff across packages without introducing other dedicated test packages. Build some assertions, converters, types etc. directly into the same package, maybe even make them methods of types.

If I went that route, I might do the opposite with the build tag and make it something like !prod instead of testing. Only when building the final binary, I would have to specify the tag to exclude all the non-prod stuff. Hmmm.

​ Read More

Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don’t like any of the alternatives. :-(

​ Read More
In-reply-to » Hi everyone, I've drafted a Request for Comments (RFC) to improve how threads work in twtxt: https://git.mills.io/yarnsocial/twtxt.dev/issues/18

Thank you, @eapl.me@eapl.me, this is awesome! I’m curious to see if we find some more advantages with the current approach. It seems there should be some more, but I can only think disadvantages right now. :-)

​ Read More
In-reply-to » @lyse i appreciate you updating this with that info. been in the weeds at work so haven't been tracking the conversation here much. let me sit on this for a bit because often times the edits are within seconds of first post so maybe maybe i just allow them within a certain time frame or do away with them all together. i really only do it because it bugs me once i notice the typo :)

@bmallred@staystrong.run Oh, I hear you! It’s always after carefully proofreading and publishing that a typo suddenly pops up. :-) Not sure if amending your edit implementation is really worth it, but happy hacking in case you do.

​ Read More
In-reply-to » I went on a 5:30 hours long hike to my second backyard mountain. About 12km to get there and roughly 9km on the way back. It was super nice, sunny all day long, 12°C and luckily just a little bit of wind. Great scenery. I managed to capture one great spotted woodpecker hammering along. There was also a kestrel hovering over a meadow and then landing on a sports field light pole. At the castle ruin I could watch 10-12 gliding red kites (with the V-shaped tail) and other raptors, maybe bussards, I don't know, for about five minutes. That was fascinating. Unfortunately, my camera doesn't too well with moving targets.

@movq@www.uninformativ.de Luckily, they’re not made of steel as I would not have made it home with such heavy weights. :-D

​ Read More
In-reply-to » A depressing video about the current state of printers that just ends with “fuck this, I’m gonna talk about my cat now”: https://www.youtube.com/watch?v=bpHX_9fHNqE

@movq@www.uninformativ.de Fuck! So there aren’t any non-criminal printer vendors out there anymore. Very sad. I really don’t understand why this is not highly illegal in the entire world.

​ Read More
In-reply-to » I went on a 5:30 hours long hike to my second backyard mountain. About 12km to get there and roughly 9km on the way back. It was super nice, sunny all day long, 12°C and luckily just a little bit of wind. Great scenery. I managed to capture one great spotted woodpecker hammering along. There was also a kestrel hovering over a meadow and then landing on a sports field light pole. At the castle ruin I could watch 10-12 gliding red kites (with the V-shaped tail) and other raptors, maybe bussards, I don't know, for about five minutes. That was fascinating. Unfortunately, my camera doesn't too well with moving targets.

And I just added a video clip of the woodpecker. As you can easily see from the shaking, it hammers so dang hard that the whole ground around the tree vibrates.

​ Read More

I went on a 5:30 hours long hike to my second backyard mountain. About 12km to get there and roughly 9km on the way back. It was super nice, sunny all day long, 12°C and luckily just a little bit of wind. Great scenery. I managed to capture one great spotted woodpecker hammering along. There was also a kestrel hovering over a meadow and then landing on a sports field light pole. At the castle ruin I could watch 10-12 gliding red kites (with the V-shaped tail) and other raptors, maybe bussards, I don’t know, for about five minutes. That was fascinating. Unfortunately, my camera doesn’t too well with moving targets.

Image

Image

86 more photos: https://lyse.isobeef.org/wanderung-auf-den-hohenrechberg-2025-03-03/

​ Read More
In-reply-to » We went up our backyard mountain again right after lunch. The sun peaked through the clouds sometimes. The 6°C felt much, much cooler with the northeast wind. We got lucky, though, it was dead calm at the summit. At least on the southwestern side, which is a few meters lower than the very top to the east. That was shielded absolutely perfectly from the wind (we were extremely surprised), so we sat down on a bench and could really enjoy the sun heating us up. Apart from the haze, the view was really nice.

@movq@www.uninformativ.de Yeah, the ground was wet here, too. Some sections of esp. smaller paths had turned into mud holes. There are a few notorious spots. Oh well, you just have to press on. :-)

Forest animals also have to do the laundry, they even have a proper clotheshorse! See: https://lyse.isobeef.org/wanderung-zu-den-schurrenhoffuechsen-2021-05-15/07.jpg :-D

​ Read More
In-reply-to » (#tbyqv7a) @andros Do edits cause problems? I sometimes make them and didn't realize it may be an issue

@bmallred@staystrong.run I forgot one more effect of edits. If clients remember the read status of massages by hash, an edit will mark the updated message as unread again. To some degree that is even the right behavior, because the message was updated, so the user might want to have a look at the updated version. On the other hand, if it’s just a small typo fix, it’s maybe not worth to tell the user about. But the client doesn’t know, at least not with additional logic.

Having said that, it appears that this only affects me personally, noone else. I don’t know of any other client that saves read statuses. But don’t worry about me, all good. Just keep doing what you’ve done so far. I wanted to mention that only for the sake of completeness. :-)

​ Read More
In-reply-to » (#tbyqv7a) @andros Do edits cause problems? I sometimes make them and didn't realize it may be an issue

@bmallred@staystrong.run Any edit automatically changes the twt hash, because the hash is built over the hash URL, message timestamp and message text. https://twtxt.dev/exts/twt-hash.html So, it is only a problem, if somebody replied to your original message with the old hash. The original message suddenly doesn’t exist anymore and the reply becomes detached, orphaned, whatever you wanna call it. Threading doesn’t break, though, if nobody replied to your message.

​ Read More

We went up our backyard mountain again right after lunch. The sun peaked through the clouds sometimes. The 6°C felt much, much cooler with the northeast wind. We got lucky, though, it was dead calm at the summit. At least on the southwestern side, which is a few meters lower than the very top to the east. That was shielded absolutely perfectly from the wind (we were extremely surprised), so we sat down on a bench and could really enjoy the sun heating us up. Apart from the haze, the view was really nice.

There were even patches of snow left up top, that was unexpected. Also, somebody created a cool rock art piece on a tree stump. That one rock absolutely looked like a face. Crazy!

Image

Enjoy: https://lyse.isobeef.org/waldspaziergang-2025-03-01/

​ Read More