p

pmf

Some thoughts about (mainly) industrial and emdedded software engineering

C++ successor language

While listening to CppCast episode "Cpp2" (https://open.spotify.com/episode/50OftQjgqMRS8ZjX6RSNtn?si=ZPWZ6jCyTIqCUiQuxgAgUw) on Herb Sutter's CppFront project, before Herb compared the relation between CppFront and C++ to the relation between Typescript and Javascript, another comparison came to my mind: Kotlin vs. Java. While Herb's analogy is more appropriate, I think my analogy is interesting in terms of the commercial ecosystem: Kotlin was developed by JetBrains, with (indirect? direct?) s...
Read post

LK-99

The reason the main stream scientific press is not reporting on LK-99 is, sadly, that the forces in power have not yet told them what the correct position on the topic is. Critical, but open scientific reporting is dead. ...
Read post

Web Integrity API

In my opinion, the Web Integrity API (https://news.ycombinator.com/item?id=36857032) just finishes what the ill-guided HTTPS-everywhere trend started: making the web vetoable by big vendors. Previously, they had the decency to hide their need for control behind certificate authorities, but Let's Encrypt democratized this too much (basically subverting the behind-the-scenes goals of HTTPS-everywhere). ...
Read post

Compression based models

Regarding the compression based language models (like https://github.com/Futrell/ziplm): I've always wondered whether the achievable source code compression ratio wouldn't be a good ghetto proxy metric for code readability and maintainability: too high, and you have a corpus with lots of boilerplate, too low, and you have weird write-only code (think Perl code golf or APL). Must be tuned to the concrete language, of course. ...
Read post

Some bad design advice

The thing I hate about advice like this1 is the fact that if I follow this approach, I have the problem that if I later switch to another transport, I suddenly am missing the status code (even if this other transport is something web affiliated like websockets and not something native like ZeroMQ). Adding the status code to the payload in the first place makes my message handling transport agnostic. Even if I don't have an alternative transport in practice (the common case, to be honest), this a...
Read post

Old man yells at prompt (and likes it)

This piece1 by Steve Yegge about contextualization being at the center of getting use out of general models resonates with my previous thoughts about the difference between traditional search and "new search". With one, you specialize and narrow down by trying to think like a machine, with the other, you let the machine think like you by providing a huge amount of context in the form of stuff you already have and let the machine do the heavy lifting. There is no going back because it's both mor...
Read post

Using Zig to cross-compile from Linux to Windows

I had the problem that I wanted to cross compile from Linux to Windows using mingw32, which worked, but as soon as some features of std::condition_variable were used, linking failed due to the mingw32 version being used on Ubuntu 20.04 VM (my build VM ...) being too old. Newer binaries were not available, and I did not want to compile it from source. So, I used Zig to achieve the same (i.e. cross compile from Linux to Windows). Mind you: this is a C++ project with no parts in Zig. First, make ...
Read post

Mastodon and federation - the wrong level

This article by Tim Bray https://www.tbray.org/ongoing/When/202x/2022/12/21/Mastodon-Ethics (ignoring the patronizing garbage about Black Twitter and focusing on the paragraphs about federation) made me realize (once more?) that the level at which federation happens (motivated by technical constraints, of course) is just wrong. A user should decide in which direction (incoming and outgoing) he wants to be associated with other servers, not his home instance. The technical problem is that misc. ...
Read post

Making the web proprietary, step by step

HTTPS everywhere made the web less free1 by requiring you to register with a trusted authority for your certificate. Requiring passkeys to realize the wet dream of single sign-on and allowing corporations to decide whether you are allowed to use services not related to them at all is a step in the same misguided direction. Tech bros and the security furries pretend not to see this.2 see the linked posts by Dave Winer3 in this (unconvincing) rebuttal: https://ioptconsulting.com/in-defens...
Read post

Federated spam list

Idea from this comment: https://news.ycombinator.com/item?id=33738231 What about federating whitelists/blacklists? Real spam is a problem for all user driven communities, and this should be seen as an orthogonal, separate issue from banning/blocking. ...
Read post

Mastodon vs. Matrix

Overall, I'm a bit sad that the exodus from Twitter is going to Mastodon instead of Matrix. Matrix has a perspective for P2P1 and E2E. Putting yourself at the mercy of a Mastodon instance admin (especially when the purported reason for leaving Twitter in the first place is a supposedly evil instance admin2) seems a bit shortsighted. With Matrix, you own your identity. With Mastodon, except for vocal lip service, the instance admin owns you. https://arewep2pyet.com/ ↩ "nasty rocket boy...
Read post

Offloaded identity verification

Instead of making people pay to get verified, also offer (maybe also only for paying users, I don't care) the ability to guarantee authenticity by allowing to associate a public signing key with the account (as hidden payload). Authors can (via client extension) sign their messages (client side), and users can then verify (either via client extensions, or via their social media network JS code) the authenticity of a message, and can even pull the public key for checking the signature from a "tru...
Read post

The Twitter Acquisition

Two quotes. “What the herd hates most is the one who thinks differently; it is not so much the opinion itself, but the audacity of wanting to think for themselves, something that they do not know how to do.” ― Arthur Schopenhauer And: “One who thinks for himself is a threat to his enemies, a refuge to his acquaintances, a prize to his friends, and a gift to the world.” ― Matshona Dhliwayo Not playing "Bird is the Word" while carrying in the sink was a yuuuge mistake, though. ...
Read post

On GNU readline

Related to this great article about rather unknown GNU readline features, I'd like to point everybody at my personal favorite readline hack (not by me): https://codeinthehole.com/tips/the-most-important-command-line-tip-incremental-history-searching-with-inputrc/ Regarding the article itself: Although GNU readline maintains a kill ring (clipboard), which works much like Emacs’s kill ring, it’s not shared with your system’s clipboard, nor any other instances of GNU readline. It is, in effect, ...
Read post

Cutting edge

Good news, I'm now apparently working in a hip cutting edge paradigm: https://reviewpad.com/blog/modern-trunk-based-development/ ...
Read post

Mutable typed hierarchical environment variables

Hear me out: an architecture based on mutable hierarchical environment variables Backed by ZeroMQ1 for messaging/IPC, SQLite for persistency (if needed), and JSON (grudgingly, since other options are even more horrible; OTOH we want to have type information, so something like protobuffers would be required) as payload. Trivially easy subscription and property binding/propagation mechanism: stating that process X's x_out variable is defined as process Y's y_out and process Z's z_out must be all...
Read post