# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 7056
# self = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=6252
# next = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=6352
# prev = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=6152
Oh, it's called "unsubscribe".
Oh, it's called "unsubscribe".
@movq Oh, right, a type would be good to have! :-D
@movq Oh, right, a type would be good to have! :-D
@movq Where can I join your club? Although, most software I use is decentish in that regard.

I just noted today that JetBrains improv^Wcompletely fucked up their new commit dialog. There's no diff anymore where I would also be able to select which changes to stage. I guess from now on I'm going to exclusively commit from only the shell. No bloody git integration anymore. >:-( This is so useless now, unbelievable.
@movq Where can I join your club? Although, most software I use is decentish in that regard.

I just noted today that JetBrains improv^Wcompletely fucked up their new commit dialog. There's no diff anymore where I would also be able to select which changes to stage. I guess from now on I'm going to exclusively commit from only the shell. No bloody git integration anymore. >:-( This is so useless now, unbelievable.
@kat Pointers can be a bit tricky. I know it took me also quite some time to wrap my head around them. Let my try to explain. It's a pretty simple, yet very powerful concept with many facets to it.

A pointer is an indirection. At a lower level, when you have some chunk of memory, you can have some actual values sitting in there, ready for direct use. A pointer, on the other hand, points to some other location where to look for the values one's actually after. Following that pointer is also called dereferencing the pointer.

I can't come up with a good real-world example, so this poor comparison has to do. It's a bit like you have a book (the real value that is being pointed to) and an ISBN referencing that book (the pointer). So, instead of sending you all these many pages from that book, I could give you just a small tag containing the ISBN. With that small piece of information, you're able to locate the book. Probably a copy of that book and that's where this analogy falls apart.

In contrast to that flawed comparision, it's actually the other way around. Many different pointers can point to the same value. But there are many books (values) and just one ISBN (pointer).

The pointer's target might actually be another pointer. You typically then would follow both of them. There are no limits on how long your pointer chains can become.

One important property of pointers is that they can also point into nothingness, signalling a dead end. This is typically called a null pointer. Following such a null pointer calls for big trouble, it typically crashes your program. Hence, you must never follow any null pointer.

Pointers are important for example in linked lists, trees or graphs. Let's look at a doubly linked list. One entry could be a triple consisting of (actual value, pointer to next entry, pointer to previous entry).

_______________________
/ ________\_______________
↓ ↓ | \
+---+---+---+ +---+---+-|-+ +---+---+-|-+
| 7 | n | x | | 23| n | p | | 42| x | p |
+---+-|-+---+ +---+-|-+---+ +---+---+---+
| ↑ | ↑
\_______/ \_______/

The "x" indicates a null pointer. So, the first element of the doubly linked list with value 7 does not have any reference to a previous element. The same is true for the next element pointer in the last element with value 42.

In the middle element with value 23, both pointers to the next (labeled "n") and previous (labeled "p") elements are pointing to the respective elements.

You can also see that the middle element is pointed to by two pointers. By the "next" pointer in the first element and the "previous" pointer in the last element.

That's it for now. There are heaps ;-) more things to tell about pointers. But it might help you a tiny bit.______________________________________________
@kat Pointers can be a bit tricky. I know it took me also quite some time to wrap my head around them. Let my try to explain. It's a pretty simple, yet very powerful concept with many facets to it.

A pointer is an indirection. At a lower level, when you have some chunk of memory, you can have some actual values sitting in there, ready for direct use. A pointer, on the other hand, points to some other location where to look for the values one's actually after. Following that pointer is also called dereferencing the pointer.

I can't come up with a good real-world example, so this poor comparison has to do. It's a bit like you have a book (the real value that is being pointed to) and an ISBN referencing that book (the pointer). So, instead of sending you all these many pages from that book, I could give you just a small tag containing the ISBN. With that small piece of information, you're able to locate the book. Probably a copy of that book and that's where this analogy falls apart.

In contrast to that flawed comparision, it's actually the other way around. Many different pointers can point to the same value. But there are many books (values) and just one ISBN (pointer).

The pointer's target might actually be another pointer. You typically then would follow both of them. There are no limits on how long your pointer chains can become.

One important property of pointers is that they can also point into nothingness, signalling a dead end. This is typically called a null pointer. Following such a null pointer calls for big trouble, it typically crashes your program. Hence, you must never follow any null pointer.

Pointers are important for example in linked lists, trees or graphs. Let's look at a doubly linked list. One entry could be a triple consisting of (actual value, pointer to next entry, pointer to previous entry).

_______________________
/ ________\_______________
↓ ↓ | \
+---+---+---+ +---+---+-|-+ +---+---+-|-+
| 7 | n | x | | 23| n | p | | 42| x | p |
+---+-|-+---+ +---+-|-+---+ +---+---+---+
| ↑ | ↑
\_______/ \_______/

The "x" indicates a null pointer. So, the first element of the doubly linked list with value 7 does not have any reference to a previous element. The same is true for the next element pointer in the last element with value 42.

In the middle element with value 23, both pointers to the next (labeled "n") and previous (labeled "p") elements are pointing to the respective elements.

You can also see that the middle element is pointed to by two pointers. By the "next" pointer in the first element and the "previous" pointer in the last element.

That's it for now. There are heaps ;-) more things to tell about pointers. But it might help you a tiny bit.______________________________________________
@andros @prologic Exactly. The screenshots of the last few days show it in action. But I do not consider it ready for the world yet. @doesnm appears to have a high pain tolerance, though. :-)
@andros @prologic Exactly. The screenshots of the last few days show it in action. But I do not consider it ready for the world yet. @doesnm appears to have a high pain tolerance, though. :-)
@andros You use your real name as login name, too?

