Searching yarn

Twts matching #9.
Sort by: Newest, Oldest, Most Relevant

Thursday, July 9, 2026

One week microblogging with twtxt and I love it. The community is great. It’s truly decentralized and future-proof. It’s simple and easy to just start posting. I’ve pretty much replaced my rss feeds with twtxt follows. I’ve discovered a true hidden gem of the independent web and I can’t go back to microblogging any other way. To everyone contributing to the twtxt ecosystem, thank you! Y’all are doing awesome work.

⤋ Read More

Interesting, HTTPS is almost twice as slow as plain HTTP on my server (~72 ms vs. ~135 ms):

$ hyperfine -r 50 "curl -so /dev/null 'http://movq.de/blog/postings/2024-05-23/0/t/word11a.jpg.jpg'"
Benchmark 1: curl -so /dev/null 'http://movq.de/blog/postings/2024-05-23/0/t/word11a.jpg.jpg'
  Time (mean ± σ):      72.7 ms ±  17.2 ms    [User: 6.2 ms, System: 4.8 ms]
  Range (min … max):    49.5 ms …  99.7 ms    50 runs

$ hyperfine -r 50 "curl -so /dev/null 'https://movq.de/blog/postings/2024-05-23/0/t/word11a.jpg.jpg'"
Benchmark 1: curl -so /dev/null 'https://movq.de/blog/postings/2024-05-23/0/t/word11a.jpg.jpg'
  Time (mean ± σ):     135.5 ms ±  28.9 ms    [User: 17.8 ms, System: 5.6 ms]
  Range (min … max):    93.2 ms … 198.5 ms    50 runs

⤋ Read More
In-reply-to » Numbered headings in blog posts, yay or nay?

@lyse@lyse.isobeef.org Besides, have a look at https://movq.de/v/cf0903ebc3/numb.png again: When it goes from item 9 to item 10, the indentation of the text (after the number) changes. Pretty ugly. In other words, a table of contents should be a table, not a list like it is at the moment. And that would require me to write my own extension for python-markdown … Probably not worth it.

⤋ Read More

In Magic today, the Phyrexian Invasion failed in the first game, but the second game was EPIC!

I played my (unlisted) Dragons 2: Draconic Boogaloo deck, and…

Turn 1: Nothing special
Turn 2: Miirym (when a dragon enters, copy it)
Turn 3: Tiamat (choose 5 dragons from deck, put in hand)
Turn 4: Klauth (when dragons attack, create mana equal to their total power)
I attacked with all 5 dragons, which made 28 mana x2 = 56(!) mana.
Then (still turn 4) I played Scourge of Valkas (when a dragon enters, deal damage to target equal to number of dragons) + 5 other dragons, dealing 6 + 2 x (7+8+9+10+11+12+13+14+15+16+17) = 270(!) direct damage (more than double enough to kill the other 3 players).

Damn fine win, if I do say so myself.

⤋ Read More

I just wanted to look up 9V block battery prices online and these automatically generated descriptions are getting dumber by the minute:

Datum der Erzeugung: Verfallsdatum minus 7 Jahre

(Date of manufacturing: expiration date minus 7 years)

Or look at this one:

Die leistungsstarke 9 V-Block E Batterie, auch 6LR61 genannt, eignet sich besonders gut für Taschenlampen, Radio oder Kinderspielzeug, die einen gleichbleibenden Strombedarf haben. Ihre max. Spannung beträgt 1,5 V.

(The high performance 9 V block E battery, also known as 6LR61, is particularly suitable for torches, radio or child’s toys, which have a steady power demand. Its max. voltage is 1.5 V.)

The battery is best suited for… devices where it fits. No shit, Sherlock! Has anyboy ever come across 9V block torches? O_o I haven’t.

⤋ Read More

For the first time in years, I managed to get out and throw a round of disc golf. Had a good time playing Vietnam Veterans Park in Kannapolis, throwing +10 over 9 holes, with my only par being thanks to a 40’ ā€œputtā€ with my MRV. And the weather was perfect.

I hope to play another round soon.

⤋ Read More
In-reply-to » @falsifian Correct, the two smaller versions are loading perfectly fine. The hickup is only for the originals. But in all reality, the middle ones are sufficient for me personally. Please don't get me wrong, at least for the people photos, the subjects are large enough. The Japanese landscapes, however, would definitely benefit from a bit more detail. ;-)

