# 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 220838
# self = https://watcher.sour.is?offset=219276
# next = https://watcher.sour.is?offset=219376
# prev = https://watcher.sour.is?offset=219176
@prologic I’m trying to call some libc functions (because the Rust stdlib does not have an equivalent for getpeername(), for example, so I don’t have a choice), so I have to do some FFI stuff and deal with raw pointers and all that, which is very gnarly in Rust – because you’re not supposed to do this. Things like that are trivial in C or even Assembler, but I have not yet understood what Rust does under the hood. How and when does it allocate or free memory … is the pointer that I get even still valid by the time I do the libc call? Stuff like that.
I hope that I eventually learn this over time … but I get slapped in the face at every step. It’s very frustrating and I’m always this 🤏 close to giving up (only to try again a year later).
Oh, yeah, yeah, I guess I could “just” use some 3rd party library for this. socket2 gets mentioned a lot in this context. But I don’t want to. I literally need *one* getpeername() call during the lifetime of my program, I don’t even do the socket(), bind(), listen(), accept() dance, I already have a fully functional file descriptor. Using a library for that is total overkill and I’d rather do it myself. (And look at the version number: 0.5.10. The library is 6 years old but they’re still saying: “Nah, we’re not 1.0 yet, we reserve the right to make breaking changes with every new release.” So many Rust libs are still unstable …)
I'm literally sitting in a corner *chuckles*. I rarely get any emails nowadays. But if I do and it is not plain-text, then my Mutt gets to bark at it and I, just... won't read it. 🤷🏽♂️
@movq Hahaha 😂 This is gold! I've been following along with our ramblings on Rust. What's it gone and done to you now? 🤔 I don't think I can ever be friends personally, I feel "too stupid" to learn Rust 🤣
C'est la dernière semaine de cours qui commence, l'occasion de jouer avec des glaçons. Le principe? Il faut sauver son glaçon ou éliminer les glaçons adverses. Du souffle du dragon à la pluie de sel avec un plateau qui change à chaque partie, on s'amuse bien en classe. vous pouvez tester à la maison : https://si3t.ch/glagla
C'est la dernière semaine de cours qui commence, l'occasion de jouer avec des glaçons. Le principe? Il faut sauver son glaçon ou éliminer les glaçons adverses. Du souffle du dragon à la pluie de sel avec un plateau qui change à chaque partie, on s'amuse bien en classe. vous pouvez tester à la maison : https://si3t.ch/glagla
@movq Yeah. :-( But hey, there are at least six of us using mail as it should be™. :-)
I sent the dealer an e-mail about that with all sorts of other issues as well. Let's see if they fix anything of that some day. Or yet just even read it.
> It all started in New York in the early 1980s. Click, now 85, and his friends were sitting at the long bar of the New York Athletic club reading magazine articles about boxing, fencing, judo and wrestling. “One of my mates said, ‘Dude, we don’t do any of those things.’” They had to face it. They were dull. They decided to embrace their dullness. > > As a joke, they started The Dull Men’s Club, which involved some very silly, dull activities. They chartered a tour bus but didn’t go anywhere. “We toured the bus. We walked around the outside of the bus a few times. And the driver explained the tyre pressures and turned on the windscreen wipers.”
> It all started in New York in the early 1980s. Click, now 85, and his friends were sitting at the long bar of the New York Athletic club reading magazine articles about boxing, fencing, judo and wrestling. “One of my mates said, ‘Dude, we don’t do any of those things.’” They had to face it. They were dull. They decided to embrace their dullness. > > As a joke, they started The Dull Men’s Club, which involved some very silly, dull activities. They chartered a tour bus but didn’t go anywhere. “We toured the bus. We walked around the outside of the bus a few times. And the driver explained the tyre pressures and turned on the windscreen wipers.”
Come on, why is the bloody IBAN only in the damn HTML part of your e-mail but not in the plain text!? Grrr! Don't you wanna get paid, dealer!? Your new web shop system sucks so bad, I want the old version back.
https://blog.garambrogne.net/kloset.html #kloset disséqué une histoire de #plakar un outil de sauvegarde qui utilise déduplication compression chiffrage et signature
Me: I had a 7-day working sprint I should relax today before I teach a class in the evening...
My brain: Good, as you don't feel any obligation to work on your PhD today, you should just open the PhD working file and start working on it, no pressure. it will feel nice, I promise!
Not only are they super useful (the program itself can drop privileges – like, it can initialize itself, read some files, whatever, and then tell the kernel that it will never do anything like that again; if it does, e.g. by being exploited through a bug, it gets killed by the kernel), but they are also extremely easy to use.
Imagine a server program with a connected socket in file descriptor 0. Before reading any data from the client, the program can do this:
Done. It’s now limited to reading files from that directory, communicating with the existing socket, stuff like that. But it cannot ever read any other files or exec() into something else.
I can’t wait for the day when we have something like this on Linux. There have been some attempts, but it’s not that easy. And it’s certainly not mainstream, yet.
I need to have a closer look at Linux’s Landlock soon (“soon”), but this is considerably more complicated than pledge()/unveil():
Not only are they super useful (the program itself can drop privileges – like, it can initialize itself, read some files, whatever, and then tell the kernel that it will never do anything like that again; if it does, e.g. by being exploited through a bug, it gets killed by the kernel), but they are also extremely easy to use.
Imagine a server program with a connected socket in file descriptor 0. Before reading any data from the client, the program can do this:
Done. It’s now limited to reading files from that directory, communicating with the existing socket, stuff like that. But it cannot ever read any other files or exec() into something else.
I can’t wait for the day when we have something like this on Linux. There have been some attempts, but it’s not that easy. And it’s certainly not mainstream, yet.
I need to have a closer look at Linux’s Landlock soon (“soon”), but this is considerably more complicated than pledge()/unveil():
@bmallred Ahhh this is an agent I'm tryining to play the game of Connect3. It uses a library written in Go I've been working on that supports Neuroevolution using Genetic Algorithms. Some features include: Mutation, Speciation, Lamarckian Evolution/Inheritence.
As feiras medievais são "reconstruções históricas" do que nunca existiu - e ainda assim espalham-se pelo país como momentos de convívio e folia. Em Lamego tem a particular característica de ser promovida como contendo uma recriação histórica das #cortes de Lamego*, ainda que estas nunca tenham existido.
Mas para mim a feira #medieval de #Lamego é aquela altura do ano em que vou até à praça e bebo #hidromel. E quem diz que essa não é uma boa tradição a manter e celebrar? ;-)
As feiras medievais são "reconstruções históricas" do que nunca existiu - e ainda assim espalham-se pelo país como momentos de convívio e folia. Em Lamego tem a particular característica de ser promovida como contendo uma recriação histórica das #cortes de Lamego*, ainda que estas nunca tenham existido.
Mas para mim a feira #medieval de #Lamego é aquela altura do ano em que vou até à praça e bebo #hidromel. E quem diz que essa não é uma boa tradição a manter e celebrar? ;-)