James
@james@jvalleroy.fbx.one
I think this article makes some good points. And makes it clear why physics is not a good substitute for philosophy.
New-ish blog post: Adventures of a YAML engineer
https://blog.legoktm.com/2025/08/28/adventures-of-a-yaml-engineer.html
(I actually wrote this back in May and never published it...)
I mostly wanted to brag about a bit of YAML code I wrote back in March for #SecureDrop's completed migration to Ubuntu Noble that I neglected to mention in the blog post explaining the technical details. Yes, #YAML, is a programming language.
I didn't expect Google to wage war against general-purpose computing itself.
We have custom ROMs, but how long before Google decides that the AOSP doesn't have to be open source anymore?
It's already quite a struggle to run the essentials like banking and cash transfer apps without Google Play Services. A new update might drop at anytime and your app stops working. Some apps won't let you use the old working version for security reasons.
Today, I met a FreedomBox for Villages volunteer, Satya at a local conference. It was pleasant surprise to know that they have recently deployed a community Wi-Fi network in a remote island village in the Narmada river that barely has cellular phone signals. The village only has an elementary school (until class 4), so the main thing they needed to provide was Moodle with some K-12 educational content.
Another non-profit might set up satellite Internet in the near future.
Gleam is an interesting new functional programming language. It is an ML-family language with syntax very similar to Rust, but it's not a replacement.
If you like Rust and don't like Go (or Elixir's Ruby syntax), Gleam might be worth considering for I/O bound applications needing high concurrency.
Gleam can also replace Elm on the browser. Code written in Gleam is apparently 30% faster than hand-written JavaScript.
I bought an Android TV 4 years ago. Only today I had a working idea to get rid of ads on it.
Google's launcher is set as the default. It shows ads at the top which considerably affects the TV's performance. It also deceptively keeps showing titles from the Play Store as if they are available from one of your installed apps.
So, just get another launcher. You can install one from the Play Store and set it as default.
No Google Launcher, no ads.
I don’t know #Clojure sufficiently to judge the benefits of its typing system.
But when it comes to its culture of forward-and-backward stability, as someone who has often complained about developers introducing breaking changes just because they like something to have a different name, I can definitely relate to these words:
Why are we renaming everything all the time?
Once you notice this trend, it’s impossible to un-see. We get records out of the database, and what’s the first thing we do? Rename its fields. We then run it through several transformation steps which will invariable rename them again. We then put it on the wire as JSON, and, of course, that requires that we rename them again. We then load them in our SPA and, well the names we got off the wire certainly won’t do. Best rename them one more time.
It’s insanity, and yet it is the world we created.
https://git.sr.ht/~jvalleroy/lister
It's a TUI and CLI program to manage a list of items in a text file.
After switching to Neovim (no AI plugins this time), I feel like the joy of programming is slowly returning.
LLMs are like energy vampires. They suck the joy out of everything.
I started using GitHub Copilot for work to generate both test and production code in January.
Since the refactoring work it was generating for me was too much, I stopped using it for production code a month ago.
It keeps creating test files in the wrong directories and breaks half the scripts in the repository (not consistently though 🤦♂️). Yesterday, this got pushed to the main branch and broke scripts for everybody.
The day has finally arrived! I've completely given up on AI-generated code.
I have one prediction for 2025 that I am most confident about.
2025 will be the hottest year on record (since 1850), just like the two years before it.
New blog post: Three years of #SecureDrop
https://blog.legoktm.com/2025/01/31/three-years-of-securedrop.html
This is the longest I've ever held the same position at a job, so a few notes on what I've been up to over the past year and what I enjoy.
MaggieAppleton/digital-gardeners: Resources, links, projects, and ideas for gardeners tending their digital notes on the public interwebs
Using Python uv tool as a replacement for Poetry for a small Python utility I'm writing. It feels a lot like Rust's Cargo.
All that I can say for now is that it is certainly a better experience than setting up a virtualenv manually.
I am writing this proprietary tool for a team of JavaScript developers. I think they will feel that it is just as easy to use as npm/yarn or whatever is the new hotness this week.
Problems with Free and Open Source Software
https://njoseph.me/blog/posts/foss-problems/
My last blog post for September. After not writing any blog posts for 4 years, I wrote 4 in one month!
New blog post!
Using small AI tools on Debian GNU/Linux
https://njoseph.me/blog/posts/small-ai-tools-debian/
I am using the word #AI as it is meant to be used, as click-bait. 😉
I have started quoting liberally in my linkblog (subscribe via RSS).
Earlier, I was only writing my own summary or opinion of the subject, but quoting adds more context. This is inspired by the writing style of Pixel Envy blog. https://pxlnv.com
New Debian Developers and Maintainers (May and June 2024) https://bits.debian.org/2024/07/new-developers-2024-06.html
Today's threads (a thread)
Inside: The true, tactical significance of Project 2025; and more!
Archived at: https://pluralistic.net/2024/07/14/fracture-lines/
1/
FreedomBox 24.14 has been released! This one adds a new "Automatic repair" option to the Diagnostics page. When enabled, it will attempt to fix some issues that cause diagnostics to fail.
https://discuss.freedombox.org/t/freedombox-24-14-released/3143
FreedomBox 24.6 released to Debian (unstable) with several fixes related to the setup, uninstall, and backup/restore for Wordpress and Zoph apps.
https://discuss.freedombox.org/t/freedombox-24-6-released/2982