@prologic I see this with the scouts. Luckily, not at work. But at work, I'm surrounded by techies.

@movq Oh my goodness! I'm so glad that I don't have to deal with that in my family. But yeah, I guess you're onto something with your theory. This article is also quite horrific. O_o
@andros You use your real name as login name, too?

@prologic I see this with the scouts. Luckily, not at work. But at work, I'm surrounded by techies.

@movq Oh my goodness! I'm so glad that I don't have to deal with that in my family. But yeah, I guess you're onto something with your theory. This article is also quite horrific. O_o
@movq Wooaah, that is cool! \o/
@movq Wooaah, that is cool! \o/
Hahaha, a bird is singing really load and it sounds almost exactly like a car alarm. Well, it's probably the other way around, the car alarm was modeled after the birdcall. :-)
Hahaha, a bird is singing really load and it sounds almost exactly like a car alarm. Well, it's probably the other way around, the car alarm was modeled after the birdcall. :-)
@eapl.me I looked at the first few puzzles and they are pretty cool so far! I haven't actually implemented any of them, but I'm fairly certain about how I'd solve them properly. I went through some linked reference articles yesterday, they're also really good. I will recommend this to some workmates. :-)
@eapl.me I looked at the first few puzzles and they are pretty cool so far! I haven't actually implemented any of them, but I'm fairly certain about how I'd solve them properly. I went through some linked reference articles yesterday, they're also really good. I will recommend this to some workmates. :-)
It's extremely surprising to me that younger non-technical people just type in their full name (properly cased first and last name with a space in between) for a technical username in account registration or login forms. I've seen that happening several times in the past few years. The field name is "Benutzername" in German, literally "username". Even adding a placeholder text to signal that they could simply use their nickname in lowercase did not change anything at all. Well, one person used at least an e-mail address.

This wasn't the case six, seven years ago, everybody had some "real" username. Even non-techies. It looks like some "common knowledge" is getting lost. Strange. Very weird. It trips me every time I see it.

Have you experienced something similar?
It's extremely surprising to me that younger non-technical people just type in their full name (properly cased first and last name with a space in between) for a technical username in account registration or login forms. I've seen that happening several times in the past few years. The field name is "Benutzername" in German, literally "username". Even adding a placeholder text to signal that they could simply use their nickname in lowercase did not change anything at all. Well, one person used at least an e-mail address.

This wasn't the case six, seven years ago, everybody had some "real" username. Even non-techies. It looks like some "common knowledge" is getting lost. Strange. Very weird. It trips me every time I see it.

Have you experienced something similar?
@doesnm Heck yeah! Worky, worky! \o/
@doesnm Heck yeah! Worky, worky! \o/
@movq Hahaha, that name is certainly fitting! :-D

Yeah, I should revert that and try to figure out which programs misbehaved. But that's something for future Lyse. 8-) Right now, I just redefine TERM in my Makefile when the USER happens to be me.
@movq Hahaha, that name is certainly fitting! :-D

