Thanks @bender@twtxt.net! Yeah, so super cute. I couldn’t pet them, though. Despite very curious, they were also very restless.
I persuaded my dad to check out the fireflies with me tonight. He only wanted to go for a short trip, so we came just across a couple hundred of them. Otherwise, the thousands mark would have been exceeded in no time. He was super glad I talked him into that. :-)
It was also my first time to see them over the meadows. Those numbers don’t compare to the ones inside the forest, no question, but we probably saw 60 or so. Haven’t come across them there before, I only heard and read about that.
Note to future-Lyse next year: Leaving at 21:45 seems like a good time. We left earlier and had to wait just a few more minutes for them to come out in masses.
Too bad it’s impossible to share photos or videos. My camera isn’t made for that at all, not even close.
Unless your Terms of use update email looks and reads the same as the one I got yesterday from mastodon.social
, I don’t wanna know about it, nor do I agree to it.
@kat@yarn.girlonthemoon.xyz Ooh, I’ve got to bookmark that page. 😃
@aelaraji@aelaraji.com I wish I had the luxury of not reading that junk. 😅 But instead, I have a Mutt hotkey that pipes an HTML mail through elinks … Bah.
@movq@www.uninformativ.de > That guy over there in the corner…
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@www.uninformativ.de 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.
OpenBSD has the wonderful pledge()
and unveil()
syscalls:
https://www.youtube.com/watch?v=bXO6nelFt-E
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:
unveil("/var/www/whatever", "r");
unveil(NULL, NULL);
pledge("stdio rpath", NULL);
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()
:
@bender@twtxt.net Both Gopher and Mastodon are a way for me to “babble”. 😅 I basically shut down Gopher in favor of Mastodon/Fedi last year. But the Fediverse doesn’t really work for me. It’s too focused on people (I prefer topics) and I dislike the addictive nature of likes and boosts (I’m not disciplined enough to ignore them). Self-hosting some Fedi thing is also out of the question (the minimalistic daemons don’t really support following hashtags, which is a must-have for me).
I’ll probably keep reading Fedi stuff, I just won’t post that much, I think.
@prologic@twtxt.net Yeah, it’s difficult, you often don’t get what you’d expect. They also make heavy use of 3rd party libraries. IIUC, for random numbers, they refer to this library. I’ve read many times that the Rust stdlib is intentionally minimalistic (to make it easier to maintain and port and all that).
I’m struggling with this, using 3rd party libs for so many things isn’t really my cup of tea. I’ll probably make my own tiny little “standard library”. It’s silly, but I don’t see any other options. 🤷
Alert Sound
⌘ Read more
Neighbor-Source Heat Pump
⌘ Read more
Trojan Horse
⌘ Read more
@kat@yarn.girlonthemoon.xyz That sounds fun! I’m happy to read an article on how you did that. :-)
Bridge Types
⌘ Read more
@oloke@nghia.im i’m reading about this Garage today, will watch this one for sure, promising, since those folks look like familiar with YunoHost ecosystem and French things
also found another things called Riak
just read about it, i was strongly agaisnt AI since the benninging and have also moved from GH to self-hosted Gitea.
thanks for sharing and thanks for making this!
Check Engine
⌘ Read more
Archaea
⌘ Read more
Mass Spec
⌘ Read more
@movq@www.uninformativ.de i feel like when i read go code i’m reading some algebra shit where every part is 1-5 letters long and then there’s weird symbols like :=
and it’s just infinitely harder for me to parse and infer meaning from lol. it’s such a me problem
Drafting
⌘ Read more
Baker’s Units
⌘ Read more
Wanna read something very scary?
Your future doctor is using ChatGPT to pass medical school, so you better start riding a bike and eating healthy now.
😨😨😨
Renormalization
⌘ Read more
Sail Physics
⌘ Read more
@lyse@lyse.isobeef.org I can’t read. 🤦 Yeah, that’s gonna be a problem. I was not yet able to trigger it, though. Maybe they are (like Google) rolling out these changes gradually …
@bender@twtxt.net Basically the way I’m reading this is 1 RPM
. This is a rather aggressive rate limit actually. This basically makes Github inaccessible and useless for basically anything unless you’re logged in. You can basically kiss “pursuing” casually, anonymously goodbye.
Imagine if I imposed that kind of rate limit on twtxt.net?! 🤣
Modern
⌘ Read more
@kat@yarn.girlonthemoon.xyz You don’t need to change the directory first in line 11, you can just create the directory, that’s sufficient since you’re having an absolute path.
The echo
in line 13 is useless, you can simplify this to: newdir="$WD/$now"
If you reversed this line with the previous one, you could make use of the variable in the directory creation: mkdir "$newdir"
.
In line 16, pull the directory change out of the loop upfront. The loop body doesn’t modify the working directory, so no need to reset it with each cycle. In fact, you could even spare the cd
altogether when you simply tell find
where to look: find "$basedir" -type f…
.
I didn’t try it, but if I read the manpage correctly, you should be able to simplify line 19 as well:
-C Change to DIR before performing any operations. This option is order-sensitive, i.e. it affects all options that follow.
Hence, remove the cd
and put the -C "$WD"
as the first argument to tar
. Again, I didn’t try it. Proceed with caution.
Finally, you don’t need to specify the full path to rm
in line 21. I bet, /bin
is in your PATH
. When you removed the previous cd
from my last suggestion, the relative path that follows won’t work anymore. So, just use the absolute path that you already have in a variable: rm -rf "$newdir"
I hope you find this tiny review a wee bit useful. :-)
Deposition
⌘ Read more
Pascal’s Law
⌘ Read more
@prologic@twtxt.net I read a little about her. Looks to be a good fit for the seat she is holding. I hope she gets to keep it.
Globe Safety
⌘ Read more
About 20 Pounds
⌘ Read more
@andros@twtxt.andros.dev Programming is art. You become good at art by practising your art. You learn artistic patterns by being inspired by and reading others art works. The most importance however is that you practise your art.
Nobody want to be a shitty programmer. The question is: Do you do anything not to not be one?
Reading blogs or social media and watching YouTube videos is fun. After them, your code may be a little better, of course. But you need a lot. You need to study! Read good books and study the code of other programmers, for example. Maybe work with a new language, architectures and paradigms. You need break the routine.
If you know Object-oriented programming, you learn functional programming.
If you know Model-View-Controller, you learn Model-View-ViewModel.
If you don’t know anything about architectures, you learn Clean Architecture, Hexagonal Architecture, etc.
If you know Python, you learn Ruby or Go.
If you know Clojure or Lisp… you don’t need to learn anything else. You are already a good programmer. Just kidding. You can learn Elixir or Scala.
Be a good programmer my friend.
happy free comic book day! my store was out of freebies but i got some of my pulls and also a trade of one of my favorite reads last year!
up -d
, but then I took a look at a couple of #Snac instances at the last second and they looked pretty dope! Now I'm stuck in my own head 😅
@bender@twtxt.net Mainly the bsd.cafe ones. I like how the minimalist single column profiles look. Image embeds are full width and reading through threads feels nice (as in it doesn’t feel like pealing layers upon layers of a fresh onion).
Confession:
I’ve never found microblogging like twtxt or the Fediverse or any other “modern” social media to be truly fulfilling/satisfying.
The reason is that it is focused so much on people. You follow this or that person, everybody spends time making a nice profile page, the posts are all very “ego-centric”. Seriously, it feels like everybody is on an ego-trip all the time (this is much worse on the Fediverse, not so much here on twtxt).
I miss the days of topic-based forums/groups. A Linux forum here, a forum about programming there, another one about a certain game. Stuff like that. That was really great – and it didn’t even suffer from the need to federate.
Sadly, most of these forums are dead now. Especially the nerds spend a lot of time on the Fediverse now and have abandoned forums almost completely.
On Mastodon, you can follow hashtags, which somewhat emulates a topic-based experience. But it’s not that great and the protocol isn’t meant to be used that way (just read the snac2 docs on this issue). And the concept of “likes” has eliminated lots of the actual user interaction. ☹️
Unstoppable Force and Immovable Object
⌘ Read more
7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) 😅 And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! 😱 #Twtxt #Update
that said, and reading to @sorenpeter@darch.dk and @andros@twtxt.andros.dev I have new thoughts. I assume that this won’t change anyone’s opinions or priorities, so it makes no harm sharing them.
It’s always tempting to use something that already exists (like X, Masto, Bsky, etc.) rather that building anything through effort and disagreement until reaching to something useful and valuable together. A ‘social service’ is only useful if people is using it.
I’ll add that I haven’t lost interest on the ‘hacky’ part of twtxt about developing tools, protocols, and extensions as a community. It’s the appealing part! It’s a nice hobby to have, shared with random people across the world.
But this is not the right way for me, and makes me feel that I’m unwelcome to propose something different (after watching replies to my previous twt). Feels like “If you don’t agree, you are free to leave, we’ll miss you.” Naah, not cool. I’ve lived that many times before, and nowadays I don’t have enough spare time and energy for a hobby like that.
Let’s see what happens next with the micro-community!
Jupiter Core
⌘ Read more