Logseq
In May last year, I’ve started using Logseq for my note taking - both personal stuff and at work. I got interested because some people whose judgment in such matters I trust were quite enthusiastic about Logseq. Giving it a look couldn’t hurt, I thought.
Today, I’m still using it, and have already transferred some of my larger personal note collections to it. I keep discovering new features and possibilities, and let’s just say I’m hooked.
What do I like about it? A random collection:
At a high level, Logseq is a lightweight note taking and organisation tool with lots of pragmatic and sensible features.
Logseq keeps all the data on the local drive, in Markdown format, unencrypted, accessible.
The editor has built-in features for very swift linking from text in a page to external resources, other pages, sections in pages, and even down to single paragraphs (“bullets”).
Recurring structures can be easily reproduced using templates.
Pages can have alias names, making for nicer linking.
Logseq adds, atop the plain Markdown files, an index that allows for extremely swift searching. There’s a powerful advanced query and filtering capability, too.
It’s available on desktop, iOS, and Android.
There are numerous ways of synchronising across devices, including iCloud and git.
The tool is open source, and the monetisation model (yes, it has one, to sustain services and community) is extremely forthcoming: you pay as much as you want in a mode of your choice if you think it’s deserved. (It is.)
Logseq also has a graph visualisation of the page structure - I have yet to discover its true worth but it sure looks nice. A cross-device sync feature has been added and is available in beta mode for paying customers - I'm one of them, and it's pretty usable and stable already.
I have barely scratched the surface. There’s a plugin API allowing for all kinds of power-ups, automation is possible to a considerable extent, and so on, and so on. I believe Logseq is a true power tool.
Tags: the-nerdy-bit, hacking
Badgers
Gadgets are fun, and even more so when they can make someone’s day.
Back at my previous job, one of my teams (named R2D2) had been working on a long and hairy project. Essentially, it was a complete rewrite of the core piece of Babbel’s language learning experience, the so-called “lesson player”. The project had started well before I joined (that was in August 2020), and was technologically involved. It took the team quite some time to deliver, and the "Universal Lesson Player" has gone live across web, iOS, and Android.
Before leaving, I really wanted to celebrate and acknowledge the success so far by giving a little token of appreciation to everyone who had contributed. It being me, that needed to be appropriately nerdy. I came across a device named Badger 2040: a Raspberry Pi Pico powered little thing with an e-ink display that’s programmed in MicroPython and can be configured as a name tag. Of course this was the right thing.
So I got some 35 of those, and went on a fun ride to prepare all of them until they looked like this (for the technically interested, there’s also a photo of the back):


