Skip to main content

Posts

What kext was that??

MacOS sometimes asks you to accept some system extension / kext. Unfortunately it can be difficult to clarify why, which can be scary. Sometimes you will only get notified that the kext signed by XYZ has been updated, and then it's on you to find out how to relate XYZ to a specific file and functionality in your system. I have found myself in the situation a couple of times, so in case it helps others, here's my notes. BEWARE, don't take this as an excuse to assume that everything is fine in your system; instead take this as a hint that should be verified for your own case. Indeed, if you don't know why you have that driver in your system, maybe you should just remove it.

Home Assistant on macOS, the easy way

I almost got put off trying Home Assistant on my Mac because of the complex/useless installation instructions in the docs . For HA-OS, there's no KVM for macOS (you'd have to use QEMU), and VirtualBox is (still?) unavailable for current ARM (Apple Silicon) Macs. And the instructions for HA Core are off-puttingly involved, probably more useful for someone developing HA than for an end user. (... possibly a Python ecosystem-level problem...) Fortunately, it's actually much easier than any of that. I just gave feedback so hopefully it will be fixed in place, but just in case here's my instructions.

Así hace un Valenciano e̶x̶p̶a̶t̶ emigrante una paella con arroz integral

Viviendo fuera de España como expat emigrante es difícil (y caro) encontrar arroz bomba para hacer una paella de verdad. Pero además, si estás intentando reducir hidratos de carbono en tu dieta, el arroz en sí es ya un mal paso. Así que me puse a hacer pruebas para hacer una paella con arroz integral normalucho, del que encuentras en cualquier supermercado. Y lo conseguí. Resulta que no es tan difícil, así que me pregunto por qué cuando empecé a buscar cómo hacerlo no encontré nada al respecto – aunque sí que encontré marcianadas como usar "arroz de coliflor" o arroz arborio.  Curiosamente, los que hacen cosas así suelen ser de fuera de España, así que supongo que nunca han probado una paella de verdad y les da igual acabar con un risotto amarillo. ¿O quizás es que los influencers no tienen paladar? Pero yo nací y crecí entre Alicante y Valencia, así que no puedo aguantar algo así. Y más cuando la morriña ataca. En fin, al grano. A mí me ha funcionado con paella y con arroz...

A script to announce new chat messages in Zoom

Available at https://github.com/hmijail/announce-zoom-chat-messages . It's so disheartening to see AppleScript to stay so ... unloved. It was never easy to deal with it, enough so that I decided this time to force myself to get into the newish JavaScript syntax. And yes, that eases the syntax; but the whole ecosystem feels so devolved since the last time I used it. Even Apple's own Accessibility Inspector has lost capabilities. osacompile works but the resulting app does something different. I didn't try looking for new Scripting Additions, and in fact it wasn't needed; good old System Events was enough. But, gosh... even Smile was last released on 2013 . I wonder how would I do something like this announcer without AppleScript. What do Windows users do? Well, who cares for Windows ;P, what do Linux users do? Maybe next time I'll have to research it.

Bluetooth audio latency, codecs, when does it matter

These are some random-ish observations regarding Bluetooth audio latency vs "codecs". This started life as a long comment trying to untangle a messy thread in Wirecutter's review of bluetooth speakers, but since it covers a lot of things that I periodically forget about, I'll have it now as a refresher for myself next time I'm checking BT headphones. A couple of pre-clarifications: Different people measure different things, sometimes without even realizing, so it's important to make sure that one understands what a number means. Algorithmic delay? Hardware (+firmware) implementation? Hardware + software? Which software: OS + encoding + decoding, or just the OS piping things around? Is there some app involved? Each layer not only adds delay (lag, latency), but also variation (jitter).

YOU could have invented the LMAX Disruptor... if only you were limited enough!

This is about a shocking realization I got while learning about the LMAX Disruptor – a data structure / architecture that got published in 2011 and made some waves across the web because it allowed LMAX to process +6M transactions per second on a single thread. In Java. Which was interesting because Java was (still?) supposed to be too slow for that kind of thing. By then I was already a couple of years out of the Java world and getting into embedded C, so I took a mental note to look into it just out of curiosity. But, as could be expected, the note was promptly forgotten. I'm now looking again into Java, so finally I managed to take a peek at the Disruptor. Shock: this is just a description of what I was implementing in C while I was still learning it! But it's not that I'm a genius; it's that this is probably the only way to do things when in a limited environment. In fact, the basic architecture is the one used typically in drivers and in Linux's NAPI networ...

Macbook 2013 vs 80 MHz WiFi channels

I found that the WiFi on my MacBook Pro (late-2013) works slowly on 5 GHz / 80 MHz channels (topping out at about 30 Mbps). Enough so that it's at least 3x faster when connected to the 2.4 GHz band in the same router (and I say at least because I can't measure any higher). So, if your router works in the 2 bands and your Mac is switching between them transparently (as it usually does, which usually is advantageous), then you would be seeing big, mysterious changes in speed.