Turns out, I even go down to only 50% quality for my thumbnails: https://lyse.isobeef.org/tmp/galres.txt The difference between 50% and 80/90% is just barely noticeable.

$ convert -strip -quality 50 IMG_20251106_035048_448_size_400.jpg 50-stripped.jpg
$ convert -quality 50 IMG_20251106_035048_448_size_400.jpg 50.jpg
$ ls -lh 50*jpg | awk '{print $5 " " $9}'
26K 50.jpg
25K 50-stripped.jpg

⤋ Read More
In-reply-to » @lyse Thanks for letting me know. HTML checkers seem happy now. I'm not sure what to do about the images not loading. The photos have three sizes (thumbnail, photo page, and original if you click the img tag on the photo page); can you at least see the smaller two sizes? Maybe I will do some experimental fetches and/or start measuring things on my web server.

@falsifian@www.falsifian.org Correct, the two smaller versions are loading perfectly fine. The hickup is only for the originals. But in all reality, the middle ones are sufficient for me personally. Please don’t get me wrong, at least for the people photos, the subjects are large enough. The Japanese landscapes, however, would definitely benefit from a bit more detail. ;-)

I just tried it once more, and now, the tree with the sign (/photo/5Zy4pqVIt0oP/IMG_20251106_035048_448.jpg) fully loaded very quickly. Same with the Japanese dish (/photo/tJbmg8oleYbh/IMG_20251030_091719_086.jpg) and shopping center (/photo/qXG5ucIjpPju/IMG_20251029_045002_778.jpg). But the previous and next ones all ran into the same problems again. When I’m very lucky, I eventually get the upper half. Typically not even that much, a third, a fifth, or even less.

Waiting a bit before making an attempt, the wooden walkway through the forest or park (/photo/ojQpDLfBoGN4/IMG_20251023_043829_011.jpg) eventually also made it. But unlike the other successful attempts, it took a long time.

The more photos you add, the more beneficial it might be to separate the index into several different albums. I didn’t measure it, but it felt like 10 to 20 seconds for all the thumbnails to load. That traffic adds up.

Another idea would be to strip the EXIF data from the thumbnails and reducing quality to 90% or even 80%. Using the famous tree with the sign, I cannot tell the difference between the original thumbnail and the 80% quality one. I’m sure it depends on the subject. Here are the numbers:

$ convert -strip IMG_20251106_035048_448_size_400.jpg stripped.jpg
$ convert -quality 90 IMG_20251106_035048_448_size_400.jpg 90.jpg
$ convert -quality 80 IMG_20251106_035048_448_size_400.jpg 80.jpg
$ convert -strip -quality 90 IMG_20251106_035048_448_size_400.jpg 90-stripped.jpg
$ convert -strip -quality 80 IMG_20251106_035048_448_size_400.jpg 80-stripped.jpg
$ ls -lh *jpg | awk '{print $5 " " $9}' 
46K 80.jpg
45K 80-stripped.jpg
64K 90.jpg
63K 90-stripped.jpg
132K IMG_20251106_035048_448_size_400.jpg
127K stripped.jpg
$ ls -l *jpg | awk '{print $5 " " $9}'
46160 80.jpg
45064 80-stripped.jpg
65012 90.jpg
63916 90-stripped.jpg
135070 IMG_20251106_035048_448_size_400.jpg
129647 stripped.jpg

⤋ Read More
In-reply-to » Day 9 also required some optimizations, if you aren't careful, you end up with really inefficient algorithms with time/memory complexity beyond what a typical machine has 🤣

@movq@www.uninformativ.de I shrank Day 9 Part 2 from ā€œcover the whole mapā€ to ā€œonly track the interesting lines.ā€ By compressing coordinates to just the unique x/y breakpoints, the grid got tiny. I still flood-fill and do the corner-pair checks, but now on that compact grid with weighted prefix sums for instant rectangle checks. Result: far less RAM, way less CPU, same correct answer.

⤋ Read More

Day 9 also required some optimizations, if you aren’t careful, you end up with really inefficient algorithms with time/memory complexity beyond what a typical machine has 🤣

⤋ Read More

Awk to take lines from Plan 9’s /lib/unicode and prepend the actual glyph and a tab: awk ā€˜{cmd=sprintf(ā€œunicode %sā€, $1); cmd | getline c; printf(ā€œ%s %s\nā€, c, $0)}’

⤋ Read More
In-reply-to » Advent of Code 2025 starts tomorrow. šŸ„³šŸŽ„

