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.

206 Posts Posts & Replies 48 Following 17 Followers Search
Pinned post
Edited 144d ago

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.

I have written down some notes about software development here:

alex.corcoles.net/notes/tech/o

(My intention is to extend and update this as I need to... right now it just collects a few things that are on my mind.)

I was copied on an email today. Someone was requesting a count from someone else, wanting to know who in a department had done a certain thing. This lovely sentence was spoken by my screen reader:

"Can you get a quick woman raising hand man raising hand medium skin tone from your department members?"

I really hate emoji.

Recently I came in contact with Next.js. I think I already tooted that I thought it was the first framework I'd seen that delivered the old promise of good integration between the code running on the browser and the code serving your application.

But these days it surprises me more it's absolute lack of support for WebSockets!

So maybe the real-time web application problem continues to be unsolved satisfactorily for me.

Around 2000, when first started to become popular, it brought me more and more email. At some point it became hard to answer it all, and my inbox started to grow.

Young and optimistic, I came up with a plan to fix this. I drew a line in my inbox (by sending myself an email with subject "---------"), and told myself that I'd keep the region below the line clear, and every few days, deal with a few messages from above the line, until eventually the line was at the top again.

Of course, it didn't work at all. Soon enough there was a huge backlog even below the line, and the stuff above the line was all still there. The line became part of the problem, not the solution.

It took a historian friend of mine to point out the fallacy. To answer more mail, you must spend more time answering mail. No amount of classifying, rearranging, or reorganising it makes there be less of it. You must either answer the mail or decide not to. (And once there's too much of it, only one of *those* is possible.)

This is a post about management methods that respond to any problem by spending more rather than less time moving issues around the bug tracker or kanban board or what have you.

One thing I've learned in 25 years of software maintenance is that every time you commit crap that appears to work without being sure why it works, that's going to come back to waste a lot of your time later.

I wish command line tools would make an output mode optimized for screen readers. I just did a no-cache build of four containers with compose. Instead of hearing random numbers constantly shouted at me, I'd love to have Docker make NVDA say the current step when something significant changes. "Building php_dev. Health check for mysql_dev. Check passed. Building web_dev." No fancy progress bars, no always-updating percentages, no detailed output. Direct that stuff to a file if you want it.

Nice, searching on discover.holos.social/ reveals two toots about this. Perhaps Fediverse search can be useful.

Yesterday afternoon I started having some trouble with Ubuntu mirrors at work. 5 hours ago Canonical acknowledged the issue on their status page:

status.canonical.com/

If you are having problems with stuff such as building containers (failures and extreme slowness), this might be it.

Some networking knowledge I figured out a good while back that should be standard, but I think it's poorly understood and worth sharing:

A route *without* a gateway address means you want the system to do an ARP (v4) or NDP (v6) lookup to find the MAC address of the *destination* and send/forward the packet to that MAC address.

A route *with* a gateway address means you want the system to do an ARP (v4) or NDP (v6) lookup to find the MAC address of the *gateway* and send/forward the packet to that MAC address.

> Brooks claims that accidental complexity has decreased substantially, and today's programmers spend most of their time addressing essential complexity.

(The Wikipedia article about No Silver Bullet.)

OK, I found the other part of The Mythical Man-Month that has not aged well.

I just learned there's a tab-size CSS property. So I assume you can style code blocks so that they have different indentation under different screen sizes, or that users could adjust tab size according to their preferences.

(And maybe code blocks using tabs for indentation are more accessible than code blocks using spaces for indentation, but I have my doubts.)

I guess I'm a person of extremes. I am a huge proponent of batteries-included web frameworks, but I also think that CGI-style raw web programming is the best option in a surprising amount of scenarios!

(And PHP is not the only option. CGI and similar wrappers like WSGI are a bit annoying, but at that scale, you can get by with a little boilerplate and no dependencies.)

I'm trying to reduce my reliance on GitHub. So I'm trying to move some repos to cgit. This means losing browser-based editing for small contributions such as typo fixing.

github.com/alexpdp7/quick-patc is a prototype to explore alternatives.

It's a 100-line WSGI Python webapp with no dependencies. I think I can do something functional in about 200 lines, including a CGI wrapper so that it can be deployed to web servers without Python/WSGI support.