Robert A. Uhl

What has happened to Google Search?

Many, many years ago Google Search conquered — there’s no other word for it — the Internet. None could stand before it, not Yahoo!, not AltaVista, Not Ask Jeeves. It was brilliant: a single text box, in which one could type anything, hit Return and get excellent-quality results. It even grew smart enough to know individual users. No more. Today, I had a problem with sp-kill-hybrid-sexp (a Emacs command in teh smartparens package to delete the remainder of a line, respecting S-expression delimiters) hanging in SLY, so I searched for sp-kill-hybrid-sexp sly slow. Read more →

Bootstrapping trust

SSH is a reasonably awesome tool: it enables encrypted, authenticated access to hosts across a network, whether across the LAN, across a WAN or across the Internet. But that authentication has a weak point: it defaults to Trust on First Use (TOFU); i.e., the first time one connects to a host, one is prompted about whether one wishes to trust that host or not. Most people just blindly trust the prompted key: after all, how likely is it that one’s very first connexion would be attacked? Read more →

Sic transit gloria ZaReasonii

I found out early this morning that ZaReason, a Linux hardware vendor, has closed its doors for the last time. For many years I hand-built my own Linux desktops. It is remarkably easy to do, and with a Micro Center a short drive or bike ride away from my home it was really appealing: any time I wanted to improve the system, or any time something failed, I just had to make quick run to the store and my problems were solved. Read more →

A quine in Go

This morning I thought ‘hey, I wonder how difficult it is to write a quine in Go.’ Spoiler alert: pretty easy. What’s a quine? It is self-replicating program, i.e. a program whose output is itself. I knew what they were, but I had never actually sat down and tried to write one (I know, I know … it’s an elementary exercise, I just never got around to doing it before). Read more →

Wireless is a trap

Ben Kuhn is right: wireless is a trap. It is seductive, to be sure. And certainly all other things being equal it would normally be preferable to have wireless devices (although I like how wires help keep headphones fixed in place) — but that’s the trouble: all other things aren’t equal, and quality, latency, reliability, privacy & efficiency all suffer with wireless. I know that in the past my younger colleagues have been really puzzled by my preference for wired over wireless devices. Read more →

Apple just killed Offline Web Apps while purporting to protect your privacy

Aral Balkan notes that Apple just killed Progressive Web Apps and explains why that’s such a bad thing. This sort of thing is why — despite Google’s often-problematic behaviour — I choose to stick with Android: at the end of the day my Android phone respects me and my decisions (well, most of the time anyway). Apple fundamentally doesn’t respect its users: it seeks to provide them with what Apple thinks is a great experience, whether they want something else or not. Read more →

How to become a centaur

The Journal of Design & Science had an interesting article about How to become a centaur, i.e. to augment one’s intelligence with a computer — Intelligence Augmentation rather than Artificial Intelligence. One might quibble with some of the details (e.g. I understand that pure-machine players are now better than man-machine teams), but it’s still an interesting idea. Read more →

Advent of Code 2019, fin

I’m afraid to say that I had to quit the Advent of Code even earlier in 2019 than in 2018. Just too many things going on at work. It’s a pity, because it was a really good year, with some really intriguing puzzles which were right up my alley. I really enjoyed the intcode stuff in particular. There’s always next year! Or maybe I will get the free time to work on some of the problems from last year during this year … Read more →

Advent of Code 2019, day 4

I misread this one over and over and over — little-known fact: ‘increase’ and ‘decrease’ mean different things. Ended up stealing from . Oh well, there’s always tomorrow. Read more →