It’s e-ink, so the display just stays like that. But if a user so desires, they can connect a battery pack and augment the code on the device to, for instance, react to pushing one of the buttons by displaying a QR code with contact information instead of an image. After all, it’s a programmable computer right there, and it even has a variant of the Raspberry Pi’s infamous GPIO capabilities. The possibilities are “endless” once one knows a little Python.
I was able to hand over most of the Badgers at a little release party, and needless to say, people loved it.
Tags: work, the-nerdy-bit
Musical Languages
I like languages - human and programming languages alike. And I have a sweet spot for “constructed” human languages, such as Esperanto. (I don’t speak any Klingon or Quenya though.)
One interesting niche in the constructed languages corner is the one where the languages are musical.
Olivier Messiaen (one of my favourite composers) used a “communicable language” wherein he mapped letters of the alphabet to note pitches and values. He later added patterns for grammatical aspects and certain frequently used words. The principle of mapping letters to tones, however, only goes so far: essentially, the language heard when playing the notes is still the language in which the original text was written - the musical notation is “just” a different writing system. A sophisticated one, granted, but a writing system.
François Sudre did a more consequential design when he came up with Solresol. Here, patterns of notes represent linguistic concepts. The first note of a pattern denotes one of seven categories; repetition adds topicality; and so forth. There are also rules for grammar. Now there’s a language.
Texts in Solresol don’t sound particularly melodic, but mostly harmless because they only use the seven tones of the scale that are on “white” keys. If I was to give a critique, I’d raise the concern that Solresol doesn’t make use of all twelve tones, making it lack in expressiveness somewhat.
My old colleagues at Babbel have a nice article on Solresol.
Tags: music, the-nerdy-bit
Z80 Memories
Chris Fenton has built a machine. It’s a multi-core Z80 monster in a beautiful laser-cut wooden case. I have nothing but deep admiration for this kind of project and the drive that lets people drive and complete it. It also brings back a lot of memories.
The Z80 was the first CPU I learned how to program assembly for, back in the Nineties, on an Amstrad PCW. The operating system on that one was CP/M Plus, but you could also boot (boot!) a text processor named LocoScript. The programming language of choice ended up being Turbo Pascal 3.0.
What bothered me was that I couldn’t let stuff run “in parallel”, so I hacked my way into something resembling that. Pretty much all low-level functions would make calls to the operating system entry point, at memory address 0005
. (The assembly instruction for that was CD 05 00
. Yes, I still remember that.) So I inserted a jump table at that address that would call all the Pascal procedures I wanted to run in parallel before proceeding with the low-level operating system call.
I quickly figured out (the hard way) that those Pascal procedures better contain no calls to low-level operating system routines, because ... infinite loop. Oopsie.
Tags: the-nerdy-bit, hacking
Caffeine Informer
So I’m a bit (a bit?) of a coffee nerd, to the degree that I do my own roasting. Obviously, the Caffeine Informer struck a chord. This web page provides all kinds of information around my favourite drug.
One thing I learned is that I should drink no more than 2 cups of Starbucks Grande Caffe Americano to avoid suffering from caffeine overload. That’s OK, I don’t like Starbucks coffee that much anyway.
My maximum safe daily caffeine intake is somewhere north of 500 mg. Now that’s interesting, but where can I get those? The page thankfully has overview tables for both food and drink. For instance, one Kit Kat bar contains 6 mg of caffeine (who’d have thought?), and Fritz Kola (somewhat popular in Berlin) has more than twice the amount of caffeine than classic Coke.
While all of that is fun to play with, the page also has some very thorough information on caffeine effects, benefits, and risks.
Tags: the-nerdy-bit
Keyboard
After having assembled my Reform laptop, I had found its keyboard to be pretty amazing despite its unusual layout. Its space key is separated, and the two alt keys are tucked in between the two halves. On the one hand, this has the effect of allowing the keyboard to be built with only two different key sizes. On the other, it requires a bit of adjustment when typing. The quality of the keys though makes it a pleasant experience, and some high-speed typing is definitely possible. I like the keyboard very much.
Thankfully, MNT Research have released the keyboard as a standalone component with USB-C connectivity. The keyboard has an anodised aluminium case. That means it's comparably heavy given its size, which is good, because it rests well on surfaces. It comes in different colours (mine is yellowish).



