@creeper@twtpub.com Hey ! 👋 Welcome to Yarn.social / Twtxt 🤗
And just like that Problem 10 is done and correct whoohoo 🥳 It was easy because in Problem 7 I’d already written an iterator to produce infinite primes. So the solution for finding the sum of primes under 2,000,000 is basically (shortened):
primes := iter.take_while(iter.filter(prime_candidates(), is_prime), fn(p) { p < n })
print(iter.sum(primes))
And of course the answer is: 142913828922 which took ~21.ss for the Go Vm to compuete.
What’s interesting here… Which is the interesting thing about Mu is the dual runtime. So the above solution for Euler Problem 9 finds the solution in ~429ms with the Go VM and ~327ms natively compiled to darwin/arm64. Not bad for a language I haven’t really done any optimization work on yet (correctness first obviously).
Oh man wow 😮 Problem 9 was quite hard 😱 I had to build two new functions in the Mu stdlib for computing combinations and permutations, but then the combinations of range(1000) for triples such as a + b == c is enormous! So i had to write iterator versions of these to do lazy evaluation. Anyway solution follows:
#!/usr/bin/env mu
// Special Pythagorean Triplet
import "iter"
fn usage() {
print("Usage:", args()[0], "<n>")
}
fn sqr(x) { x * x }
fn main() {
if len(args()) < 2 {
usage()
exit(1)
}
n := must(int(args()[1]))
print("n:", n)
// For a < b < c and a + b + c == n, both a and b are strictly less
// than n/2. Generate only (a,b) combinations and derive c directly. This
// keeps the search lazy and reduces n=1000 from C(999,3) = 165,668,499
// candidate triples to C(499,2) = 124,251 candidate pairs.
pairs := iter.combinations(iter.range(1, n / 2), 2)
triples := iter.map(pairs, fn(xs) {
a := xs[0]
b := xs[1]
return [a, b, n - a - b]
})
// Enforce b < c; a < b is already guaranteed by combinations over an
// increasing range, and a + b + c == n holds by construction.
triples = iter.filter(triples, fn(xs) {
return xs[1] < xs[2]
})
// Euler 9 has one answer for n=1000. find() stops the entire upstream
// iterator chain as soon as the first Pythagorean triple is found.
answer := iter.find(triples, fn(xs) {
return sqr(xs[0]) + sqr(xs[1]) == sqr(xs[2])
})
print(answer)
if answer != nil {
print(answer[0] * answer[1] * answer[2])
}
}
main()
It is such a nice feeling that Mu is such a capable little language 😅 And I decided to write code code in Mu by hand 🤚 haha 🤣 and start solving Project Euler problems, like Problem 8 which works out to be a nice elegant solution in Mu:
#!/usr/bin/env mu
// Largest Product in a Series
import "fp"
import "sys"
fn usage() {
print("Usage: cat |", args()[0], "<n>")
}
fn products(xs) {
return fp.reduce(xs, 1, fn(x, y) {
if y == nil {
return x
}
return x * y
})
}
fn main() {
if len(args()) < 2 {
usage()
exit(1)
}
s := must(sys.read_all(0))
if len(s) == 0 {
usage()
exit(1)
}
n := must(int(args()[1]))
r := fp.max(fp.map(fp.sliding(fp.map(s, int), n), products))
print(r)
}
main()
@arne@uplegger.eu Schade um diese ganzen Giganten. Das wird uns zukünftig öfters blühen.
@arne@uplegger.eu Achso, klasse Atlas, dieser Copernicus-Browser! Danke, kannte ich noch nicht.
@arne@uplegger.eu Also von da oben sieht das meiner Auffassung nach wirklich hübsch aus, da kann man echt nichts sagen. Mir gefällt’s prächtig. Gut, wenn man dieser Brühe dann auf Meereshöhe begegnet, ist das sicherlich ‘ne andere Sache.
@david@daiwei.me Haha, what a funny price, 1234 cents!
@david@daiwei.me Next year, apparently, but less spectacular. 🤔
@lyse@lyse.isobeef.org Nice! Oh yes, observing the sun is exhausting, it’s always so hot. And for not using a tripod, these shots are pretty good!
@anth@a.9srv.net Haha 😆
@brytboi@twtpub.com I hope you’re seeing my replies because you absolutely can scroll up in the app. Let me know if you’ve run into a bug though and report it to me so I can fix it immediately!
@brytboi@twtpub.com no a subset of markdown is fully supported by the app!
@prologic@twtxt.net Oh no, i’m pretty sure if devrel or sales from one of these companies ever called me, my end if the conversation would be much better summarized by this: http://txtpunk.com/foac
@brytboi@twtpub.com I mean you can, technically. But most clients won’t render Javascript or HTML fragments at all. Only Markdown, Text, Images and Links.
@brytboi@twtpub.com Hey! 👋 Welcome to Yarn.social / Twtxt 🤗
@david@daiwei.me Please report any logs from the Javascript console if you can. It’s possible the one commit I made to the Swag framework might be the culprit here. Not sure.
@anth@a.9srv.net Where’s the other side of this? Your side? 🤔
@lyse@lyse.isobeef.org You are correct, 👍, however, not what I was thinking in this case. More of just a reminder/nudge.
Yum, yum, yum. @david@daiwei.me, I’d absolutely love to taste your exploded kebab! It looks fantastic, my mouth is watering.
@movq@www.uninformativ.de Hell yeah, this is awesome! Great shots!
When I checked at the beginning, the sun was already way behind the trees. I then decided to wait until the end before leaving the house and melting in direct sunlight at 31°C. At the hill, there were around 15 people in camping chairs and on picnic rugs. Some dragged out their camera gear as well.
My first two photos were through the eclipse glasses. In contrast to others, I didn’t bring my tripod and just used a tree as a crappy makeshift one. With the large zoom it’s impossible to keep it still for one second (what my cam decided to be the exposure time). Leaning the camera against the side of the tree is just not good enough.
@thecanine@twtxt.net Hahaha, I never came across the term slopsmith before. :‘-D

