@kat@yarn.girlonthemoon.xyz It’s very well hidden, it took me a while to find that. Go to “Settings” in the menu bar up top → “Profile and Privacy” (already selected) → on the right at “User Info” → “1 Muted” → click the link with the minus in the circle at the message you want to unmute.
./yarnc debug <your feed url>
:
OH wait! 😳 Why am I storing the timestamp as created = 2025-04-07T19:59:51Z
?! 😱 @movq@www.uninformativ.de’s feed shows:
2025-04-07T19:59:51+00:00 I wonder if my current Linux installation will actually make it to 20 years:
$ head -n 1 /var/log/pacman.log
[2011-07-07 11:19] installed filesystem (2011.04-1)
It’s not toooo far into the future.
It would be crazy … 20 years without reinstalling once … phew. 🥴
Hmmmm
@movq@www.uninformativ.de Not according to the output of ./yarnc debug <your feed url>
:
znf6csa 2025-04-07T19:59:51+00:00 I wonder if my current Linux installation will actually make it to 20 years:
$ head -n 1 /var/log/pacman.log
[2011-07-07 11:19] installed filesystem (2011.04-1)
It’s not toooo far into the future.
It would be crazy … 20 years without reinstalling once … phew. 🥴
Doesn’t look like it Hmmm
sqlite> select * from twts where content LIKE '%Linux installation%';
hash = znf6csa
feed_url = https://www.uninformativ.de/twtxt.txt
content = I wonder if my current Linux installation will actually make it to 20 years:
$ head -n 1 /var/log/pacman.log
[2011-07-07 11:19] installed filesystem (2011.04-1)
It’s not toooo far into the future.
It would be crazy … 20 years without reinstalling once … phew. 🥴
created = 2025-04-07T19:59:51Z
subject = (#znf6csa)
mentions = []
tags = []
links = []
I wonder if my current Linux installation will actually make it to 20 years:
$ head -n 1 /var/log/pacman.log
[2011-07-07 11:19] installed filesystem (2011.04-1)
It’s not toooo far into the future.
It would be crazy … 20 years without reinstalling once … phew. 🥴
@prologic@twtxt.net, from IRC:
- Saving preferences is failing. Specifically trying to save “Open Links” on the same window. For sure it isn’t happening. Check errors on browser’s console.
- Search results pagination is broken. Search for “twtxt.net” and see it. Also, picking oldest/newest makes no difference on that search query.
@prologic@twtxt.net Not sure if the confirmation helps at all. You just condition yourself to immediately press y
on a daily basis.
Apart from that, aborting the removal should probably terminate the function with a non-zero exit code, something like return 1
.
So I re-write this shell alias that I used all the time alias dkv="docker rm"
to be a much safer shell function:
dkv() {
if [[ "$1" == "rm" && -n "$2" ]]; then
read -r -p "Are you sure you want to delete volume '$2'? [Y/n] " confirm
confirm=${confirm:-Y}
if [[ "$confirm" =~ ^[Yy]$ ]]; then
# Disable history
set +o history
# Delete the volume
docker volume rm "$2"
# Re-enable history
set -o history
else
echo "Aborted."
fi
else
docker volume "$@"
fi
}
China matches US tariffs in trade war escalation + 1 more story
Melting Arctic ice opens routes, raising tensions; US-China trade war hurts markets ⌘ Read more
An AlphaStation’s SROM
The AlphaStation 500 is a workstation from Digital, circa 1996. Mine is a 500 MHz model and has an Alpha 21164A processor (aka EV56). And the way it boots is weird. On your common-or-garden PC, there has always been some kind of ROM chip. It holds a piece of firmware known as the BIOS. This ROM chip is available at a well-known location in the processor’s address space (remembering that any PC processor boots up in 16-bit, 8088 compatible mode, with a 1 MiB address space, just like an I … ⌘ Read more
Debugging Lotus 1-2-3 by fax
Honestly, this would still be easier today than some of the bug reporting systems I’ve seen. ⌘ Read more
Hello, i want to present my new revolution twtxt v3 format - twjson
That’s why you should use it:
- It’s easy to to parse
- It’s easy to read (in formatted mode :D)
- It used actually \n for newlines, you don’t need unprintable symbols
- Forget about hash collisions because using full hash
Here is my twjson feed: https://doesnm.p.psf.lt/twjson.json
And twtxt2json converter: https://doesnm.p.psf.lt/twjson.js
about:compat
in Firefox.
@movq@www.uninformativ.de Wow, I use Firefox and didn’t realize this existed! Thanks for pointing it out. I noticed at least one bug cited a webcompat.com report; I wonder if someone at Mozilla monitors those. https://webcompat.com/issues?page=1&per_page=50&state=open&stage=all&sort=created&direction=desc
2 is a great idea, you should suggest it in that blog post.
About 1, well, I think anyone has an email address and only about 5% use a Feed, so it makes sense to offer what most people use 🤔
“Unread messages: -1”: Well, classic off by one error. I gotta have to hunt that down.
@eapl.me@eapl.me Interesting! Two points stood right out to me:
Why the hell are e-mail newsletters considered a valid option in the first place? Just offer an Atom feed and be done with it! Especially for a blog of this very type. This doesn’t even involve a third party service. Although, in addition he also links to Feedburner, what the fuck!? No e-mail address or the like is needed and subject to being disclosed.
When these spam mailers want to prevent resubscribing, then for fuck’s sake, why don’t they use a hash of the e-mail address (I saw that in yarnd) for that purpose? Storing the e-mail address in clear text after unsubscribing is illegal in my book.
Russia and Ukraine agree to halt Black Sea conflict + 1 more story
Russia and Ukraine halt Black Sea conflict; Trump plans tariffs on Venezuelan oil buyers. ⌘ Read more
tt
reimplementation that I already followed with the old Python tt
. Previously, I just had a few feeds for testing purposes in my new config. While transfering, I "dropped" heaps of feeds that appeared to be inactive.
I need to import my yarn cache. It’s sitting at about 1.5G in registry format. That should make things interesting…
tt
reimplementation that I already followed with the old Python tt
. Previously, I just had a few feeds for testing purposes in my new config. While transfering, I "dropped" heaps of feeds that appeared to be inactive.
neat! my watcher is currently sitting at about 75 MB following over 1500 feeds. only about 200 are currently somewhat active.
-rw-r--r--. 1 xuu xuu 69M Mar 25 20:46 twt.db
-rw-r--r--. 1 xuu xuu 32K Mar 25 21:34 twt.db-shm
-rw-r--r--. 1 xuu xuu 5.6M Mar 25 21:34 twt.db-wal
sqlite> select state, count(*) n from feeds group by 1;
hot|7
warm|8
cold|183
frozen|743
permanantly-dead|857
I have finished 1-9 on Python. If anyone is interested, I could share the code, or in Reddit many people have shared theirs.
This works! Any way to streamline it further?
autocmd BufNewFile * call s:InsertTimestamp()
inoremap <CR> <Esc>:r!date +"\%F \%T"<CR>A
function! s:InsertTimestamp()
call setline(1, strftime('%Y-%m-%d %H:%M:%S '))
normal! G$
endfunction
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.
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.
@eapl.me@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.
Dark energy might be weakening + 1 more story
Scientists create largest 3D universe map, suggesting dark energy may weaken; Research shows modern humans evolved from two ancient populations. ⌘ Read more
@andros@twtxt.andros.dev Can you reproduce any of this outside of your client? I can’t spot a mistake here:
$ curl -sI 'http://movq.de/v/8684c7d264/.html%2Dindex%2Dthumb%2Dgimp11%2D1.png.jpg'
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 2615
Content-Type: image/jpeg
Date: Wed, 19 Mar 2025 19:53:17 GMT
Last-Modified: Wed, 19 Mar 2025 17:34:08 GMT
Server: OpenBSD httpd
$ curl -sI 'https://movq.de/v/8684c7d264/gimp11%2D1.png'
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 131798
Content-Type: image/png
Date: Wed, 19 Mar 2025 19:53:19 GMT
Last-Modified: Wed, 19 Mar 2025 17:18:07 GMT
Server: OpenBSD httpd
$ telnet movq.de 80
Trying 185.162.249.140...
Connected to movq.de.
Escape character is '^]'.
HEAD /v/8684c7d264/.html%2Dindex%2Dthumb%2Dgimp11%2D1.png.jpg HTTP/1.1
Host: movq.de
Connection: close
HTTP/1.1 200 OK
Connection: close
Content-Length: 2615
Content-Type: image/jpeg
Date: Wed, 19 Mar 2025 19:53:31 GMT
Last-Modified: Wed, 19 Mar 2025 17:34:08 GMT
Server: OpenBSD httpd
Connection closed by foreign host.
$
@eapl.me@eapl.me Good job! I have added these comments:
- It is only long for humans. Clients can only leave a hyperlink.
- The nickname is just a decoration, only the date that acts as the id and the URL matter. The nick is used for humans reading the feed.
- It can be migrated with a script, if the feed exists.
Timeline and twtxt-php, don’t support Gemini, only HTTP/S, as a design choice (although originally it was intended to work on Gemtext, it was a niche inside a niche, so it was discarded very soon).
At the moment of building the engine there weren’t many Gemini URLs supporting twtxt 1.1 (with twtxt.dev extensions).
Also User-Agent won’t work there, and many Gemini URLs are a mirror of the HTTP one, so I think is not strictly necessary.
my 2c
Enlightenment 0.27.1 released
A few months after 0.27.0 was released, we’ve got a small update for Enlightenment today, version 0.27.1. It’s a short list of bugfixes, and one tiny new feature: you can now use the scroll wheel to change the volume when your cursor is hovering over the mixer controls. That’s it. That’s the release. ⌘ Read more
La musique de Chronokinesie est très bien pour se concentrer. Là, je corrige mes copies avec, merci les compositeurs! https://www.youtube.com/watch?v=rQxNYqa7Lec&list=OLAK5uy_lTJtJNdh0CORziaQH_YDsXLVF-_QbJyRQ&index=1
Israel strikes Gaza, ending ceasefire + 3 more stories
Israel breaks Gaza ceasefire, conducting deadly airstrikes. Webb telescope sees CO2 on exoplanets. Germany’s €1 trillion debt plan faces debate. Global trade hits $33 trillion. ⌘ Read more
Chapter 1:
Chapter 2:
if you want a different voice let me know which to use: https://rhasspy.github.io/piper-samples/
North Korea reveals new nuclear-powered submarine + 1 more story
Russia reclaims territory with help from North Korea; North Korea unveils new nuclear submarine. ⌘ Read more
Zen and the art of microcode hacking
Now that we have examined the vulnerability that enables arbitrary microcode patches to be installed on all (un-patched) Zen 1 through Zen 4 CPUs, let’s discuss how you can use and expand our tools to author your own patches. We have been working on developing a collection of tools combined into a single project we’re calling zentool. The long-term goal is to provide a suite of capabilities similar to binutils, but targeting AMD microcode instead of CPU mach … ⌘ Read more
For point 1 and others using the metadata tags. we have implemented them in yarnd as [lang=en][meta=data]
Over half of adults predicted to be obese by 2050 + 1 more story
Study predicts over half of adults will be obese by 2050; Trump imposes steep tariffs on Canada, Mexico, and China ⌘ Read more
looks good to me!
About alice’s hash, using SHA256, I get 96473b4f
or 96473B4F
for the last 8 characters. I’ll add it as an implementation example.
The idea of including it besides the follow URL is to avoid calculating it every time we load the file (assuming the client did that correctly), and helps to track replies across the file with a simple search.
Also, watching your example I’m thinking now that instead of {url=96473B4F,id=1}
which is ambiguous of which URL we are referring to, it could be something like:
{reply_to=[URL_HASH]_[TWT_ID]}
/ {reply_to=96473B4F_1}
That way, the ‘full twt ID’ could be 96473B4F_1
.
- System Design Interview Vol. 1 and 2, Alex Xu and Sahn Lam
- Designing Data-Intensive Applications, Martin Kleppmann
Trump threatens 25% tariffs on EU imports + 1 more story
Trump proposes 25% tariffs on EU imports; Ukraine and the U.S. approach a mineral rights deal ⌘ Read more