Of course, the keyboard is entirely maintainable using a screwdriver and programming skills. The former comes in handy to move the little tilting bar between the four different positions on the sides of the case, which allows for different typing angles. The latter is good for changing the keyboard firmware, which is, of course again, open source. Like the Reform laptop, the keyboard sports the "circle key" (top right) and accompanying OLED display to go to the firmware menu and, e.g., control the brightness of the backlights.
I really like the product portfolio these folks are building. It's open hardware that sets standards.
Tags: the-nerdy-bit
Tripods
Back in the 80s, we didn't have video streaming services, so TV series binge watching was not so much of a thing, but TV series we had. There's one I was particularly fond of, to the degree that I arranged my calendar around the time each new episode would air on Tuesday, Wednesday, or Thursday afternoons (my memory is a bit blurry here).
It's a BBC production based on a sci-fi trilogy (a prequel fourth book was added later) by John Christopher, called The Tripods.
The slightly eerie mix of a humanity thrown back to mediaeval lifestyle and high-tech alien invaders controlling them from their large walking machines totally fascinated me. Never mind the utterly slow pace of the TV series. Never mind the obviously bad make-up and costumes (BBC is a bit notorious for that). Never mind the strange-looking compositing of tripods into the scenery (those were really early CGI days). It was cool, and the story of some kids making their way from England to the Alps and beyond on a quest to free humankind from oppression was just captivating.
Sadly, the third season, supposed to bring the final book in the trilogy to the TV screens, was never produced. Sometimes the BBC makes stupid decisions.
Thanks to DVDs, I could recently binge-watch the entire series with my son. And he loved it. If a 21st century kid can appreciate a TV series that was produced roughly 40 years ago, that's quality.
Tags: the-nerdy-bit
Mini Lambda
Justine Tunney has built a plain lambda calculus interpreter that compiles down to just 383 (as of this writing) bytes of binary (on x86_64). That's Turing completeness in just under 400 bytes of machine code, and by default "instant awesome". The documentation is extensive, contains lots of examples, and such gems as a compiler from a symbolic representation of lambda calculus to the interpreter's binary input format using sed. If you have any interest in minimal abstraction, do yourself a favour and check this out please.
Tags: hacking, the-nerdy-bit
Anki
At the beginning of this year, I took a two-week intensive course to learn some basic Chinese. The intense vocabulary and letter memorisation that came with this refreshed my interest in flash cards. Preferably in an electronic form that synchronises across devices.
Thankfully, there's Anki. Note that this is an unpaid and unsolicited ad. I'm just very excited about this.
Anki runs in the browser, on desktop, and mobile. It synchronises flash card decks across all of these seamlessly. It has a price tag on mobile, but it's worth it.
What makes Anki really strong is that the design of flash cards is up to the user. There are HTML and CSS templates. It also automatically generates multiple cards from any entered content; that is, if you have a note describing a front and back side of a card, it'll generate two cards so that you can exercise the memorisation both ways. Of course, the note formats are also editable.
In my case, with Chinese, my notes have three aspects: the German word, the Pinyin transcription of the Chinese word, and the Chinese letter. I've built three card templates - each of the three aspects can be the front side so that I can memorise everything in every way possible. When I add a new piece of vocabulary, three cards will be generated, and next time I go through the deck, I'll be given those three questions.
The spaced repetition logic in Anki, too, is configurable, of course. The amount of daily new cards is limited to a low number at first, but it can be changed for times of super intense learning (like these) to have a higher limit - and that's even possible to configure per deck.
Anki is a bit idiosyncratic at first, and takes some getting used to, but it's a true power tool. Definitely worth the price. Did I mention it has a plugin interface?
Tags: the-nerdy-bit
Programming and the Fine Arts
There's a certain kind of "strange" programming language that could be called "poetic". This is because programs written in these languages read like texts from altogether unexpected genres.
Expressed in the Shakespeare programming language, for instance, programs read like dramatic plays by a certain famous English poet. And Rockstar makes programs look and feel a lot like heavy metal ballads.
Of course that's all a bit nuts. What's wrong with that? After all, English author Tom Holt, in his novel Flying Dutch, notes that Wagner's opera Der fliegende Holländer is actually part of an accounting software system. (If I recall correctly.)
Tags: music, books, the-nerdy-bit
Watchy
As you may know, I love tinkering with electronics, and I like looking into crowdfunding projects that bring new tech on the table.
Some time ago, I assembled a Watchy. This is a wrist-watch with an e-paper display, sporting an Arduino-compatible open-source hardware and software platform. Here goes.
I ordered the Watchy kit, and the aluminium case (I like the metal more than the plastic case). The box with the main kit is neatly arranged and has visual instructions for the plastic case assembly. The ones for the aluminium case were easy enough to find. Since the display is an e-paper one, it came "stuck" in the last state from testing it was in (I like this about e-paper: it consumes energy only when it's updated, and then just stays that way).



The unboxing proceeded. Laying out all the parts in front of me, I got ready for the adventure. The first task was to connect the display to the logic board. The flat cable is a bit tender, so that required attention, but it worked just fine in the end.


Next, the battery had to be connected, and then there was a minute of anxiety waiting for the display to update from 00:00
to 00:01
- and it worked! I also tested the four buttons to see if they worked properly: I entered the system menu, navigated around in it a bit, and left it again. So much for the first-stage integration testing.


The next step was to mount the electronics in the aluminium case. I taped the battery to the bottom, which was really helpful because it would slide out and get in the way of the cable and logic board.
I then discovered that the logic board didn't fit neatly into the case, because there were some edges that protruded from it (remnants of production). I filed those off carefully, and gave the plastic buttons a similar treatment so that all parts had the smooth edges they needed for the case to be closeable.
Closing the case was rather finicky because the buttons kept moving about, but I got it done eventually.

The next discovery was that the four screws must not be tightened too much because otherwise the buttons will get stuck when pushed. That was an unpleasant discovery. I ended up tightening them only ever so lightly beyond the point where I can turn them with a fingertip. The top of the case sits firmly on the bottom, and nothing wobbles, but it's not a very safe feeling either. The parts don't fit too neatly overall. That's fine and tolerable for a crowdfunded hacking project.
Of course, the final step of assembly was to attach the straps, which have a nice mechanism for that.

Done. Next, I might write some software for this thing, and will probably adapt my nerdy Pebble watchface.
Tags: the-nerdy-bit
Reply-All
(Warning: maybe because it's 1 April, the post below contains a bit of irony. When you find it, feel free to keep it.)
You've seen them - congratulatory e-mails flooding your inbox, even if you're not on the receiving end of the celebration but merely a member of the cheering crowd. Thanks to "reply-all", they happen. I personally don't mind them much, but some people do take mild offence in being faced with the challenge of having to mark swathes of "congrats!" messages as read.
There's something to be said for both sides here. On the one hand, such a broadcast message, e.g., a promotion announcement, can be seen as primarily meant to notify the crowd of the news. Reply with heartfelt congrats, rejoice in the fact, cool, move on. On the other, the broadcast does have a social aspect to it in that it encourages the crowd to cheer, and he cheering gets amplified by itself.
Of course, there's an easy remedy. Instead of putting all recipients on CC, putting them on BCC and keeping just the intended recipient of the congratulations in the "To:" field will reduce the recipients of the "reply-all" flood to just the subject of the celebration and their manager (or whoever sends the message). The parties put on BCC can be mentioned in the message, for transparency.
I sense an actual research question in this: Will CC-reply-all flooding incentivise more people to congratulate the person, or will the ones who want to do this do it anyway? Is there an amplification effect in "reply-all"? If so, what does it amplify more, cheering, or grumbling? Does BCC-messaging have a contrary effect?
Who's in for doing an empirical study?
Tags: work, hacking, the-nerdy-bit
Nanoloop
The Nanoloop is a truly interesting thing. It's an 8-bit synthesiser-sequencer with an interesting and innovative user interface. Nanoloop started out as a Gameboy cartridge, and has since been released as apps for Android and iOS, and as a piece of hardware called Nanoloop FM. Documentation is scarce, and the whole thing invites to experimentation. Cool.
Tags: the-nerdy-bit, music
Magical Turing
A while back, I had written about Alan Turing's work, and how Turing completeness is the ultimate level for any programming language or abstraction - enabling any algorithm to be expressed in it. Hold tight.
It turns out that the very popular card game Magic: The Gathering by Richard Garfield is actually, provably Turing complete. There is a scientific paper that proves it.
I've got to take some rest now.
Tags: the-nerdy-bit
Contemporary CPU Architecture
Building a CPU (or other hardware device) emulator is a fun endeavour - I've built myself half a Z80 emulator in Smalltalk once, test-driven development and all.
However, writing comparatively low-level code in the 21st century is really old-school. You have to use contemporary technology for everything now. That includes building emulators.
Consequently, David Tyler has built an 8080 emulator complete with computer and CP/M operating system to run on the CPU. It being "today", he has of course applied what is en vogue. That means microservices (one for each opcode supported by the CPU, just in case you were wondering), Docker, and the like. It's super hilarious. In fact, it's a more than valid successor to this wonderful enterprise Java implementation of FizzBuzz.
Tags: hacking, the-nerdy-bit
A Makeshift Observatory for a Partial Solar Eclipse
One of the distinctly more nerdy things I've ever done was to optimise the machinery for observing a partial solar eclipse.
This was back in the Nineties. I was at a weekend workshop with some fellow students of electrical engineering and computer science, where we were preparing to be first-semester student tutors. As heavenly mechanics would have it, a partial eclipse was scheduled for that weekend, and we lacked the necessary equipment to observe it.
Being engineers, we came up with a makeshift solution. The key component was an overhead projector (you know these, don't you) the upper end of which we directed at the sun. With some fiddling, that gave us an image of the sun on the area where the foils are usually placed. We used a sheet of paper as the screen for our observations, and of course the intensity of the sun's image set that on fire instantly. OK, that didn't work.
I suggested to use a cup of plain black tea (no milk, no sugar). It had all the features that we needed: white surface, not easily inflammable, and the liquid had just the right amount of opacity to make the image clearly visible. A cup of tea was quickly obtained from the (somewhat puzzled) kitchen personnel of the place where we were staying (there was a narrow time window, so speed was required).
And it worked! We could see that sun cookie, with a piece bitten out by the passing moon, very clearly.
Sadly, I don't have any photographs of the experiment any more.
Tags: the-nerdy-bit
The Times
Date and time formats, oh, date and time formats. Having grown up in Germany, I was obviously used to DD.MM.YYYY, and sported the usual snobism when encountering that odd MM/DD/YYYY thing that just gets everything wrong. Yes, it enables fun things like "Pi Day" and "May the Fourth" (imagine me rolling my eyes), but it's too darn disorderly. I mean, doesn't even try to be consistent, going from somewhat specific to specific to unspecific in the date - and don't even get me started on the AM/PM mess.
Eventually, I came across the thing called ISO 8601, and, being the nerd that I am, grokked it instantly. I've been using it ever since, only taking the liberty to drop the first two Y from the YYYY (the century can usually be inferred) in handwritten notes. This beautiful little article uses all the right arguments I've always wanted to make, including endianness, so I'm done here.
Tags: the-nerdy-bit
Building Reform
It's about time I post some imagery from my Reform laptop building experience. (This happened months ago.) I'll document this mostly by sharing the images in chronological order below, and dropping in an occasional comment.
So it begins ... the Reform box and my beloved Ifixit kit. The second image shows all of the components, each meticulously wrapped in paper.


Here are the components. After the bird's-eye view, there are the trackball, OLED display unit, power supply, acrylic case bottom, the mostly pre-assembled case itself (closed and opened), keyboard and keyboard frame, mainboard, and miscellanea (including such important things as SSD and WiFi card).










It begins. The batteries need to be removed from the case, because they come somewhat pre-powered, and it's not a good idea to work inside the case with the batteries inserted.



Of course, I needed to ground myself prior to dealing with any of the more sensitive components. This was not a mindfulness exercise or something, but involved connecting myself to a power plug. Don't worry. I just connected to the ground pin. All is well.

First, I mounted the mainboard and trackball.

The keyboard came next, and after connecting some wires, it could right away be mounted into the case, followed by the OLED board. The keyboard frame completed the top, and I could return to the innards, to connect the keyboard to the mainboard.





SSD and WiFi card fit neatly into the provided slots. The final touch before mounting the acrylic case bottom was to reinsert the battery cells and connect the power to the mainboard.




A little bit of inspection revealed that I had broken one of the side panels by tightening one screw too much. Not a biggie. A quick check of the batteries showed seven fine cells and one that still needs to be calibrated.


Time to get real: booting up, connecting to the home WiFi, starting Firefox, and loading the Babbel homepage were entirely straightforward. Success!


The assembly was a breeze, mostly because of the perfect instructions. What I find remarkable about this machine is that it's entirely maintainable with just a screwdriver. The acrylic case bottom makes it quite a sight.
One other bit I really like about the machine is the "circle" key (top right of the keyboard), which is a direct gateway to the lowest level of the machinery. Pressing the circle key, followed by 1, turns the machine on, 0 will turn it off. Circle B will show the battery status in the small OLED display right above the keyboard - down to the level of the voltages of the eight individual cells. And so forth.
I've been working my way into the machine, exploring the Sway desktop (quite amazing, honestly), making sure some of the favourite software runs on the machine, et cetera. Stay tuned.
Tags: the-nerdy-bit
Code Pwnership
code pwnership: being in charge of a code base multiple clients depend on, having exclusive commit and release rights, and totally refusing to fulfil requests or consider pull requests.
Tags: the-nerdy-bit, work, hacking
Christopher Alexander
Christopher Alexander is an architect some of whose work is widely known in and has had considerable influence on the computer science / programming communities. Why is that?
Alexander coined the notion of design patterns and pattern languages, most prominently collected in his books The Timeless Way of Building and A Pattern Language. The idea of patterns - recurring abstract solutions for specific problems that can be applied to likewise abstracted problems - has percolated to the object-oriented programming research community, and a group of researchers called the "Gang of Four" subsequently published their seminal book titled Design Patterns: Elements of Reusable Object-Oriented Software. This book has spawned a wealth (some would say: plethora) of research in software design, first in object-oriented programming, and then reaching out to other paradigms.
If you've ever come across a Java class named SomethingSomethingFactory, you've seen a piece of the outcome of this.
Anyway, here's a documentary on Alexander and his work and thinking.
Tags: the-nerdy-bit
HOPL IV
The HOPL (History of Programming Languages) conference is a rare event - in 2021, it's only seeing its fourth instalment. The talks and papers at HOPL are typically larger descriptions of how certain programming languages came to be, or have developed over time. Many of the authors and presenters at HOPL are key players in the field, with long and impactful careers.
HOPL 2021 does not disappoint, and the pre-recorded talks are a treasure trove. There are talks from people who know about Logo, Clojure, JavaScript, MATLAB, C++, VHDL, ... to name just a few. Due to my own past, I'm sort of personally attached to this presentation on Smalltalk by Dan Ingalls. The Smalltalk programming language and its implementation were my main research area for several years, and I used Smalltalk VMs in my academic teaching. Dan Ingalls is one of the creators of Smalltalk who has been working with and on several generations of the language and its implementation since the Seventies.
To see a truly different language for a change, don't miss the presentation on APL.
And finally, there's a talk by James Noble and Robert Biddle. Just this much: these two never disappoint. Give it a try.
Tags: the-nerdy-bit
The Language Lover's Puzzle Book
A former colleague recommended me this book by Alex Bellos: The Language Lover's Puzzle Book. So far, I've only skimmed it, so I cannot give a fully formed opinion. What I've seen is really good though.
It's indeed a puzzle book. Every chapter begins with a vocabulary quiz. Each of the chapters, in turn, explains some things around broadly language-related matters. For instance, family relationships, ciphers, ancient languages, alphabets, computer languages, and so forth. The fun part is that many of the explanations, again, come in the form of quizzes. That should make reading - or rather, working - through the book really challenging and interesting. Of course, the appendix has all the solutions.
Tags: books, the-nerdy-bit
Turing Machines
The Turing Machine is a theoretical abstraction for the discussion of computability problems, and one of the absolutely key fundamental ideas in computer science. They were introduced by Alan Turing in a paper titled On Computable Numbers, with an Application to the Entscheidungsproblem, which was published in 1936. Any algorithm that can be represented as a Turing machine can be processed by a computer, and vice versa. Turing machines are the simplest abstraction for computability there is. Notably, there are Turing machines that describe Turing machines, proving they're, well, computable.
Any programming language that is Turing complete can be used to express any possible algorithm. Elegance is not implied, just sheer possibility. Thus, considerable sophistication, such as in languages like Haskell, isn't needed. A simple language like Brainfuck is Turing complete as well. Arguably, the "hello, world" source code in Brainfuck is not readily intelligible, but that's not the point.
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
Turing machines are such a fascinating idea that people have even built Lego versions of them.
Anyway. I wanted to point to a really interesting book. Turing's seminal paper, while groundbreaking, is a bit hard to access because of its mathematical style. Charles Petzold has thankfully set out to take the paper and write a book around it that explains everything in great detail for a much broader audience. The Annotated Turing is a really fun read.
Tags: the-nerdy-bit, books
Ostersemmel Time
Happy Easter!
In my home town, Attendorn, there's a wealth of Easter traditions.
I particularly love the tradition of baking "Ostersemmel", i.e., rye/wheat/sourdough bread with generous amounts of caraway seed (good for digestion at the end of Lenten fasting, and oh so very tasty), shaped in a way vaguely resembling a fish (an ancient Christian symbol). Traditionally, those breads are formally blessed on Holy Saturday, and can be eaten only thereafter, or else. They taste best with butter and hard-boiled sliced egg or bacon.
If you're interested and can read German, check this out, otherwise ask me.
Ever since I live far away from Attendorn, I bake a pair of these myself for Easter. This year, again, mine were every bit as tasty as they had to be, and of course the family and me indulged big time.

Tags: the-nerdy-bit
Know Your E-Mail Address
I have an e-mail address at a large e-mail provider. A lady somewhere in Mecklenburg-Vorpommern with whom I share some naming details accidentally misused my e-mail address to buy some clothes online. Now I have her address and phone number, because the company chose to put all of those into the order confirmation e-mail.
In fact, things like this happen a lot, and since we're talking about personal data after all, I normally take some steps to sort this out. In some cases, I'd use postal addresses to send those people a friendly letter. This lady, I gave a call - her reaction was quite bewildered but she immediately saw the point. I've deleted that e-mail now.
While is may be funny, it's actually quite serious: people can easily expose personal data just by mistyping their e-mail address.
Some guy in the Ruhrgebiet has a freakin' phone contract with Vodafone that runs through my e-mail address. While Vodafone hasn't shared any address details in e-mail and also not exposed other things, I've still called them about the matter, only to be met with utter incompetence. The call center agent didn't understand the problem. His supervisor, to whom I ended up talking, promised to see about things but nothing has changed.
I was also once sent the personal retirement data, including birth date, address, and SSN, of someone in the US. This kind of thing is scary.
The most recent incident of the sort is, you guessed it, Covid-19 related. Some student at a university on the North American continent had accidentally used my e-mail address to register for a vaccination slot. Obviously, it was me who got sent the confirmation, date and time, and more details about the procedure. Happily, the notification e-mail also contained the student's phone number, so I sent a text message with the details, and things were good. Still, the whole thing made me cringe.
It's OK when someone misspells their e-mail address and accidentally uses mine. However I do believe companies should take measures to make it very hard for such accidents to have data privacy consequences, or for the accidents to be remedied. If I have to send in a lawyer to sort such things out (this can be interpreted as impersonation, even though it's somewhat inversed), that's a pretty high threshold.
Tags: the-nerdy-bit
I am ...
Once the connection clicked, this was too obvious to not be done. (Check this earlier post for a hint.)

Tags: the-nerdy-bit
Metropolis
Movie time. Fritz Lang's Metropolis (1927, watchable here) is a masterpiece. Your mileage may vary regarding the story, but take in the imagery. This movie inspired C-3PO, one Bat Man movie, and it has a Really Evil Frankenstein style Supervillain. And the sound track. The sound track! This is a silent film, but it features a large-scale orchestra playing a more than two hours long symphonic poem score that can easily be enjoyed without the images. Gottfried Huppertz, the composer (whose name I'm pretty sure you haven't heard unless you know the movie) was a genius. I fondly recall one occasion in Nikolaisaal Potsdam where the movie was shown, and an actual orchestra was performing the score live.
Tags: the-nerdy-bit, music
Catchy Music Openings
Do you know that feeling when a piece of music captivates you with the first few notes? I experience this in two different ways. One is that a piece of music just goes BAM! and ties me to the spot so that I can't stop listening. The other is that it gives me that "oh, this is interesting" feeling and makes me curious. Here are some examples. What are yours?
BAM!
Gustav Mahler, Symphony No. 8 (I took part in one performance myself once - whoa!)
Leonard Bernstein, Chichester Psalms (sang that one too once - the lyrics are in Hebrew, and the 7/4 measure in the first movement is pure joy)
Felix Mendelssohn Bartholdy, 100. Psalm (no idea how often I've sung that one)
"Oh, this is interesting."
Tags: the-nerdy-bit, music
Thesaurus Rex
For us language lovers, here's a nice hefty brick of a book that will make you chuckle and think. Thesaurus Rex is a dictionary of sorts. It's a bit in the tradition of Douglas Adams' masterpiece The Meaning of Liff (available in German as Der tiefere Sinn des Labenz), wherein Adams used the names of cities to ascribe to them meanings and concepts that we all know exist but didn't have words for so far. While Liff/Labenz originate in English, Thesaurus Rex originates in German, and, while doing a similar thing for naming as yet unnamed concepts, uses puns to that end. In that, it's more Joycean in its approach, which doesn't make it any less good.
One of my favourites is "Dellfin". To appreciate it, you need to know that "Delle" is a German word for "dent". Now, a Dellfin can be one of two things: (a) a dented dolphin, (b) the end of a computer manufacturer.
Thesaurus Rex is full of such goodness.
Tags: the-nerdy-bit, books
Laptop Purchase
A while ago, I backed the CrowdSupply campaign for Reform, an open-source laptop. There's a small Berlin based company behind this, the founder of which, Lukas F. Hartmann, is a genius. He likes to build things from scratch in an open source fashion. One example is an operating system. Another is the Reform laptop. Lukas and friends have designed the entire machine from the ground up, PCB layout, keyboard, case, and all that. The open source philosophy goes as far as making 3D printing instructions for the case parts available. The laptop is a bit clunky, but completely maintainable (no hardwired battery!). It's also a bit pricey and comes with little memory, but the idea as such has my greatest sympathy.
Future editions of the laptop might go even further open source. The current processor is still based on (proprietary) ARM architecture, but Lukas is already thinking about a RISC-V based machine.
In backing the campaign, I chose the package that involves me assembling the laptop from its parts. This is going to be so much fun. I've also agreed with Lukas to save him the shipping cost, and will pick up the box in person in Berlin, hopefully in December.
Tags: hacking, the-nerdy-bit
Conlon Nancarrow
YAML indentation patterns inspired this.
They did not inspire Conlon Nancarrow, who passed away well before YAML was even conceived of. Nancarrow wrote, or rather, punched, music for player piano. That's the kind of piano that will play music on its own from punched tape. Composing for this instrument, instead of for human piano players, can do interesting things because you don't really have to pay attention to the music being playable with human hands. You can experiment with very precise timing, geometrical patterns, and so forth. Nancarrow wrote about fifty "Studies for Player Piano".
Here's two examples.
Study no. 5 made me think of YAML, or YAML made me think of it. I wonder what happens if you feed this to Kubernetes. It sounds like crazy ants.
Study no. 3a is a bit more conventional. It's Boogie Woogie on steroids.
Tags: music, the-nerdy-bit
Pi Crunching
One of my numerous Raspberry Pis is now part of IBM's World Community Grid, crunching data to support finding a Covid-19 treatment.
Tags: the-nerdy-bit
Coding Lullaby
I thought I'd share a little ditty I once wrote. It's disgraceful but funny, I think. You might know the tune.
Coding Lullaby
Hush, little test suite, don't you break,
coder's gonna fix that bug ere you awake.
If that fix ain't gonna make you pass,
coder's gonna slap you right up the ... version history.
Tags: the-nerdy-bit