Transcript of a phone call with AI developer relations: http://a.9srv.net/b/ai-devrel
During sunset: 
Solar eclipse: https://movq.de/v/25e6071e0c/
@prologic@twtxt.net I could be very wrong – wouldn’t be the first time – weren’t push notifications part of the evil things to avoid? :-? Anyway, happy hacking!
@prologic@twtxt.net Happy Ekka Wednesday! I’d loved to have a day off, too, but was slaving away.
@david@daiwei.me broken how? wiring here
@david@daiwei.me Do you mind re-testing too with the updates i just pushed out? 🙏
Testinf image upload fixes…
Testing image upload fixes 🙏
@GabesArcade@gabesarcade.com Not sure if @mariam@twtpub.com will ever see or respond to our welcomes tbh 😢 I caught the new user trying out the Twtxt App 4 days too left 🤦♂️ – I think I need to make some improvements to the app, some nudges, something to encourage users to stick around? Maybe some periodic push notifications? 🤔
@mariam@twtpub.com Hey! 👋 Welcome to Yarn.social / Twtxt 🤗
@david@daiwei.me It’s like Rummy but with more freedom which makes it a hell lot more interesting. You’re allowed to manipulate everything that’s on the table, trigger jokers, recombine the cards as long as there are at least three in a row after your move, not just simply add cards to existing rows (or whatever the correct terminology is). It’s good fun and mental exercise.
Most of this insane power consumption happens during the models training, so the additional cost of prompting, is minimal. Facebook invented cool ways to exted the environmental damage far beyond the training stage, by dumping the dirty data center water into nearby water sources, but that’s more so a Facebook problem, than a fault of AI.
I would still never waste my own money, paying for any AI subscriptions that my employer doesn’t already pay for, no matter if we use them, or not.
I am also against aggressive scraping and taking everything as training data, disregarding the authors wishes and license. I allow it on my website, mostly as proof that no matter how much they scrape my stuff, the real me remains both a superior webdev and artist.
I am well aware this makes me come across really egotistical, especially after developers far better than me, embraced vibe coding, arguably way too much. To give an example, all attempts to get Microsoft Copilot, that’s embedded into SharePoint, to generate an extension/uBlock filter to make SharePoint revert to the old superior UI failed, but I was able to do that in three lines of code ( https://thecanine.smol.pub/ublock-filters ), in half an hour, despite me never seeing the code of that page before. After a few of these comparisons, it is increasingly hard to see most of these tools, as my replacement.
I am not even going to talk about the people trying to imitate my art style with AI, until they can show me a result where all the squares are the same size, in a grid and actually square.
🤣 Total Eclipse of the Heart (Literal Version) https://www.youtube.com/watch?v=rl9pzyv3-20
@movq@www.uninformativ.de @david@daiwei.me @thecanine@twtxt.net Yeah, I’m with you. It is just a tool, but it’s a tool that burns rainforests and boils lakes when you use it, owned by some incredible awful human beings, and built on the backs of an increasing number of crippling mass-scraping campaigns. These costs are just too high.
I have to use it at work, but it’s “the new norm” in software, so I’m hoping to use it just enough to get by until either 1) the bubble pops (and we don’t have to use it anymore) or b) I retire. And actually, 1) happened for a minute back in June when M$ increased the prices of tokens, so it’s certainly possible it could happen again.
All that having been said, I think the technology itself has some interesting uses, and I’m looking forward to the day when I can host some open source models on local hardware. But I can wait.
And yes, the site is unreadable on mobile, which is kinda wild for 2026. 🦆
The author of the Xfce Wayland compositor on LLMs:
https://www.spurint.org/journal/2026/07/llms-and-xfwl4
He openly admits that he’s totally aware of the issues. But he simply doesn’t give a fuck.
This is (part of) why this whole AI/LLM topic makes me so sad and angry: Many people in tech are such a disappointment. You’re smart and intelligent, but you don’t give a fuck about anything. “It’s just a tool.”
@david@daiwei.me Thank you 🙏
@david@daiwei.me Everyday, which is why we love him. 😁

@david@daiwei.me Yeah, the world is quick in inventing a better idiot. :-D
Went 0-for-3 tonight, first time in a while. I was doing well both of the first two games, but the 3rd game… Well, the less said the better.
For next week, I guess it’s time for the return of Chatterfang and another Night of 1000 Squirrels.
Just remember, they brought it on themselves…
For this special International #Caturday, here’s some pics of Emperor Maximilian I posing on his cat tree. #cats

@david@daiwei.me Also if you wouldn’t mind writing up an Issue for the image/upload problem too, that would be great 👍 I still haven’t solved it properly, but I’ll try to do so today. There’s also an issue uploading images via the yarnd API path from the Twtxt App too, which I can replicate with basically any photo from my iPhone’s Photo gallery hmm 🤔
@david@daiwei.me Are you able to describe this bug as an Issue in the Gitea Issue Tracker such that it can be reproduced and fixed? 🙏
@david@daiwei.me Absolutely insane! For almost all the tools I always need two hands for sure. I can’t imagine using just a single one. And then his stuff turns out 100 times better than I could ever do.
There are advantages with just a single hand, though. I cut myself in the finger with scissors earlier. How stupid is that! :-D
@GabesArcade@gabesarcade.com Thanks!
I can’t claim the art (that came from https://www.charlesgeart.com/projects/3qKQqg), but I think it makes for a slick design overall.
