My "production stuff":
- https://github.com/festivus-es/festivus - public holidays calendars for Spanish cities
- https://github.com/remote-es/remotes - companies hiring in Spain for remote positions
Usable WIPs:
- https://alexpdp7.github.io/selfhostwatch/ - track self-hosting package updates (such as YunoHost)
- https://github.com/alexpdp7/ubpkg/ - package manager for "upstream binaries"
- https://github.com/alexpdp7/termflux - Miniflux terminal client
RE: https://hachyderm.io/@fasterthanlime/115730529166857536
For a little bit of historical context: the GitHiub Actions Runner is a fork of the Azure Pipelines Agent. The back-end infrastructure is similar. Azure Pipelines had some nice features that GitHub lacks, such as the ability to trivially connect an Azure Scale Set to dynamically control runners, but it also charged you for self-hosted and hosted runners.
The simpler (and cheaper) pricing was a big part of the reason that even internal teams moved off Azure Pipelines and onto GitHub.
GitHub Actions charging per build minute for *self-hosted-runners*? Shit's about to hit the fan lol
Self-hosted GitHub Runners were too good to be true. One of my main reasons to defend GitHub usage is gone. https://github.blog/changelog/2025-12-16-coming-soon-simpler-pricing-and-a-better-experience-for-github-actions/
It has been zero (0) days since trying to use my Google Titan security key with Google Chrome to access Google Meet has locked me out of a therapy call because the "device is not supported".
As a security nerd I really, really want to be on board with extensive 2FA and passkeys, but as an actual human being who is constantly getting locked out of their accounts because of totally inscrutable 2FA errors, I honestly want to go back to Just Long Passwords, Please.
@technomancy @aphyr this is one of my obsessions as well. Let me talk to you about Nextcloud.
I started to create a "package tracker" for self-hosting solutions. I got it working for YunoHost (it produces a website that shows the timeline of app releases vs. YunoHost package releases), because I think making self-hosting easier is a very good objective.
@aphyr after swearing off being a sysadmin for like a decade and then relapsing a couple years ago I've really been surprised how much it varies from one service to another; like the overhead of hosting soju or gotosocial is pretty close to zero but some bigger web apps can be a real headache
Going to all the effort to MITM an Android app and then discovering it's just a webview and I can just get everything I need from Chrome devtools
IncusOS lifted three weeks ago the main limitation I found in my initial exploration: the first ZFS pool can only use one drive, which made using the cheapest Hetzner servers a pain.
It is still limited compared to Proxmox; Proxmox claims to handle any drive failure easily, IncusOS recovers easily from failure of the "B" drive, but if the "A" drive fails, you need to install IncusOS to the new "A" drive.
Incus is amazing and I'm seriously considering IncusOS for my next iteration.
I started up Zoom this morning and it gave me the message
"It looks like we are unable to connect. Please check your network connection and try again."
But my network connection was fine. The problem was at Zoom's end, or more precisely, Cloudflare's. (And it seems OK now.)
I'm beginning to be annoyed by this reflexive "please check _your_ network connection" coda in these messages. What it is, is victim blaming. And possibly gaslighting too. _Their_ network connection went wrong, and their immediate response is to tell all of us users that _we_ must have done something wrong. It makes us all do lots of pointless work checking things that don't need checking, and it probably makes half of us feel inadequate when we can't find any problem.
If you're _going_ to advise users to check their own network connection, take reasonable steps first to ensure the problem really does look like being at the local end. Try pinging a few other independently run well-known sites; try some DNS lookups; if you can't do _anything_, suggest the user checks their connection, but if the rest of that stuff works and only your own server can't be reached, maybe redirect to your application's status webpage instead?
Sweet next year letsencrypt will support a persisting DNS record so these tools don’t need access to DNS for renewal
„The features matter a lot less than the people who are using the platform. […]
It can sometimes be a bit misleading when you get a lot of ideas and feature requests in a community, and the conversations become, ‘We definitely need feature X to grow because that’s what’s stopping people from using the platform.‘ While that’s true in some cases, the sad reality is that any flaw can be overlooked as long as the people you want to reach are there.“
This feels true for #Conversations_im as well.
Even more insidious: LLM editing & "vibe coding" is itself gatekeeping! 100%!
It's telling people they're too weak-minded to learn how to program and accomplish meaningful work using their own brains, so they need Big Tech to (expensively) do it for them! In addition, it means Fancy Clever 10X Programmers (lol) can *avoid* making programming a whole hell of a lot easier because that notion "doesn't matter" anymore!
It's all so completely backwards and absurd! @sue https://glasgow.social/@sue/115633253930152970
Hello, computer.
Leonard Nimoy's Star Trek IV: The Voyage Home (aka The One With the Whales!) was released 39 years ago today.
One of the most popular Trek films, the Whale Movie is indeed one of my fav. Fresh, funny, with a fine environmental message, it completes an overall successful trilogy.
@ripienaar sometimes I think of standardizing some JSON-in/JSON-out idempotent executable API for managing resources. Terraform, Puppet... many do this, but it's unfortunate everything is an isolated ecosystem.
Separating the resource managers from the "orchestration" part would be awesome.
And likely adapters for existing Puppet modules or Terraform providers could be built.
(I'd also love to $ firefox-config <config.json and stuff like that.)
I use Python mostly because it doesn't get in my way nor bothers me rather than because I like it.
I use Rust mostly because I like it, although it tends to get in my way and bother me.
Django's built-in admin is powerful, but it's essentially a separate framework within Django. After attempting to modernize django-admin2, I realized we needed a fresh approach: an admin interface that works like the rest of Django, built on generic CBVs, plugins, and view factories. Meet Django Admin Deux: a proof-of-concept admin where CRUD operations are just actions, knowledge transfers both ways, and everything feels like Django.
https://emma.has-a.blog/articles/django-admin-deux-bringing-admin-back-to-django.html
@masek I think this is actually *useful*, so I thought maybe it's worth capturing:
https://github.com/alexpdp7/alexpdp7/blob/master/misc/greek-task-list.md
Maybe you could publish it under your authorship?
Otherwise, I might later scour the replies to extend it, giving attribution.
In any case, I have added it to my https://github.com/alexpdp7/alexpdp7/blob/master/INTERESTING_ARTICLES.org list, thanks!
Here's a thing I wrote last month: jwzsheet.
It is a small and self-contained PHP and JavaScript library for generating HTML tables of spreadsheet-like reports, including arithmetically-computed cell values.
"I am not going to write a spreadsheet", I kept saying to myself, "that's stupid."
"Ok, maybe just a little bit of a spreadsheet. This far no farther."
"Ok, maybe just a little bit more."
As the song says, "I tell myself I will not go, even as a drive there."
Very excited to announce the general availability of #IncusOS today, an immutable OS image specifically designed to run #Incus!
https://discuss.linuxcontainers.org/t/announcing-incusos/25139
At work, I set up some development things with Docker because I suspected a few components would not support Podman.
I removed one of those components recently, so today I decided to test using Podman.
I had to activate the Podman socket (not a fan), but mostly everything worked; just needed small patches and documentation.
And this solved a few problems automatically!
I think we overuse containers, so try to make things work without containers. But if you need them, try Podman first.
@david_chisnall wait, what? Is it possible to do some kind of nice data entry in Jupyter? Like if you could create some of them dataframes by editing a grid in Jupyter... I could see it, yes! I'd never thought of this...
I've seen a couple of Jupyter alternatives that seem to fix some of the annoyances I perceive, perhaps it's worth playing with this for a bit.
Because of the complexity of its pronouns, the Vietnamese translation adds an extra layer of depth to the otherwise shallow dialogue of the Star Wars original trilogy, which I watched on TV in Vietnam.
People speak to droids with the pronouns used to speak to pets or farm animals. Droids address people as professional superiors.
Droids speak to each other like they are siblings.
Vader speaks to everyone (except the emperor and Tarkin) as an arrogant superior addressing an underling.
@alexhall I learned Nagios on a quite big company with large enterprise customers, but yeah, I know what you mean. You can use Grafana on top of anything (I've done that with Nagios), but the industry standard part... although I expect that a ton of Fortune 500 companies are likely using traditional monitoring tools... if you're getting dragged into Prometheus and such, well, it sucks, but if they ask for it...
@alexhall it's very easy to go overboard with monitoring if you don't have very clear (and modest, actionable) objectives. I've seen many complex dashboards require a lot of effort, only to no one to look at them; or alerting setups that are so noisy they generate more issues than they solve.
It's hard to give good pointers without being deep in your situation. I'd advise a lot "what's the smallest things that can get me value" and iterate, but even that doesn't always work.