Yeah, I should revert that and try to figure out which programs misbehaved. But that's something for future Lyse. 8-) Right now, I just redefine TERM in my Makefile when the USER happens to be me.
Well, some time ago I put this in my ~/.Xdefaults:

URxvt.keysym.Control-Up: \033[1;5A
 URxvt.keysym.Control-Down: \033[1;5B
URxvt.keysym.Control-Left: \033[1;5D
 URxvt.keysym.Control-Right: \033[1;5C

Probably to behave more like XTerm and fix a few other issues I had with other programs. But, it turns out, tcell expects the original sequence: https://github.com/gdamore/tcell/blob/main/terminfo/r/rxvt/term.go#L487

Hmm.~
Well, some time ago I put this in my ~/.Xdefaults:

URxvt.keysym.Control-Up: \033[1;5A
 URxvt.keysym.Control-Down: \033[1;5B
URxvt.keysym.Control-Left: \033[1;5D
 URxvt.keysym.Control-Right: \033[1;5C

Probably to behave more like XTerm and fix a few other issues I had with other programs. But, it turns out, tcell expects the original sequence: https://github.com/gdamore/tcell/blob/main/terminfo/r/rxvt/term.go#L487

Hmm.~
Hmmm, when I Ctrl+Left to jump a word left, I get 1;5D in my tt2 message text. My TERM is set to rxvt-unicode-256color. In tt, it works just fine. When I change to TERM=xterm-256color, it also works in tt2. I have to read up on that. Maybe even try to capture these sequences and rewrite them.
Hmmm, when I Ctrl+Left to jump a word left, I get 1;5D in my tt2 message text. My TERM is set to rxvt-unicode-256color. In tt, it works just fine. When I change to TERM=xterm-256color, it also works in tt2. I have to read up on that. Maybe even try to capture these sequences and rewrite them.
@david Tada, the reply context is now also shown above. It's slowly coming together and reaching a state where I can actually use this as my daily driver I think. :-)

Reply form in tt2 shows the messages to which a reply is composed
@david Tada, the reply context is now also shown above. It's slowly coming together and reaching a state where I can actually use this as my daily driver I think. :-)

Reply form in tt2 shows the messages to which a reply is composed
@david Thanks, yes, absolutely! ;-)

I now notice that I should also show the original message(s) to which I reply. That was super useful in the original tt. But one after the other. The mentions are now automatically filled in. \o/
@david Thanks, yes, absolutely! ;-)

I now notice that I should also show the original message(s) to which I reply. That was super useful in the original tt. But one after the other. The mentions are now automatically filled in. \o/
Perfect!

It worked!

I now also implemented basic replying by hitting a as in answering. What's missing is automatically adding mentions in the message text template. That's gonna be a bit more tricky, though.
Perfect!

It worked!

I now also implemented basic replying by hitting a as in answering. What's missing is automatically adding mentions in the message text template. That's gonna be a bit more tricky, though.
Righto, now with added basic subject support. Hopefully!
Righto, now with added basic subject support. Hopefully!
(Back in tt.) Well, it kinda worked. At least appending to the file. But my cache database got screwed up. I do not yet support replies, so the subject and and root hash columns have not been set at all, resulting in a message that is just not shown at all. I gotta do something about that next. The good thing is, though, after simply fixing the two columns the message appeared on screen.
(Back in tt.) Well, it kinda worked. At least appending to the file. But my cache database got screwed up. I do not yet support replies, so the subject and and root hash columns have not been set at all, resulting in a message that is just not shown at all. I gotta do something about that next. The good thing is, though, after simply fixing the two columns the message appeared on screen.
(The previous message was written with tt.) Now, this is the second attempt in tt2.

Let's see!
(The previous message was written with tt.) Now, this is the second attempt in tt2.

Let's see!
Dang it, first attempt failed:

Composing a new message in tt2

Somehow, my local feed cannot be opened to append to. I reckon, I have to resolve the tilde first:

Opening feed file failed: no such file or directory
Dang it, first attempt failed:

Composing a new message in tt2

Somehow, my local feed cannot be opened to append to. I reckon, I have to resolve the tilde first:

Opening feed file failed: no such file or directory
@kat Allegedly, there's at least a CLI for that, yarnc. I neither used nor looked at it, though.
@kat Allegedly, there's at least a CLI for that, yarnc. I neither used nor looked at it, though.
@movq Oh for sure, I fully agree!
@movq Oh for sure, I fully agree!
@eapl.me Cool!

Proposal 3 (https://git.mills.io/yarnsocial/twtxt.dev/issues/18#issuecomment-19215) has the "advantage", that you do not have to "mention" the original author if the thread slightly diverges. It seems to be a thing here that conversations are typically very flat instead of trees. Hence, and despite being a tree hugger, I voted for 3 being my favorite one, then 2, 1 and finally 4.

All proposals still need more work to clarify the details and edge cases in my opinion before they can be implemented.
@eapl.me Cool!

Proposal 3 (https://git.mills.io/yarnsocial/twtxt.dev/issues/18#issuecomment-19215) has the "advantage", that you do not have to "mention" the original author if the thread slightly diverges. It seems to be a thing here that conversations are typically very flat instead of trees. Hence, and despite being a tree hugger, I voted for 3 being my favorite one, then 2, 1 and finally 4.

All proposals still need more work to clarify the details and edge cases in my opinion before they can be implemented.
@kat It's there, but yarnd's markdown library probably thinks that it's some broken HTML and swallows it, not sure.

Heart shows up fine in tt
@kat It's there, but yarnd's markdown library probably thinks that it's some broken HTML and swallows it, not sure.

Heart shows up fine in tt
@thecanine Yeah, nobody will ever find that setting.
@thecanine Yeah, nobody will ever find that setting.
@movq ]:-> Ah, just that one line scrolls horizontally, not the entire screen.
@movq ]:-> Ah, just that one line scrolls horizontally, not the entire screen.
@thecanine It suits your site very well, but I find this font hard to read. In any case, keep on pixeling.
@thecanine It suits your site very well, but I find this font hard to read. In any case, keep on pixeling.
@movq Haha! Yeah, I really don't know if that's the best translation.
@movq Haha! Yeah, I really don't know if that's the best translation.
@xuu How's traveling the stars going? :-)
@xuu How's traveling the stars going? :-)
@movq :-D

In the meantime, I tried to add English subtitles, so the international audience has a chance of enjoying some of them, too. There are a bunch of puns, so translations don't work at that great.

I went to an exhibition of my fine arts teacher who passed away last year. He was a pretty cool dude and good teacher. I reckon I had him in 7th and probably also 8th grade. His Schelme (imps) were very famous here in this county and presumably well beyond.

Unfortunately, picture frame glas doesn't mix all that great with a fairly dark light and my camera. So, sorry in adavance for the poor quality. Anyway, I photographed a few funny paintings. Watch out, it may contain saucy contents: https://lyse.isobeef.org/siegfried-wagner-farrenstall-2025-03-15/.
@movq :-D

In the meantime, I tried to add English subtitles, so the international audience has a chance of enjoying some of them, too. There are a bunch of puns, so translations don't work at that great.

I went to an exhibition of my fine arts teacher who passed away last year. He was a pretty cool dude and good teacher. I reckon I had him in 7th and probably also 8th grade. His Schelme (imps) were very famous here in this county and presumably well beyond.

Unfortunately, picture frame glas doesn't mix all that great with a fairly dark light and my camera. So, sorry in adavance for the poor quality. Anyway, I photographed a few funny paintings. Watch out, it may contain saucy contents: https://lyse.isobeef.org/siegfried-wagner-farrenstall-2025-03-15/.
@movq Hahaha, nice! :-D I had to check the solution to get it. It's a good one.
@movq Hahaha, nice! :-D I had to check the solution to get it. It's a good one.
Ich war auf der Ausstellung meines letztes Jahr verstorbenen BK-Lehrers. Er war ein ziemlich cooler Typ und guter Lehrer. Wenn ich mich recht erinnere, müsste ich ihn in der 7. und vermutlich auch 8. Klasse gehabt haben. Seine Schelme waren hier im Landkreis und vermutlich darüber hinaus weit bekannt.

Bilderrahmenglas in Verbindung mit vergleichsweise dunkler Beleuchtung gibt leider keine gute Kombination mit meiner Kamera ab. Vorab entschuldige ich mich bereits für die zu wünschen übrig lassende Qualität. Nichtsdestotrotz habe ich ein paar witzige Bilder abfotografiert. Obacht, kann mitunter anzüglichen Inhalt enthalten: https://lyse.isobeef.org/siegfried-wagner-farrenstall-2025-03-15/

Drei Eichhörnchen und ein Kind im bunten Blätterwald
Ich war auf der Ausstellung meines letztes Jahr verstorbenen BK-Lehrers. Er war ein ziemlich cooler Typ und guter Lehrer. Wenn ich mich recht erinnere, müsste ich ihn in der 7. und vermutlich auch 8. Klasse gehabt haben. Seine Schelme waren hier im Landkreis und vermutlich darüber hinaus weit bekannt.

Bilderrahmenglas in Verbindung mit vergleichsweise dunkler Beleuchtung gibt leider keine gute Kombination mit meiner Kamera ab. Vorab entschuldige ich mich bereits für die zu wünschen übrig lassende Qualität. Nichtsdestotrotz habe ich ein paar witzige Bilder abfotografiert. Obacht, kann mitunter anzüglichen Inhalt enthalten: https://lyse.isobeef.org/siegfried-wagner-farrenstall-2025-03-15/

Drei Eichhörnchen und ein Kind im bunten Blätterwald
Hahaha, ein Klassiker herrlich nachgespielt: https://www.youtube.com/watch?v=vkNuWG_J544 Unglaublich, kann man sich bei uns heutzutage überhaupt nicht mehr vorstellen.
Hahaha, ein Klassiker herrlich nachgespielt: https://www.youtube.com/watch?v=vkNuWG_J544 Unglaublich, kann man sich bei uns heutzutage überhaupt nicht mehr vorstellen.
@eapl.me Yes, I believe so.
@eapl.me Yes, I believe so.
That's cool, solar eclipse on the moon: https://www.flickr.com/photos/fireflyspace/54386246629/in/album-72177720313239766/
That's cool, solar eclipse on the moon: https://www.flickr.com/photos/fireflyspace/54386246629/in/album-72177720313239766/
@movq @prologic Dito. Even though I only had four day weeks and three days of weekend the last month, I feel very exhausted as well. Back to five days next week. :-(
@movq @prologic Dito. Even though I only had four day weeks and three days of weekend the last month, I feel very exhausted as well. Back to five days next week. :-(
@movq 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 Interesting, I wasn't aware that other parts of the world consider them to be a German thing :-)
@movq 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 Interesting, I wasn't aware that other parts of the world consider them to be a German thing :-)
@arne 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.
@arne 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.
@eapl.me @bender @prologic Not including a photo was a stupid move, sorry. There you go:

Desk calendar highlighting the current date with a red "today window"

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

Random stuff drawn in interesting meetings
@eapl.me @bender @prologic Not including a photo was a stupid move, sorry. There you go:

Desk calendar highlighting the current date with a red "today window"

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

Random stuff drawn in interesting meetings
@arne Ah, witzige Geschichte! Ich fürchte, der Eberhardt wird sich nun bei mir auch festsetzen. ;-)
@arne Ah, witzige Geschichte! Ich fürchte, der Eberhardt wird sich nun bei mir auch festsetzen. ;-)
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.
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.
@andros 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.
@andros 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.
@eapl.me @arne @andros 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.
@eapl.me @arne @andros 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.
@movq Yeah, horizontal scrolling is an invention right from the devil himself. :-D It's awful, I can't stand it.
@movq Yeah, horizontal scrolling is an invention right from the devil himself. :-D It's awful, I can't stand it.
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.

Squirrel jumping from tree to tree

Which photos would you remove?
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.

Squirrel jumping from tree to tree

Which photos would you remove?
@aelaraji I cannot tell you either. I don't know the difference. :-)
@aelaraji I cannot tell you either. I don't know the difference. :-)
@aelaraji That's nice, enjoy it while it lasts! Rain can be something wonderful. Stay safe.
@aelaraji That's nice, enjoy it while it lasts! Rain can be something wonderful. Stay safe.
@kat @prologic When I make dev on current master, I get a proper version. Same with make server. Assuming you cloned the repo, do you have any (uncommited) changes? What does git status tell you?
@kat @prologic When I make dev on current master, I get a proper version. Same with make server. Assuming you cloned the repo, do you have any (uncommited) changes? What does git status tell you?
Of course, @bender, anytime! <3 As our number one bug finder, your service has to be rewarded. :-)
Of course, @bender, anytime! <3 As our number one bug finder, your service has to be rewarded. :-)