Day 2 was pretty tough on my old hardware. Part 1 originally took 16 minutes, then I got it down to 9 seconds – only to realize later that my solution abused some properties of my particular input. A correct solution will probably take about 30 seconds. 🫤

Part 2 took 29 minutes this morning. I wrote an optimized version but haven’t tested it yet. I hope it’ll be under a minute.

Python 1 feels really slow, even compared to Java 1. And these first puzzles weren’t even computationally intensive. We’ll see how far I’ll make it …

https://movq.de/v/f831d98103/day02.jpg

⤋ Read More

Fark me šŸ¤¦ā€ā™‚ļø I woke up quite late today (after a long night helping/assisting with a Mainframe migration last night fork work) to abusive traffic and my alerts going off. The impact? My pod (twtxt.net) was being hammered by something at a request rate of 30 req/s (there are global rate limits in place, but still…). The culprit? Turned out to be a particular IP 43.134.51.191 and after looking into who own s that IP I discovered it was yet-another-bad-customer-or-whatever from Tencent, so that entire network (ASN) is now blocked from my Edge:

+# Who: Tentcent
+# Why: Bad Bots
+132203

Total damage?

$ caddy-log-formatter twtxt.net.log | cut -f 1 -d  ' ' | sort | uniq -c | sort -r -n -k 1 | head -n 5
  61371 43.134.51.191
    402 159.196.9.199
    121 45.77.238.240
      8 106.200.1.116
      6 104.250.53.138

61k reqs over an hour or so (before I noticed), bunch of CPU time burned, and useless waste of my fucking time.

⤋ Read More
In-reply-to » What do you do, when a recruiter throws you a PD or two and says the total compensation is ~2-3x what you're on now?! šŸ¤”

@lyse@lyse.isobeef.org @bender@twtxt.net Pfft, they want folks to relocate to Sydney. Fuck that 🤣 Sydney is a bit like San Francisco, I’m not actually sure which is worse. Fuck’n expensive as hell, the only palce you’d be able to afford to buy or rent is at least ~2hrs out of the city by public transport (i.e: train) and by that time you’ve just pissed your life down the toilet, because you’d be expected ot work a 9-10hr day + 2-3hrs of travel each way, buy the time you factor in having to wake up super early to get ready to travel in to work, you basically have zero time for anything else, let alone your ufamily,

Fuck that.

⤋ Read More
In-reply-to » is there consensus on what characters should(n't) be allowed in nicks? i remember reading somewhere whitespace should not be allowed, but i don't see it in the spec on twtxt.dev — in fact, are there any other resources on twtxt extensions outside of twtxt.dev?

@zvava@twtxt.net Good question. This is the spec, I think:

https://twtxt.dev/exts/metadata.html#nick

It doesn’t say much. šŸ¤”

In the wild, I’ve only seen ā€œtraditionalā€ nick names, i.e. ASCII 0x21 thru 0x7E.

My client removes anything but r'[a-zA-Z0-9]' from nick names.

⤋ Read More

we are now parsing and recursively fetching remote feeds somewhat successfully, gotta work on the media proxy and markdown way more, so so many fucky edgecases….my friend’s feed with like four posts parsed correctly so i tried this account’s feed and well now im not going to bed on time

⤋ Read More

search page, bookmarks page, improved thread view (that i will probably improve further), as well as a logo and a whole ui redesign. it is truly all coming together…were i to mark any items off the roadmap :p

⤋ Read More

replies and following implemented! next step is further parsing of post contents, rendering threads, and then maybe i can finally start adding remote feeds…! though i kinda wanna redo the whole ui ^^’

⤋ Read More

June 21st, 1789 - The Constitution for the United States of America is ratified, with New Hampshire becoming the ninth state to ratify. Article I, Sections 9 and 10 of the Constitution contain provisions which clearly prohibit the federal government and the states from granting titles: ā€œNo title of nobility shall be granted by the United States: and no person holding any office of profit or trust under them, shall, without the consent of the Congress, accept of any present, emolument, office, or title, of any kind whatever, from any king, prince, or foreign State. No State shall enter into any treaty, alliance, or confederation; grant letters of marque and reprisal; coin money; emit bills of credit; make anything but gold and silver coin a tender in payment of debts; pass any bill of attainder, ex postfacto law, or law impairing the obligation of contracts, or grant any title of nobility.ā€ However, no penalty for violating the Article is specified.

⤋ Read More
In-reply-to » linode's having a major outage (ongoing as of writing, over 24 hours in) and my friend runs a site i help out with on one of their servers. we didn't have recent backups so i got really anxious about possible severe data loss considering the situation with linode doesn't look great (it seems like a really bad incident).

@kat@yarn.girlonthemoon.xyz after 5 years or so with Linode, I started having little—but annoying—issues with them. Moved to Vultr and have been very happy with them since Ubuntu 16.04, so 9 years, and a little bit more.

⤋ Read More

Global update: Trump in Scotland says EU trade deal has 50-50 chance as tariff row grows. Gaza sees 9 more starvation deaths (122 total); UN says famine is deliberate. Thai-Cambodia clashes kill 16, displace 135k. US raid in Syria kills top ISIS leader & sons.

⤋ Read More
In-reply-to » I was drafting support for showing ā€œapplication iconsā€ in my window manager, i.e. the Firefox icon in the titlebar:

@movq@www.uninformativ.de According to this screenshot, KDE still shows good old application icons: https://upload.wikimedia.org/wikipedia/commons/9/94/KDE_Plasma_5.21_Breeze_Twilight_screenshot.png

And GNOME used to have them, too: https://upload.wikimedia.org/wikipedia/commons/9/9f/Gnome-2-22_%284%29.png

I like the looks of your window manager. That’s using Wayland, right? The only thing on this screenshot to critique is all that wasted space of the windows not making use of the full screen!!!1 At least the file browser. 8-)

