@movq@www.uninformativ.de https://movq.de/blog/postings/2026-08-05/0/POSTING-en.html Very interesting! I basically never analyze binary files, but this were some great thoughts on that subject. I hope to remember them when I find myself in the situation to look at binaries more closely.
@movq@www.uninformativ.de Regarding https://movq.de/blog/postings/2026-08-16/0/POSTING-en.html, how often do you edit the first commit? A good mate does the same for at least a whole decade, probably more. I never found myself in this situation. Even though I mess with commits on a daily basis. Just never the first one so far. 8-)
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()
I am sooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOoooooooooooooooo tired of “fast-moving” software. ruff changed a ton of stuff and now all my code bases “need fixing”. Blah.
And SemVer is worth nothing if your 4 year old program with over 16’000 commits is still at “version 0.x”. Blah!
Everything is horrible.
Oh good 😅
2026/07/19 02:55:52 sync-reaper: observe-only pass — 1152 namespaces, 6 anchored, 1094 undatable, 0 idle candidate(s), 0 reaped
Does this seem right to you so far @david@daiwei.me ? 🤔
2026/07/18 02:55:52 sync-reaper: observe-only pass — 1145 namespaces, 3 anchored, 1089 undatable, 0 idle candidate(s), 0 reaped
So far only 3 users of the Twtxt App have achieved their device settings with a recovery key? 🔑
I really think I should go back to Java.
Writing programs in Python is so exhausting. I want a compiler and I want static typing. No, linters and type checkers and IDEs are not good enough. Compilers catch way more errors in advance.
Rust is also exhausting. They’re constantly adding language features and, at the same time, the runtime library remains tiny and you need 3rd party libraries for everything. Many of those are still at version 0.x (SemVer!) and you can’t rely on anything. Often times, you need the latest Rust nightly compiler.
Go is … I don’t like it. And huge binaries.
I like C as a language, but it’s too fragile. I want to have a proper HashMap every now and then.
None of the above have good GUI libraries, at least not on Linux.
And then there’s Java. This is my fractal renderer that I wrote over 17 years ago:
https://movq.de/v/fcd3c4e557/vid-1784121825.mp4
It’s fast. It has a GUI with custom widgets and those weren’t even hard to make. It still works without changing a single line of code. The source code files have timestamps from 2009 and I just noticed that the JAR file I’m using in the video was compiled in 2010.
Java as a language is relatively easy to learn and to master. There are few surprises. The source code organization with packages is good. Java API docs are clear and well written.
The JVM ramp-up times have improved considerably:
https://movq.de/v/e7314e521e/vid-1784121998.mp4
This isn’t like the Dark Ages anymore. Might even be usable for some CLI tools.
The only thing where Java really sucks is anything close-ish to the kernel. Try issuing an ioctl() … I couldn’t have made my TUI framework in Java, but then again, I wouldn’t have needed to because Swing already exists and it just works.
@balloon-fu-sen@tw.fus.f5.si Thank you for reaching out 👌 I had alraedy done so via Email too a few days back and she upgraded her Pod to yarnd/0.16.x 🎉
Linux 0.11 rewritten in idiomatic Rust, boots in QEMU | Hacker News Fark’n hell, this is some ~50k SLOC of Rust code compared to the original ~8k SLOC of C of the original this was based off of. No doubt this was “vibe coded” for sure, there is no way a human can write 50k SLOC, not in a reasonable timeframe anyway 😅
Hurray, I can now press gg instead of g to go to the top in tt. Much better! :-) Other multi-key combinations are also easily possible now.
I should probably write a real article about this at some point, but here we go. The only downside with my new key binding system is that it breaks tview’s established pattern. You’ve got an InputHandler(), that is implemented using WrapInputHandler(…). It typically then directly implements the switching logic depending on the key press. Something like this:
func (w *Widget) InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
// WrapInputHandler allows for intercepting key events with SetInputCapture(…)
// from the outside for customization. This handles the default key bindings.
return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
switch event.Key() {
case tcell.KeyRune:
if event.Modifiers() == tcell.ModNone {
switch event.Rune() {
case 'k':
w.scrollUp()
return // we already handled the event, stop processing
case 'j':
w.scrollDown()
return
}
}
}
// We didn't handle the key event. Maybe the parent
// widget knows what to do with it.
if handler := w.parent.InputHandler(); handler != nil {
handler(event, setFocus)
}
})
}
From the outside, you can intercept and either stop or continue the widget’s original key handling with a potentially rewritten key event using SetInputCapture(…):
w := NewWidget()
// customized or additional key bindings
w.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey {
switch event.Key() {
case tcell.KeyUp:
// Rewrite the event, so the "cursor up" key is an alias
// for the vim key binding "k", that is handled by the
// wrapped input handler above. (I know, I know, this is a
// completely unrealistic example, why would anyone use
// cursor keys when there are vim key bindings available?!)
return tcell.NewEventKey(tcell.KeyRune, 'k', tcell.ModNone)
case tcell.KeyRune:
if event.Modifiers() == tcell.ModNone {
switch event.Rune() {
case 'q':
app.Stop()
// we already handled the event, do not pass it
// to the wrapped input handler above
return nil
case 'r':
toggleMessageReadStatus()
return nil
}
}
}
// we didn't handle the event, pass it to the wrapped
// input handler above
return event
}
Since they all expect a single key, I’ve noticed that using multiple dedicated KeyBindings of mine on these different levels kinda breaks multi-key handling with common prefixes. The outer-most KeyBinding captures the prefix, but it can’t transfer it to the inner one if not handled by the outer one. At least not without some more (potentially ugly) changes. So, I now have to work with just a single KeyBindings object for the entire widget chain (if it consists of multiple other widgets or the regular input handler and input capture are in the game). The outside needs to register all its key bind customizations or extensions at the same level that the original widget handles its default ones. Doable by exposing the widget’s KeyBindings instance, but not pretty. You always have to keep this in mind.
With the KeyBindings, it will look like that:
type Widget struct {
parent tview.Primitive
// make it available to children or the outside either by
// direct field access or by providing a getter method
KeyBindings *bind.KeyBindings
}
func NewWidget() *Widget {
w := &Widget{KeyBindings: &bind.KeyBindings{}}
w.KeyBindings. // default key bindings
Bind0(bind.KeySequence('k', w.scrollUp).
Bind0(bind.KeySequence('j', w.scrollDown)
return w
}
func (w *Widget) InputHandler() InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
// also note the missing support for focus transfer at the moment
event = w.KeyBindings.Capture(event)
if event == nil {
return
}
if handler := w.parent.InputHandler(); handler != nil {
handler(event, setFocus)
}
}
}
And then from the outside, or in a child widget:
w := NewWidget()
w.KeyBindings. // additional or customized key bindings
Bind1(bind.KeySequence(tcell.KeyUp), func(*tcell.EventKey) *tcell.EventKey {
return tcell.NewEventKey(tcell.KeyRune, 'k', tcell.ModNone)
}).
Bind0(bind.KeySequence('q'), app.Stop).
Bind0(bind.KeySequence('r'), toggleMessageReadStatus)
When directly working with tview primitives that are not part of custom widget implementations, the following works well so far:
textView := tview.NewTextView().
SetWordWrap(true).
SetText("…")
SetScrollable(true)
textView.SetInputCapture((&bind.KeyBindings{}).
Bind0(bind.KeySequence('q'), app.Stop).
Bind1(bind.KeySequence('g', 'g'), func(*tcell.EventKey) *tcell.EventKey {
return tcell.NewEventKey(tcell.KeyHome, 0, tcell.ModNone)
}).
Capture)
I need to sleep on this some more.
Also, writing very long messages like this one is really not all that fun in tt’s editor. I should absolutely provide a way to shell out to vim.
(Took me about one and a half hours to compose, holy crap. But not only because of not using vim. Although, that might have saved me a quarter hour or so for sure. Proof-reading this message also uncovered quite a few bugs in my real documentation. So, that’s a big win!) Good night!
🥳 Finally! After nearly 4 years, yarnd v0.16.0 “Silver Sojourner” is out! 🚀 Twt Hash v2, SQLite FTS5 search, HTMX-powered UI, first-time setup wizard and literally hundreds of bug fixes 🐛
Release notes: https://git.mills.io/yarnsocial/yarn/releases/tag/0.16.0
Upgrading is fully automatic — the Twt Hash v2 migration re-fetches all feeds on first start, so expect the first cycle to be a bit heavier. Images on Docker Hub as prologic/yarnd:0.16.0 👌
cc @kat@yarn.girlonthemoon.xyz @abucci@anthony.buc.ci @shinyoukai@yume.laidback.moe @eldersnake@we.loveprivacy.club 🙏
There you go: https://movq.de/blog/postings/2026-07-10/0/POSTING-en.html
@GabesArcade@gabesarcade.com The no-JS part is one thing, but you also have to disable the (nowadays common) forced-HTTP-to-HTTPS-redirect, because those old browsers can’t do modern crypto. And make sure that your webserver serves the correct page even if no Host header is sent by the client. And don’t even think about serving UTF-8 or even just putting utf-8 in the content type. 😅 And for the JPEG thumbnails I pass a special flag to ImageMagick so that IBM Web Explorer from OS/2 won’t trip. 🤣 And always use link rel="stylesheet" for CSS, because some browsers render inlined CSS as literal text. And … probably more that I forgot by now. 😂
@david@daiwei.me Not sure, actually. Let’s see. Those are the ones where I still have the original disks (or have bought them on eBay again):
- SuSE Linux 6.4 (it’s a massive 7 CD distro with a huge manual, best thing ever)
- OS/2 2.1
- OS/2 Warp 3 (red and blue spine because
$reasons)
- OS/2 Warp 4
- PC DOS 7
- MS-DOS 6.22
- Windows 3.1
- Windows for Workgroups 3.11
- Windows 95 C
- Windows 98
- Windows NT 4 Workstation (still in the mail, though 😅)
- Windows 2000
- Windows XP Professional (last Windows I ever used on my private PCs)
(Plus a few “classic” office products as can be seen here: https://movq.de/blog/postings/2024-05-23/0/POSTING-en.html )
Set/GetDisabled(…) and PasteHandler(), tt starts up fine and seems to work without issues.
After updating to tview 0.42.0, I also sadly noticed, that the tview.Modal now clears the background and doesn’t simply draw over the already present widget. So, I decided to write my own Dialog widget. This endeavor lead me down the path to actually bring back a custom Button implementation, too. When the button is focused, it surrounds the button text with [ and ]. When not in focus, the brackets are removed. Much better than before (https://twtxt.net/conv/qx3vz4a):
I also use the same buttons in the compose view, too.
@movq@www.uninformativ.de https://movq.de/blog/postings/2026-07-03/0/POSTING-en.html Oh yeah, the toolbar handles. You could actually move the toolbars around and sometimes even customize them. I have no evidence, but to me it feels like a lot of programs don’t allow that anymore nowadays.
The mentioned go.{mod,sum} change is already part of tview 0.42.0. After implementing Set/GetDisabled(…) and PasteHandler(), tt starts up fine and seems to work without issues.
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
@movq@www.uninformativ.de Oh my goodness, what an adventure, hahaha! :-) https://movq.de/blog/postings/2026-06-25/0/POSTING-en.html
@lyse@lyse.isobeef.org Mhm, yeah, I also think I like date := time.Date(2026, time.June, 19, /**/ 17, 0, 0, 0, time.UTC) the most. 🤔 (My only gripe with this is that it isn’t obvious whether the third 0 is milli-, micro- or nanoseconds. These days it’s probably nanoseconds, but you never know.)
@movq@www.uninformativ.de Yeah, that would also be fine with me. I certainly do like the “arbitrary” in your comment.
While writing the article, I also thought about something like that:
date := time.Date(2026, 6, 19,
17, 0, 0, 0, time.UTC)
Or possibly:
date := time.Date(
2026, 6, 19,
17, 0, 0, 0, time.UTC,
)
But it’s four lines for a damn timestamp. I also contemplated whether a comment acting as a separator is all that’s needed:
date := time.Date(2026, 6, 19, /**/ 17, 0, 0, 0, time.UTC)
I might like that the most. Not entirely sure yet. It kinda feels like a hack, but still a little elegant. Add your comment on top and we’re golden. Maybe?
I deliberately excluded them as this only distracted from the points I wanted to make. And I also realized that this example was just not ideal at all. Perhaps I should add them nevertheless?
If I ever invented a programming language, a much more human readable timestamp representation of some sort, RFC 3339 or very close to that would be part of that language. Something along the lines of /pattern/ for regexes in certain languages.
@lyse@lyse.isobeef.org Oh wow, we’re talking about such a detailed level. 🤔
I agree with most of what you said.
I probably would have written it like this:
// Arbitrary reference date.
// Y m d H M S nano
date := time.Date(2026, 6, 19, 17, 0, 0, 0, time.UTC)
Would this be better or worse? 😅
@lyse@lyse.isobeef.org It was before my time as well. 3.0 was my first. 😅
But it’s Windows, it doesn’t have a place in my heart.
The older I get, the more I’m glorifying anything pre XP. 😅 But that’s only because everything today is so horrible.
Well, not anything pre XP. 3.0 or newer would be nice, because Windows 2.x was still pretty bare bones:
(OS/2 was great, though, except for the lack of a good file manager.)
@movq@www.uninformativ.de Regarding https://movq.de/blog/postings/2026-06-16/0/POSTING-en.html:
In my opinion, the KDE 3.5 menu was organized way better than the Windows Start menu. Granted, a typical KDE installation had much more applications to offer, too. So, there was more need to get it right. And it probably was also later in time.
Isn’t Notepad++ and Python cheating!? :-D
Crazy story on the clock’s seconds. I never heard of that before. Neat.
Yeah, UI these days is horrible. (That’s why my own TUIs suck, too!)
Zinnia: A modular 64-bit Unix-like kernel written in Rust
Article URL: https://zinnia-os.org/
Comments URL: https://news.ycombinator.com/item?id=48532705
Points: 5
# Comments: 0 ⌘ Read more
Chaosnet
Article URL: https://tumbleweed.nu/r/lm-3/uv/amber.html
Comments URL: https://news.ycombinator.com/item?id=48531449
Points: 3
# Comments: 0 ⌘ Read more
Rome Fell and Nobody Noticed
Article URL: https://friedkielbasa.substack.com/p/rome-fell-and-nobody-noticed
Comments URL: https://news.ycombinator.com/item?id=48530841
Points: 6
# Comments: 0 ⌘ Read more
A clear fishing wire is tied around the island of Manhattan
Article URL: https://old.reddit.com/r/Damnthatsinteresting/comments/boea4v/a_clear_fishing_wire_is_tied_around_the_island_of/
Comments URL: https://news.ycombinator.com/item?id=48530290
Points: 13
# Comments: 0 ⌘ Read more
Show HN: Kage – Shadow any website to a single binary for offline viewing
Article URL: https://github.com/tamnd/kage
Comments URL: https://news.ycombinator.com/item?id=48529990
Points: 5
# Comments: 0 ⌘ Read more
Linux 7.1
Article URL: https://lore.kernel.org/lkml/CAHk-=wi4BF4bMhZNZ1tqs+FFV4OuZRe3ZqdWB+LxRLmRweUzQw@mail.gmail.com/T/#u
Comments URL: https://news.ycombinator.com/item?id=48528729
Points: 16
# Comments: 0 ⌘ Read more
Measles surge in Utah sparks fears US could undo decades of progress
Article URL: https://www.dailymail.com/news/article-15897903/measles-surge-utah-US-elimination-status.html
Comments URL: https://news.ycombinator.com/item?id=48528025
Points: 14
# Comments: 0 ⌘ Read more
Dangerous hormone-disrupting chemicals found in US breast milk samples
Article URL: https://www.theguardian.com/us-news/2026/jun/14/breast-milk-research-chemicals
Comments URL: https://news.ycombinator.com/item?id=48527731
Points: 5
# Comments: 0 ⌘ Read more
A ‘cold blob’ in the Atlantic could be a sign of AMOC shutdown – CNN
Article URL: https://www.cnn.com/2026/06/12/climate/cold-blob-atlantic-amoc-ocean-circulation
Comments URL: https://news.ycombinator.com/item?id=48527658
Points: 13
# Comments: 0 ⌘ Read more
Conversations with a six-year-old on functional programming (2018)
Article URL: https://byorgey.wordpress.com/2018/05/06/conversations-with-a-six-year-old-on-functional-programming/
Comments URL: https://news.ycombinator.com/item?id=48527377
Points: 4
# Comments: 0 ⌘ Read more
Caddy compatibility for zeroserve: 3x throughput and 70% lower latency
Article URL: https://su3.io/posts/zeroserve-caddy-compat
Comments URL: https://news.ycombinator.com/item?id=48527145
Points: 7
# Comments: 0 ⌘ Read more
Arch Linux AUR Hit by Another Wave of Now More Sophisticated Malware Attack
Article URL: https://www.phoronix.com/news/Arch-Linux-AUR-More-Malware
Comments URL: https://news.ycombinator.com/item?id=48527040
Points: 8
# Comments: 0 ⌘ Read more
@movq@www.uninformativ.de Yes. The author tries hard not to break existing code, but apparently he did this time. In his defense, it’s not an official release, I just updated to master. Which is exactly what I always did in the past as there are no real versions (I even think that in one ticket he wrote years ago that master is always stable). That has finally changed a year ago, though: https://github.com/rivo/tview/releases/tag/v0.42.0
How to Earn a Billion Dollars
Article URL: https://paulgraham.com/earn.html
Comments URL: https://news.ycombinator.com/item?id=48526360
Points: 4
# Comments: 0 ⌘ Read more
tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up tt's cache. This is rather tidious:
@lyse@lyse.isobeef.org Is it this one? https://github.com/rivo/tview It’s almost 10 years old but hasn’t seen a 1.0.0 release yet? 🤔
@movq@www.uninformativ.de You may want to include another antipattern to avoid in your article:
- bump $same_dependency from 1.0.0 to 1.0.1
- bump $same_dependency from 1.0.1 to 1.0.2
- bump $same_dependency from 1.0.2 to 1.1.0
- bump $same_dependency from 1.1.0 to 1.2.0
Socceroos stun the world with epic win
After weeks of criticism, the Socceroos produce an unbelievable 2-0 win over Turkiye. ⌘ Read more
Aussie fans celebrate back home
Australian football fans erupt across the country as they watch the Socceroos’ 2-0 win from afar. ⌘ Read more
Socceroos stun Turkey with famous World Cup win
The loftiest dreams of the Socceroos were realised with a stunning 2-0 victory in Vancouver. ⌘ Read more
Tribblix: the retro illumos distribution
Article URL: http://tribblix.org/
Comments URL: https://news.ycombinator.com/item?id=48524434
Points: 6
# Comments: 0 ⌘ Read more
The Redistribution of Housing Wealth Caused by Rent Control [pdf]
Article URL: https://www.rhawa.org/file/secure/shs-the-impact-of-rent-control-in-st-paul.pdf
Comments URL: https://news.ycombinator.com/item?id=48523773
Points: 9
# Comments: 0 ⌘ Read more
Building a serial and VGA “everything console”
Article URL: http://oldvcr.blogspot.com/2026/06/building-serial-and-vga-everything.html
Comments URL: https://news.ycombinator.com/item?id=48523615
Points: 3
# Comments: 0 ⌘ Read more
Apt Encounters of the Third Kind
Article URL: https://igor-blue.github.io/2021/03/24/apt1.html
Comments URL: https://news.ycombinator.com/item?id=48523550
Points: 4
# Comments: 0 ⌘ Read more
4 things to know about the new sunscreen ingredient the FDA approved
Article URL: https://www.npr.org/2026/06/13/nx-s1-5856385/sunscreen-skin-protection-bemotrizinol
Comments URL: https://news.ycombinator.com/item?id=48523203
Points: 7
# Comments: 0 ⌘ Read more
FDA OKs first new sunscreen ingredient in more than 25 years
Article URL: https://apnews.com/article/sunscreen-fda-bemotrizinol-ingredient-uva-protection-9b9c7e04b418b3c9c1fbaa7ddabade25
Comments URL: https://news.ycombinator.com/item?id=48523165
Points: 6
# Comments: 0 ⌘ Read more
Running DOS on Behringers DDX3216 with a DIY x86-Bios from Scratch
Article URL: https://chrisdevblog.com/2026/06/08/running-dos-on-behringers-ddx3216-using-a-diy-x86-bios/
Comments URL: https://news.ycombinator.com/item?id=48520080
Points: 5
# Comments: 0 ⌘ Read more
AI Coding at Home Without Going Broke
Article URL: https://stephen.bochinski.dev/blog/2026/06/13/ai-coding-at-home-without-going-broke/
Comments URL: https://news.ycombinator.com/item?id=48518969
Points: 3
# Comments: 0 ⌘ Read more
Introduction to the experience of rendering Arabic typography&its technical debt
Article URL: https://lr0.org/blog/p/arabic/
Comments URL: https://news.ycombinator.com/item?id=48516710
Points: 7
# Comments: 0 ⌘ Read more
Arch Linux Now Believes Malware Incident Under Control: More Than 1,500 Packages
Article URL: https://www.phoronix.com/news/Arch-Linux-AUR-More-Than-1500
Comments URL: https://news.ycombinator.com/item?id=48516379
Points: 6
# Comments: 0 ⌘ Read more
The Fable 5 Jailbreak Shows Why AI Guardrails Alone Are Not Enough
Article URL: https://www.agilehunt.com/blog/fable-5-jailbreak-ai-guardrails
Comments URL: https://news.ycombinator.com/item?id=48515344
Points: 3
# Comments: 0 ⌘ Read more
Israeli firm BlackCore suspected of meddling in New York and Scotland votes
Article URL: https://www.reuters.com/world/israeli-firm-blackcore-also-suspected-meddling-nyc-scotland-votes-french-2026-06-11/
Comments URL: https://news.ycombinator.com/item?id=48514560
Points: 9
# Comments: 0 ⌘ Read more
Leaving Mozilla
Article URL: https://blog.unitedheroes.net/5751
Comments URL: https://news.ycombinator.com/item?id=48513806
Points: 5
# Comments: 0 ⌘ Read more
There is a shadow hanging over this Fable thing
Article URL: https://12gramsofcarbon.com/p/tech-things-there-is-a-massive-shadow
Comments URL: https://news.ycombinator.com/item?id=48513536
Points: 6
# Comments: 0 ⌘ Read more
On CPU Physics and CPU Cycles
Article URL: https://6it.dev/blog/on-cpu-physics-and-cpu-cycles-80730
Comments URL: https://news.ycombinator.com/item?id=48513222
Points: 3
# Comments: 0 ⌘ Read more
Our response to the US ban on Fable 5 and Mythos 5
Article URL: https://isaacus.com/blog/our-response-to-the-us-ban-on-fable-5-and-mythos-5
Comments URL: https://news.ycombinator.com/item?id=48512915
Points: 4
# Comments: 0 ⌘ Read more
Reddit RSS feeds recent rate limiting and solution
Article URL: https://lapcatsoftware.com/articles/2026/6/3.html
Comments URL: https://news.ycombinator.com/item?id=48511663
Points: 3
# Comments: 0 ⌘ Read more
EV demand up 50% in France and Germany since Iran war
Article URL: https://www.reuters.com/business/renault-electric-vehicle-orders-have-surged-since-start-iran-war-says-ceo-2026-06-10/
Comments URL: https://news.ycombinator.com/item?id=48507986
Points: 26
# Comments: 0 ⌘ Read more
Cosmodial Sky Atlas
Article URL: https://killedbyapixel.github.io/Cosmodial/
Comments URL: https://news.ycombinator.com/item?id=48507571
Points: 4
# Comments: 0 ⌘ Read more
How to Setup a Local Coding Agent on macOS
Article URL: https://ikyle.me/blog/2026/how-to-setup-a-local-coding-agent-on-macos
Comments URL: https://news.ycombinator.com/item?id=48507020
Points: 4
# Comments: 0 ⌘ Read more
Why is there some sort of a scam website being advertised on HN?
https://news.ycombinator.com/item?id=48506575
Clearly seems like something dodgy and most like a scam, why would it be on the first page?
Comments URL: https://news.ycombinator.com/item?id=48506850
Points: 3
# Comments: 0 ⌘ Read more
New privacy frontier: Europe eyes crackdown on smart glasses
Article URL: https://www.politico.com/www.politico.eu/article/new-privacy-frontier-europe-eyes-crackdown-smart-glasses/
Comments URL: https://news.ycombinator.com/item?id=48506324
Points: 5
# Comments: 0 ⌘ Read more
Keygen.music
Article URL: https://keygen.music
Comments URL: https://news.ycombinator.com/item?id=48505561
Points: 5
# Comments: 0 ⌘ Read more
A Call to Action: Stop the FCC’s KYC Regime
Article URL: https://blog.lopp.net/call-to-action-stop-the-fcc-kyc-regime/
Comments URL: https://news.ycombinator.com/item?id=48504697
Points: 3
# Comments: 0 ⌘ Read more
WASI 0.3.0 Released
Article URL: https://github.com/WebAssembly/WASI/releases/tag/v0.3.0
Comments URL: https://news.ycombinator.com/item?id=48504063
Points: 15
# Comments: 0 ⌘ Read more
Hazel (YC W24) Is Hiring a Full Stack Engineer
Article URL: https://www.ycombinator.com/companies/hazel-2/jobs/3epPWgu-full-stack-engineer-ts-sci
Comments URL: https://news.ycombinator.com/item?id=48503717
Points: 0
# Comments: 0 ⌘ Read more
Maxproof
Article URL: https://arxiv.org/abs/2606.13473
Comments URL: https://news.ycombinator.com/item?id=48503014
Points: 10
# Comments: 0 ⌘ Read more
Ryanair dark UX patterns summer 2026 refresher
Article URL: https://blog.osull.com/2026/06/12/ryanair-dark-ux-patterns-summer-2026-refresher/
Comments URL: https://news.ycombinator.com/item?id=48502601
Points: 10
# Comments: 0 ⌘ Read more
Report on an Unidentified Space Station
Article URL: https://sseh.uchicago.edu/doc/roauss.htm
Comments URL: https://news.ycombinator.com/item?id=48501012
Points: 3
# Comments: 0 ⌘ Read more
Device Clock Generation
Article URL: https://zipcpu.com/blog/2025/12/17/devclk.html
Comments URL: https://news.ycombinator.com/item?id=48499890
Points: 5
# Comments: 0 ⌘ Read more
Nobody ever gets credit for fixing problems that never happened (2002) [pdf]
Article URL: https://web.mit.edu/nelsonr/www/Repenning=Sterman_CMR_su01_.pdf
Comments URL: https://news.ycombinator.com/item?id=48498385
Points: 3
# Comments: 0 ⌘ Read more
Biological Evolution and Information Acquisition
Article URL: https://www.construction-physics.com/p/biological-evolution-and-information
Comments URL: https://news.ycombinator.com/item?id=48497873
Points: 3
# Comments: 0 ⌘ Read more
If You Are Asking for Human Attention, Demonstrate Human Effort
Article URL: https://tombedor.dev/human-attention-and-human-effort/
Comments URL: https://news.ycombinator.com/item?id=48497609
Points: 16
# Comments: 0 ⌘ Read more
The unreasonable effectiveness of simple HTML
Article URL: https://shkspr.mobi/blog/2021/01/the-unreasonable-effectiveness-of-simple-html/
Comments URL: https://news.ycombinator.com/item?id=48497168
Points: 3
# Comments: 0 ⌘ Read more
Show HN: Boo – screen-style terminal multiplexer built on libghostty
Article URL: https://github.com/coder/boo
Comments URL: https://news.ycombinator.com/item?id=48496250
Points: 6
# Comments: 0 ⌘ Read more
Who Runs the Ransomware Group ‘The Gentlemen?’
Article URL: https://krebsonsecurity.com/2026/06/who-runs-the-ransomware-group-the-gentlemen/
Comments URL: https://news.ycombinator.com/item?id=48495197
Points: 7
# Comments: 0 ⌘ Read more
Israel’s Paid U.S. Influencer Network Exposed – – Imemc News
Article URL: https://imemc.org/article/israels-paid-u-s-influencer-network-exposed/
Comments URL: https://news.ycombinator.com/item?id=48493704
Points: 4
# Comments: 0 ⌘ Read more
Running Claude Code Offline on an M3 Pro with Qwen3.6
Article URL: https://har-ki.github.io/claude-code-sre-handbook/handbook/06-air-gapped/
Comments URL: https://news.ycombinator.com/item?id=48492579
Points: 4
# Comments: 0 ⌘ Read more
Nextcloud Hub 26 Spring: Built together, designed for the future
Article URL: https://nextcloud.com/blog/nextcloud-hub26-spring/
Comments URL: https://news.ycombinator.com/item?id=48490715
Points: 7
# Comments: 0 ⌘ Read more
MapComplete – Contibute to OpenStreetMaps
Article URL: https://mapcomplete.org/
Comments URL: https://news.ycombinator.com/item?id=48490532
Points: 5
# Comments: 0 ⌘ Read more
Core PPI up 9.6% annualized (0.8% MoM) in May
Article URL: https://www.bls.gov/news.release/ppi.nr0.htm
Comments URL: https://news.ycombinator.com/item?id=48489655
Points: 20
# Comments: 0 ⌘ Read more
Web Browsers on Video Game Consoles
Article URL: https://vale.rocks/posts/game-console-browsers
Comments URL: https://news.ycombinator.com/item?id=48487897
Points: 8
# Comments: 0 ⌘ Read more
Pokémon Go Scans Trained the Navigation Tech for Military Drones
Article URL: https://dronexl.co/2026/06/09/pokemon-go-scans-niantic-vantor-military-drone-navigation/
Comments URL: https://news.ycombinator.com/item?id=48487029
Points: 16
# Comments: 0 ⌘ Read more
Australia left reeling at 3-0
Australia were left reeling at 3-0 against a rampant Bangladesh in Mirpur. ⌘ Read more
Australia left reeling at 3-0
Australia were left reeling at 3-0 against a rampant Bangladesh in Mirpur. ⌘ Read more
OpenAI mulls slashing prices as it competes with Anthropic for users
Article URL: https://www.cnbc.com/2026/06/11/openai-mulls-slashing-prices-ahead-of-competition-from-anthropic-wsj.html
Comments URL: https://news.ycombinator.com/item?id=48486486
Points: 7
# Comments: 0 ⌘ Read more
Are insecure code completions in PyCharm a vulnerability?
Article URL: https://sethmlarson.dev/are-insecure-code-completions-a-vulnerability
Comments URL: https://news.ycombinator.com/item?id=48485160
Points: 5
# Comments: 0 ⌘ Read more
AI agent runs amok in Fedora and elsewhere
Article URL: https://lwn.net/SubscriberLink/1077035/c7e7c14fbd60fae9/
Comments URL: https://news.ycombinator.com/item?id=48484584
Points: 17
# Comments: 0 ⌘ Read more
Deficient executive control in transformer attention
Article URL: https://academic.oup.com/pnasnexus/article/5/6/pgag149/8698838
Comments URL: https://news.ycombinator.com/item?id=48484282
Points: 3
# Comments: 0 ⌘ Read more
Unix GC Remastered
Article URL: https://mohandacherir.github.io/Qdiv7/posts/unix_new_gc/
Comments URL: https://news.ycombinator.com/item?id=48483854
Points: 6
# Comments: 0 ⌘ Read more
US President says ‘I love the inflation’
Article URL: https://www.cnbc.com/2026/06/10/trump-inflation-cpi-iran-oil.html
Comments URL: https://news.ycombinator.com/item?id=48483445
Points: 6
# Comments: 0 ⌘ Read more
Organic foods are not healthier or pesticide free
Article URL: https://news.immunologic.org/p/organic-foods-are-not-healthieror
Comments URL: https://news.ycombinator.com/item?id=48482955
Points: 3
# Comments: 0 ⌘ Read more
What Is It Like to Be a Bat? [pdf]
Article URL: https://www.sas.upenn.edu/~cavitch/pdf-library/Nagel_Bat.pdf
Comments URL: https://news.ycombinator.com/item?id=48482293
Points: 6
# Comments: 0 ⌘ Read more
The Abundance Illusion
Article URL: https://www.carlyle.com/carlyle-compass/the-abundance-illusion
Comments URL: https://news.ycombinator.com/item?id=48481524
Points: 7
# Comments: 0 ⌘ Read more
The Dynamo and the Computer: The Modern Productivity Paradox (1989) [pdf]
https://gwern.net/doc/economics/automation/1989-david.pdf
Comments URL: https://news.ycombinator.com/item?id=48479996
Points: 5
# Comments: 0 ⌘ Read more
The Last Evolution, by John W Campbell Jr. (1932)
Article URL: https://www.gutenberg.org/files/27462/27462-h/27462-h.htm
Comments URL: https://news.ycombinator.com/item?id=48478285
Points: 3
# Comments: 0 ⌘ Read more