** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to āstore now, decrypt laterā attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
š±š±š±
@rdlmda@rdlmda.me it is called, in Spanish, āthe motherā. It is created through a bit (not by much) effort, and kept as a starting point. Just like Asian cuisine has dishes that never cool, always cooking leaving always a base on it.
How do you think a lathe (and just about any tool, etc.) is done? Yup, in part by using a lathe. š
@movq@www.uninformativ.de just use https instead:
git clone https://git.mills.io/yarnsocial/twtxt.dev.git
@bender@twtxt.net Yes, really should have chosen my words more wisely. As @movq@www.uninformativ.de mentions, we got a vague promise of an āadvanced flowā being implemented, and in my case also a vague promise of a video call, with someone at Google, regarding it. Now when the backlash died down, it does not look like Google plans to follow through, with any of this and theyāre completely unwilling to elaborate and get back to us, about if and how any of this will be implemented.
@rdlmda@rdlmda.me I never saw the point of a registry to be honest, as it defeated the point of what I believed to be a truly decentralised non-social social ecosystem. What can and does work however is a search engine and crawler. I used to run one, but I took it down, mostly because it got expensive to operate, at least the implementation I built⦠Maybe one day iāll try again with a SQLite backend.
@rdlmda@rdlmda.me You might or might not find this useful: https://lyse.isobeef.org/tmp/twthash.py
@rdlmda@rdlmda.me most of our conversations used to be about twtxt, I am not going to lie. Lately? Not so much. It turns out (a) we donāt need a longer hash, (b) we donāt care so much about changing addressing, and Ā© I am just Bender, what else can I say? :-D :-P
@movq@www.uninformativ.de Luckily, Iāve never encountered any bugs in Vim with my type of work and features I use.
HEY! I think we all noticed that privacy is dying. Government and corporate entities around the world are building the laws and tools to track you, from everything you write, to the media you consume, to where you drive your car and the people you associate with. Gopher I believe Is one of the last bastions of freedom away from what I call āCorpo webā. GopherSpace is free, I wrote my client so I know itās safe, and I can route my traffic over tor or any proxy of my choosing. I think we should use gopher as a means to communicate and get out of the modern corpo web because soon everything you do and say on the modern web or possibly corporate owned devices is under scrutiny, even more so than it ALREADY IS. Right now I can use tor and my custom gopher cli to communicate privately here. With the ways the laws are going they are going to implement things like age verification to track you and theyāll deem privacy focused open source software as tools for circumventing these rules. Itās a slippery slope. I need to stop writing before I sound really crazy.
I call it a success! (Please excuse the terrible background noise and bad audio in general. Iām not a sound engineer at all. Also, no idea why I use plural in the beginning. :-?) https://lyse.isobeef.org/tmp/5mm-dowels/
@prologic@twtxt.net well, it isnāt rocket science, is it? š Yet, without using the hashes and starting to follow people, it is very, very rudimentary. I know, I know, there were a couple of years during which people lived just fine without those. Yet, once you get used to certain things, there is no going back.
@rdlmda@rdlmda.me You need to use the RFC3339 format. I would recommend you read the specs at https://twtxt.dev ā This is what is used by many moden clients these days š
Synced CSS across my Bear Blog and other site pages. Also using front matter in source markdown files, and outputting meta descriptions ā
Hi i am using cli
@bender@twtxt.net Correctamundo! In this case, itās available for the browser as a single (optionally-minified) JavaScript file, or for Node via NPM (as JS) and JSR.io (as ānativeā TypeScript).
I had to do it that way because I wanted a library I could use in both an Express server (for TwtKpr and TwtStrm) and the browser (for my website and⦠TwtStrm).
Hopefully, Iāll have more to share about those other projects soonā¦
@kiwu@twtxt.net I am trying to read our Information Security Office āmindā to grasp what they want. So far they seem to want to get logs from our BIG-IP F5 load balancers into Azure Sentinel, but the Telemetry Streaming plugin normally used for it is on maintenance mode, with deprecations happening on the F5 and Microsoft side soonish. So, yeah⦠āfunā. Oh, and they want it on production by tomorrow. LOLz!
But use your brain. In Exodus 34 is written, that Moses did not eat and drink for 40 days. Nobody can live without water 40 days. thatās a lie.
Have put out my first real technical blog post. Also my first use of āinfo stringsā for syntax highlighting š¤
š Looking for other interested folks to continue to evolve the development of Salty.im š Iāve been hard⢠at work on the v2 branch and @doesnm.p.psf.lt@doesnm.p.psf.lt has been incredibly helpful so far. Be great ot have a few more folks to join us, some of the v2 highlights include:
- Double Ratchet by default.
- Group Chat (sender/client fan-out for now)
- Much better TUI with background agent.
- Mobile App coming soon⢠(iOS in progress, Android next, same codebase)
Itās raining and raining and raining and raining. I had hoped my mate canceled the hike today. But he didnāt. He showed up. So, off we went to the Staufeneck Castle Ruin after having a lunch first. The rain drizzling on the umbrella was very nice and I was very glad that he dragged me outside.
It was super wet, though. Entire creeks were coming down on some path sections. A slippery, muddy mess on others. Our boots were already soaked a few kilometers in the trip. The important part was that the feet were warm, though, despite being wet. We barely met anybody in this lousy weather. So we had basically everything for us alone. Thatās always great.
Visibility was poor the higher we got. At 13 a low hanging cloud was moving in, 14 is the result just three minutes later. We couldnāt see the castle 300 meters away anymore. No chance. It was really funny, because the houses in town at two kilometers distance were still visible. Poorly, but you could clearly make out the town. Not the castle, there was just a white wall of cloud :-)
On the way back, we warmed up with tea I brought along. After I dropped off my mate at the train station, I bumped into a fellow scout, so my wet feet cooled off completely in these 15 minutes we talked. The rainjacket mostly held up with the protection of the umbrella, just the sleeves were down. My rain trousers, on the other hand, leaked a little bit a the lower ends. I was glad when I could strip all the wet stuff. I would do it again, though. :-) Now, Iām swapping the newspaper in my boots every half an hour to absorb all the moisture.
https://lyse.isobeef.org/wanderung-auf-die-burg-staufeneck-2026-02-21/
Oh, our leaning silo laughs at the Leaning Tower of Pisa. :-D Iām wondering when it collapses. Iām waiting for this to happen for years now.
Para ver o mapa da sua cidade pelo terminal, use o comando map.
@aelaraji@aelaraji.com hey, hey! I saw you tinkering with ActivityPub, so I know you were well.
Glad to have you back here! No much has happened on twtxt.net-world. @prologic@twtxt.net is quite busy with large language models, and seeking further independence through capitalistic ways. @lyse@lyse.isobeef.org continues dazzling us with his clicks, @movq@www.uninformativ.de brings us interesting music, videos to see, and a sprinkle of home made computing here and there, and me⦠well, I continue bending (or trying to) things! š
There was an endless coming and going of sun, clouds and rain. Not to forget about the wind. I called it quits a bit earlier and went into the woods.
Towards the end I was completeley surrounded by rain curtains in all directions. This looked super cool. I thought I might make it home just in time without having to use my umbrella, but the rain clouds were way quicker than I anticipated. Just after the rain hit me, I met an acquaintance who just started his walk. The wind picked up hard and rain hammered down, mixed with snow. Holding the umbrella was a workout. Shortly after I returned, the rain stopped again.
I didnāt notice the kestrel sitting on the tree when I took the last photo. That was a nice surprise when I sorted through the nearly 300 pics.
@movq@www.uninformativ.de There are always some folks who would appreciate that. But I fear they are the minority. The rest just doesnāt give a shit.
The selfcontradiction is that those who proudly use and promote AI also claim to be sustainable and green and so on. Iāve no clue how this is not considered fraud, but there we are.
The fact that Canada and US do basic mathematical operations algorithms upwards always boggles my mind.
@bender@twtxt.net it was great! I loved how he used such a big platform to send such an important message!!
nutts.org now has /whoami, /books, and /uses pages
Fuck me dead! I accidentally confused an HTML file for a YAML file and manually opened it in my browser. Unfortunately, I clicked on the OK button of the popped up dialog a bit too fast, it just caught me off guard. It asked which program to open the YAML file in. Of course Firefox thought that it could handle that and suggested itself by default. Conveniently, the ādonāt prompt me again and always use this selection from now onā checkbox was enabled.
And then the endless loop of death started. Turns out, this fucking browser canāt do shit with YAML files and delegated to what had been just configured. Oh, would you look at that!? Firefox! Empty tabs after empty tabs appeared. Killing and restarting Firefox just loaded the last session with all the tabs and the loop continued.
Some bloody snakeoil on my work machine slows down link openening requests by two, three seconds. Itās always absolutely anoying, but luckily, it actually limited the rate of new tabs popping up. I still could not close the many tabs fast enough that had accumulated before I noticed what was going on in the background.
Going to the settings to change them was always interrupted with a new tab opening in the foreground.
Finally, killing Firefox and renaming the file on disk before restarting Firefox did the trick and broke the loop. I was still holding down Ctrl+W for a minute or so to get rid of the useless tabs. I didnāt want to loose the important tabs, so just ditching the session wasnāt an option.
salty-chat TUI client as well, which now includes proper notifications and a background agent that keeps running so you never miss any messages. It all "just works"⢠and I'm quite happy with the outcome! 𤩠#saltyim #revamp
@bender@twtxt.net Whwn do i see you start to use Salty IM more? š
@movq@www.uninformativ.de Nice, itās coming together! Despite it being ages ago that I used a hex editor or viewer, these different representations of information appear very handy to me. If I had to mess around on binary formats, Iād definitely appreciate them. I canāt remember if the hex viewer back then had these options. Donāt even recall what software that was. :-)
I, too, only very, very rarely use the mouse in the terminal. Apart from selecting text to copy into the clipboard. But that probably has the potential for trouble and interference with button clicks, etc. If one isnāt careful.
How did the startup times develop?
Hmmm, thatās a pity. I never realized that before. The following Go code
var b bool
ā¦
b |= otherBool
results in a compilation error:
invalid operation: operator | not defined on b (variable of type bool)
I cannot use || for assignments as in ||= according to https://go.dev/ref/spec#Assignment_statements. Instead, I have to write b = b || otherBool like a barbarian. Oh well, probably doesnāt happen all that often, given that I only now run into this after all those many years.
Ah, nothing quite like a cold beer after a day of moving house without the use of a vehicle.
@shinyoukai@yume.laidback.moe I donāt have a use for it, just curious, why did you fork it?
Going to use Tor. I hope Dread will help me find what I want.
What a beautiful, beautiful 0°C Sunday arvo and evening! The weather forecast delayed the snow by the minute. An hour or so after it finally started very, very lightly, I headed off for the woods to check out the lake again. Unfortunately, with the fresh snow layer, the crazy wild surface texture of the ice sheet wasnāt visible anymore. But it brought some other nice views and photo opportunities.
I initially thought that I just go for a quick turn. However, with the snowfall a wee bit increasing I was hooked and kept going. Visibility was poor, but the snow blankets just looked too stunning. The road surfaces were quite slippery, so I often just walked alongside the pathways. On downhill slopes I had some good fun sliding down the road on my feet. With varying success. Luckily, I managed not to fall.
On the summit of the mountain the twigs had those absolutely magnificently looking windblown crystal coverings. Awwwwwww! They never get old. It was already getting dark, so the camera was tired and wanted to sleep. The snow program then made use of the flash and Iām quite pleased with how these shots turned out.
Two deer crossed the road in front of me and ran into the woods, that was sight for sore eyes. Although I felt bad that they had to flee from me in this white terrain. By the time I got home, the snow had accumulated around eight centimeters in height, even in town down in the valley. Walking on this fresh snow is just amazing. And I love the sound it makes. Today, the snow consistency must have been just right, because the crushing sound was really loud.
I cannot recall that I had frozen hair and beard before, but today, there was a thick ice buildup. In case I had, it was definitely never this much. Felt really cool.
Enough of this preliminary skirmishing, there ya go: https://lyse.isobeef.org/waldspaziergang-2026-01-25/
Has a bit of a long history story behind this, where last year at work we were reading this book called Engineering a Safer World and initially came across a service called Speech Reply that allowed me to upload a PDF copy of the book and start to read it, but unfortunately, the free trial right now before I can finish reading it turns out that Speech Reply service cost a whopping US$30 a month and expected me to pay a full year upfront, which was well over US$300 just for one fucking book! So I sent their sales and support staff a message kindly asking if it were possible to just pay for the audio transcription of just a single book or to change to a monthly subscription fee, to which they refused, so basically in the end I got very angry and told them to go fuck themselves and built my own service. A year later here we are :-)
you are anonymous, if you use tor and the onion site of magical.fish. But never look to more than one site.
70% of people are paranoid and believe paranoid ideas. Thats my idea. Use your brain, study history and science and talk with other people, who have not your ideas.
My mate and I went on a hike earlier. Yesterday, we had lovely 12°C. But today, it was down to at most 4°C. Oh well. At least the sun was out and and there was just a tiny bit of wind. We knew upfont that scarf, beanie and gloves were mandatory. Especially at the more windy sections like up top the hills. The view was absolutely terrible, but we made the best of it.
With the sun shining on us during our lunch break at a forest edge bench, we still enjoyed the lookout in 01. I brought some old carpet scraps to sit on and was happily surprised that they isolated even better than I had hoped for. Some hot tea helped us staying warm.
After five hours we returned just after sunset. Iām quite tired now, completely out of shape.
@bender@twtxt.net Iām already using it for tracktivity (meant for tracking activities and events, like weather, food consumption, stuff like that), which is basically a somewhat-fancy CSV editor:

I have a couple of other projects where I could use it, because they are plain curses at the moment. Like, one of them has an āedit boxā, but you canāt enter Unicode, because it was too complicated. That would benefit from the framework.
Either way, itās the most satisfying project in a long time and Iām learning a ton of stuff.
Iām trying to implement configurable key bindings in tt. Boy, is parsing the key names into tcell.EventKeys a horrible thing. This type consists of three information:
- maybe a predefined compound key sequence, like Ctrl+A
- maybe some modifiers, such as Shift, Ctrl, etc.
- maybe a rune if neither modifiers are present nor a predefined compound key exists
Itās hardcoded usage results in code like this:
func (t *TreeView[T]) InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
switch event.Key() {
case tcell.KeyUp:
t.moveUp()
case tcell.KeyDown:
t.moveDown()
case tcell.KeyHome:
t.moveTop()
case tcell.KeyEnd:
t.moveBottom()
case tcell.KeyCtrlE:
t.moveScrollOffsetDown()
case tcell.KeyCtrlY:
t.moveScrollOffsetUp()
case tcell.KeyTab, tcell.KeyBacktab:
if t.finished != nil {
t.finished(event.Key())
}
case tcell.KeyRune:
if event.Modifiers() == tcell.ModNone {
switch event.Rune() {
case 'k':
t.moveUp()
case 'j':
t.moveDown()
case 'g':
t.moveTop()
case 'G':
t.moveBottom()
}
}
}
})
}
This data structure is just awful to handle and especially initialize in my opinion. Some compound tcell.Keys are mapped to human-readable names in tcell.KeyNames. However, these names always use - to join modifiers, e.g. resulting in Ctrl-A, whereas tcell.EventKey.Name() produces +-delimited strings, e.g. Ctrl+A. Gnaarf, why this asymmetry!? O_o
I just checked k9s and theyāre extending tcell.KeyNames with their own tcell.Key definitions like crazy: https://github.com/derailed/k9s/blob/master/internal/ui/key.go Then, they convert an original tcell.EventKey to tcell.Key: https://github.com/derailed/k9s/blob/b53f3091ca2d9ab963913b0d5e59376aea3f3e51/internal/ui/app.go#L287 This must be used when actually handling keyboard input: https://github.com/derailed/k9s/blob/e55083ba271eed6fc4014674890f70c5ed6c70e0/internal/ui/tree.go#L101
This seems to be much nicer to use. However, I fear this will break eventually. And itās more fragile in general, because itās rather easy to forget the conversion or one can get confused whether a certain key at hand is now an original tcell.Key coming from the library or an āextendedā one.
I will see if I can find some other programs that provide configurable tcell key bindings.
The modern world seems to want to separate the concepts of beauty and utility. Weāre fine with having things that are aesthetic but donā do anything useful, while the tools of society that get work done are often very uglyāvisually, socially and metaphorically. Beauty without utility is worthless; utility without beauty is meaningless. We canāt treat them independently.
@movq@www.uninformativ.de Sorry, I meant the builtin module:
$ python3 -m pep8 file.py
/usr/lib/python3/dist-packages/pep8.py:2123: UserWarning:
pep8 has been renamed to pycodestyle (GitHub issue #466)
Use of the pep8 tool will be removed in a future release.
Please install and use `pycodestyle` instead.
$ pip install pycodestyle
$ pycodestyle ...
I canāt seem to remember the name pycodestyle for the life of me. Maybe thatās why I almost never use it.
You+can+tell+the+browser+I+am+using+sucks+lol
I just tried serving gopher maps on ipfs using IPNS, works like a charm.
Testing a post using my new gopher clientā¦
Since I used so much Rust during the holidays, I got totally used to rustfmt. I now use similar tools for Python (black and isort).
What have I been doing all these years?! I never want to format code manually again. š¤£š
Let us troll some companies by snail-mail. That can be fun!
@lyse@lyse.isobeef.org Itās not super comfortable, thatās right.
But these mouse events come with a caveat anyway:
ncurses uses the XM terminfo entry to enable mouse events, but it looks like this entry does not enable motion events for most terminal emulators. Reporting motion events is supported by, say, XTerm, xiate, st, or urxvt, it just isnāt activated by XM. This makes all this dragging stuff useless.
For the moment, I edited the terminfo entry for my terminal to include motion events. That canāt be a proper solution. Iām not sure yet if Iām supposed to send the appropriate sequence manually ā¦
And the terminfo entries for tmux or screen donāt include XM at all. tmux itself supports the mouse, but Iām not sure yet how to make it pass on the events to the programs running inside of it (maybe thatās just not supported).
To make things worse, on the Linux VT (outside of X11 or Wayland), the whole thing works differently: You have to use good old gpm to get mouse events (gpm has been around forever, I already used this on SuSE Linux). ncurses does support this, but this is a build flag and Arch Linux doesnāt set this flag. So, at the moment, Iām running a custom build of ncurses as a quick hack. š And this doesnāt report motion events either! Just clicks. (I donāt know if gpm itself can report motion events, I never used the library directly.)
tl;dr: The whole thing will probably be ākeyboard firstā and then the mouse stuff is a gimmick on top. As much as Iād like to, this isnāt going to be like TUI applications on DOS. Iāll use āWindowsā for popups or a multi-window view (with the āWindowManagerā being a tiny little tiling WM).
Who uses irc.com ?