This drives me nuts when my workmates share their screens. I really don’t get it how people can work like that. You can’t even read the whole line in the IDE or log viewer with all the expanded side bars. And then there’s 200 pixels on the left and another 300 pixels on the right where the desktop wallpaper shows. Gnaa! There’s the other extreme end when somebody shares their ultra wide screen and I just have a ā€œregularishā€ 16:10 monitor and don’t see shit, because it’s resized way too tiny to fit my width. Good times. :-D

Sorry for going off on a tangent here. :-) Back to your WM: It has the right mix of being subtle and still similar to motif. Probably close to the older Windowses. My memory doesn’t serve me well, but I think they actually got it fairly good in my opinion. Your purple active window title looks killer. It just fits so well. This brown one (https://www.uninformativ.de/blog/postings/2025-07-22/0/leafpads.png) gives me also classic vibes. Awww. We ran some similar brownish color scheme (don’t recall its name) on Win95 or Win98 for some time on the family computer. I remember other people visting us not liking these colors. :-D

⤋ Read More
In-reply-to » I did a ā€œlectureā€/ā€œworkshopā€ about this at work today. 16-bit DOS, real mode. šŸ’¾ Pretty cool and the audience (devs and sysadmins) seemed quite interested. 🄳

@movq@www.uninformativ.de Interesting internal education sessions are way too infrequent here as well. There are a bunch of ā€œknowledge transferā€ meetings actually, but 90% of the topics already sound totally boring to me. The other 9% talks turned out to be underwhelming, sadly. I only attended a single one where it was delivered what has been promised. They’re all talks, not real hands-on trainings like you did.

Once a year the security guys organize a really great hacking event, though. Teams can volunteer to hand in their software dev instances and all workmates are invited to hack them and report security vulnerabilities. That’s a lot of fun, but also gets frustrating towards the end when you don’t make any progress. :-) There’s also some actual hands-on training in advance for preparation of the two days. Unfortunately, I missed the last event due to my own project being very stressful at the time.

When I had a Do What You Want Day I also show my direct teammates what I learned in the hopes of this being interesting to them as well. I’m the only one in my team using this opportunity, sadly.

⤋ Read More

Saw this on Mastodon:

https://racingbunny.com/@mookie/114718466149264471

18 rules of Software Engineering

  1. You will regret complexity when on-call
  2. Stop falling in love with your own code
  3. Everything is a trade-off. There’s no ā€œbestā€ 3. Every line of code you write is a liability 4. Document your decisions and designs
  4. Everyone hates code they didn’t write
  5. Don’t use unnecessary dependencies
  6. Coding standards prevent arguments
  7. Write meaningful commit messages
  8. Don’t ever stop learning new things
  9. Code reviews spread knowledge
  10. Always build for maintainability
  11. Ask for help when you’re stuck
  12. Fix root causes, not symptoms
  13. Software is never completed
  14. Estimates are not promises
  15. Ship early, iterate often
  16. Keep. It. Simple.

