Skip to Content Skip to Navigation
Profile image for Álex Córcoles (coding)

Álex Córcoles (coding)

@coder@alex.femto.pub

This is the profile where I talk about coding and technology in English.

245 Posts Posts & Replies 57 Following 23 Followers Search
Pinned post
Edited 243d ago

Huh, a Git remote can have multiple URLs. This does not affect fetching/pulling, but pushes will push to all URLs.

I had been doing this manually like a barbarian.

git-scm.com/docs/git-config#Do

This week I realised that bundles are even more awesome than I thought. And I was a fan of them already!

git bundles are my favourite way to receive patches by email. They're very small; a single file can contain a whole series of commits, instead of having to cat-herd one attachment per patch (or worse, one _email_ per patch); they're so obviously binary that not even a really bad MUA is likely to "helpfully" do text processing on them, and a user isn't tempted to paste them into the message body instead of making them a proper attachment. Also, they explicitly state which existing commit the changes started from, which is helpful for handling conflicts, and for knowing what you expect the sender to have taken account of.

But this week I realised there's one more advantage: if the same commit appears in more than one bundle, it will be reliably recognised as identical. This is helpful when you're the one _sending_ the bundle.

Suppose I send someone 3 patches. Half an hour later I smite my forehead and realise I need to send one more. With 'git format-patch' I probably send just the extra patch, so that the recipient has to extract attachments from two emails and apply them in the right order. Or I send all 4 patches in email , and the recipient gets errors if they do the obvious thing with that email after they've already applied the patches from .

But with git bundles, I can send a bundle of all 4 commits in email , and it will do the right thing _regardless_ of whether the recipient had already pulled from the previous bundle in email !

Just got a year minimal subscription to sourcehut. Mostly to support their recent policy changes (totally unsurprising changes).

But also, because I have been toying with their excellent mailing list implementation for a small project.

sourcehut is an interesting project. Some stuff about it gives me pause, but on the whole it gets so many things right in surprising, daring and elegant ways.

Huh, I just saw that Fulham (English football team) has ClickHouse in their shirts.

I just guessed that you can put any commit you like in an interactive Git rebase "input file", and it works.

That was fun. Used it to replace some outdated commits that I had updated in different, newer branches.

Nearly half of the apps in the LG TV app store and close to a quarter for Samsung include residential proxy software:

krebsonsecurity.com/2026/07/fb

LG is taking action, at least:

krebsonsecurity.com/2026/07/lg

I think it's not difficult to guess what the following bash snippet outputs:

md5sum /proc/$$/environ ; export FOO=bar ; md5sum /proc/$$/environ ; FOO=qux; md5sum /proc/$$/environ

What's interesting is what happens if you put that inside bash -c '...'.

LMDB 1.0 is out, with some great improvements!

However, you should not upgrade blindly. The on-disk format is not compatible (opening 0.9 databases with 1.0 yields "File is not an LMDB file", which has already scared one PowerDNS user), and some programs (Postfix, Knot) have noticed that they needed to adjust API usage here and there.

Upgrade info/guide: www.lmdb.tech/doc/upgrading.ht

A warning about blindly upgrading: bugs.freebsd.org/bugzilla/show

So, enjoy LMDB 1.0 - responsibly!

personally i'm ok with AI techniques being less well known but there's a deeper thing going on here which is far more important IMO, because it's also partially why LLMs have taken over

== this thread is in response to this tweet: ==

x.com/krismicinski/status/2072

Reminder: the sudden nostalgia for VB (and Flash) is not because VB was good, it’s because VB was:

Better than most other things available at the time for rapid application development.
Impressive compared to the abilities of the hardware it ran on.
Better than most things that came after it for low-effort software development.

We don’t need resurrected VB or Flash, we need something that takes advantage of the power of modern computers to deliver something that has the same ease of use of these tools.

I just published a first version of my new editor project: Wordgard!

marijnhaverbeke.nl/blog/wordga

I am doing significant Nix/NixOS stuff at work recently. I think Nix/NixOS may be the future of Linux or the basis for a new project that will be the future of Linux (competing with container-based distributions). It's really innovative and the benefits are significant.

One of my main concerns is that Nix/NixOS being so alien, a lot of work is required to bring it up to the maturity of more conventional environments.

github.com/cloud-gouv/securix is quite interesting.

github.com/alexpdp7/alexpdp7/b

A small hack using a web browser extension designed to control Google Meet from outside the browser, plus some websocket CLI tools + systemd user unit that gives a command to toggle mute inside Google Meet.

(Which I bind to a foot pedal.)

It's been a while since I was hit with an annoying problem on Debian Stable. The latest kernel update breaks Bluetooth. Quite annoying because to boot into a different kernel you need a working keyboard.

bugs.debian.org/cgi-bin/bugrep

Recent versions of Raspbian support cloud-init, reading from files in the boot partition. So after imaging a MicroSD card, you can mount the boot partition and configure users, networking, etc. using "standard" stuff.

I have mixed feelings about the Raspberry Pi, but the easily removable MicroSD slot and this make it quite friendly to headless automation- more than most x86 computers!

I'm seeing significantly increased scraping activity coming out from DigitalOcean. Normally I was observing like 10 requests/s, now I'm seeing peaks of 50.

Which are hitting my ActivityPub server with invalid requests, which sends me an email through AWS. Which costs me (very little money).

The real bad guys are those scrapers, but DigitalOcean is likely letting them be bad neighbors because they pay. (And DigitalOcean is quite overpriced.)

I decided to move to Emacs from VS Code a few years ago because I was "too happy" with a disturbing project.

Today I've found:

gram-editor.com/ (graphical desktop application)
flow-control.dev/ (terminal)

Which look similar to VS Code, with out-of-the-box LSP support and normal keybindings... but that are not disturbing.

I have documented the procedure to create an MKV file that plays bits from other MKV files here:

alex.corcoles.net/notes/tech/s

Apparently Matroska files can link to separate files and splice them seamlessly?

mod16.org/hurfdurf/?p=8

For some time I've had an awesome usecase for this. Need to play a bit with this thing and see if I can make it work... (And if any players support this...)

I have been programming a simple elevator simulator in Python today. Then added a websockets interface and tested it with a command-line websockets tool. And then wrote a simple HTML page that connects to the websocket and fetches the simulator state.

Tomorrow I should create a graphical UI for the simulator, maybe a simple elevator controller, and perhaps a "person simulator" that has people randomly calling the elevator.

Stockholm syndrome: when the AWS console takes you to eu-north-1 when you do not have anything in that region.

In 2008-2011 I was working on some public websites- some of them were even "nation-wide" "important". And I felt confident running them my moderate systems administration skills, on simple platforms, with reasonable hardware.

(For two specific projects with important customers, we did pick overpriced and overprovisioned hardware and hosting from a "serious" company, but outside that, it wasn't very different from what you would do for personal stuff.)

I had an interesting projects list as an org-mode file. The hierarchy was organic and chaotic. This bothered me so I decided to overcomplicate it:

alex.corcoles.net/notes/intere

It's non-deterministic, so even unrelated changes to the underlying Git repository shuffles things around, but I find the result much more pleasant than the previous version.