Solid list, even though 14 is up for debate in my opinion: Software can be completed. You have a use case / problem, you solve that problem, done. Your software is completed now. There might still be bugs and they should be fixed – but this doesn’t ā€œaddā€ to the program. Don’t use ā€œsoftware is never doneā€ as an excuse to keep adding and adding stuff to your code.

⤋ Read More
In-reply-to » Over the past few weeks I've been experimenting with and doing some deep learning and researching into neutral networks and evolutionary adaptation of them. The thing is I haven't gotten very far. I've been able to build two different approaches so far with limited results. The frustrating part is that these things are so "random" it isn't even funny. Like I can't even get a basic ANN + GA to evolve a network that solves the XOR pattern every time with high levels of accuracy. šŸ˜ž

This is one of my attempts:

$ go build ./cmd/xor/... && ./xor
Generation  95 | Fitness: 0.999964 | Nodes: 9   | Conns: 19
Target reached!

Best network performance:
  [0 0] → got=0 exp=0 (raw=0.000) āœ…
  [0 1] → got=1 exp=1 (raw=0.990) āœ…
  [1 0] → got=1 exp=1 (raw=0.716) āœ…
  [1 1] → got=0 exp=0 (raw=0.045) āœ…
Overall accuracy: 100.0%
Wrote best.dot – render with `dot -Tpng best.dot -o best.png`

⤋ Read More
In-reply-to » I guess mentions with .(s) / dot(s) like @eapl.me are valid? šŸ¤” Or nicks even? šŸ¤”

on timeline the mention looks OK. Is there an issue on Yarn?

It’s an interesting topic. For example on Bsky it’s natural to allow domains https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial

Although TwiXter only allows (letters A-Z, numbers 0-9 and of underscores)
https://help.x.com/en/managing-your-account/x-username-rules

⤋ Read More

Regex Isn’t Hard - Tim Kellogg šŸ‘ˆ this is a pretty good conscience article on regexes, and I agree, regex isn’t that hardā„¢ – However I think I can make the TL;DR even shorter šŸ˜…

Regex core subset (portable across languages):

Character sets
• a matches ā€œaā€
• [a-z] any lowercase
• [a-zA-Z0-9] alphanumeric
• [^ab] any char but a or b

Repetition (applies to the preceding atom)
• ? zero or one
• * zero or more
• + one or more

Groups
• (ab)+ matches ā€œabā€, ā€œababā€, …
• Capture for extract/substitute via $1 or \1

Operators
• foo|bar = foo or bar
• ^ start anchor
• $ end anchor

Ignore non‑portable shortcuts: \w, ., {n}, *?, lookarounds.

#regex101

⤋ Read More

MacSSL: a port of Mbed-TLS for the classic Mac OS 7/8/9
Yesterday we had SDL2 for the classic Mac OS, today we have modern SSL/TLS for the classic Mac OS. This is a C89/C90 port of MbedTLS for Mac System 7/8/9. It works, and compiles under Metrowerks Codewarrior Pro 4. This is a basic app that performs a GET request on whatever is in api.h, and prints the result out to the text box (with a lot of debug information, of course). The idea of this project was to build an ā€˜app’ of … ⌘ Read more

⤋ Read More
In-reply-to » I updated wordwrap.[ch] to more closely match the interface for string(2); it's now just that plus a margin. I also updated litclock and marquee to match. http://a.9srv.net/src/index.html

@anth@a.9srv.net Hahaha, for a second I thought that you implemented word splitting according to Swiss (.ch) rules. :-D

Btw, both manpage links string(2) and getields(2) (it’s missing an f) point into nothingness: http://a.9srv.net/src/wordwrap.2.html

I can’t help but notice line 9: http://a.9srv.net/src/wordwrap.c

And I reckon your finger slipped one key to the right for quore: http://a.9srv.net/src/litclock.1.html

Cool stuff! :-)

⤋ Read More

SDL2 ported to Mac OS 9
Well, this you certainly don’t see every day. This is a ā€œrough draftā€ of SDL2 for MacOS 9, using CodeWarrior Pro 6 and 7. Enough was done to get it building in CW, and the start of a ā€œmacosclassicā€ video driver was created. It DOES seem to basically work, but much still needs to be done. Event handling is just enough to handling Command-Q, there is no audio, etc etc etc. ↫ A cast of thousands The hardest part was a video driver for the classic Mac OS, which had to be created mostly f … ⌘ Read more

⤋ Read More