Mr Speaker

Category: Nerd

Nerdy stuff

Fire/Escape

Well well well, it’s been quite a while! Nice to see you again. Sorry for the delay… I forgot my blog password, and I had to run some errands, the decade just got away from me. Anyway, the password was qwerty123 so let’s get on with it… Today’s thing is a terminal-based 90s demo effect […]

Basic-er BASIC

Today I wrote an “eBASIC” code snippet that contained a macro. The macro expansion included another macro that when expanded generated 6502 assembler code – which itself happened to contain a KickAssembler macro: that in turn generated its own 6502 assembler. The result of the entire macro formed part of a BASIC program that POKEd […]

And… goodbye JavaScript!

When I de-bloated my piece of the web, I noted that the largest asset I was serving on my blog was a local version of jQuery – coming in at some 70+ kilobytes – that “I still need to insert into the head of my page for historical reasons: 15 years ago I in-lined lots […]

Monads for Babies

Monads for Babies is the first in a series that teaches computer science to toddlers. It’s only available in digital form at the moment (png format, embedded below), so I suggest `right-click -> print` so you can read it to the lil’ tigers at bed time: Support my Patreon if you’d like to see more.

A most useful function

Hot on the heels of my web colors rant, comes this amazing piece of Emacs Lisp I now have in my init file: (defun web-color () (interactive) (let ((cols ‘(“AliceBlue” “AntiqueWhite” “Aqua” “Aquamarine” “Azure” “Beige” “Bisque” “Black” “BlanchedAlmond” “Blue” “BlueViolet” “Brown” “BurlyWood” “CadetBlue” “Chartreuse” “Chocolate” “Coral” “CornflowerBlue” “Cornsilk” “Crimson” “Cyan” “DarkBlue” “DarkCyan” “DarkGoldenRod” “DarkGray” “DarkGreen” […]

Olive vs OliveDrab

“Name as many of the web ‘X11 color set’ named colours as you can.” should be the new fizz buzz. I think I’d do pretty good, but would always fall down on the “mediums” and “lights”. “MediumPapayaWhip? LightRosyBrown?”. If it were in an interview situation, I could talk for hours about the faded glory of […]

Graybeard

Thanks to a decreased demand in shaving recently, I discovered several grey facial hairs. It’s happening – I’m becoming a graybeard! The timing is suspicious: I start using Emacs, I turn into a graybeard. But did Emacs cause me to get grey hairs, or did the hairs coerce me into to using Emacs?

It Just Works ™

My favourite marketing phrase in all of computers is “It Just Works”. It unwittingly represents nearly all of software engineering. It just works. Only just. The absolute minimum. (Side note: my favourite marketing phrase in sports and fashion is “Just Do It”. If you have to do it, only just do it.)

JavaScript’s Numeric Separators

During a particularly-late night coding session, I accidentally discovered that JavaScript now has “numeric separators”. What started as a simple test in my browser console: `dx=100+xo`, would be drailed by a typographical error that revealed a hidden secret… `dx=100_` As I depressed the underscore-instead-of-plus key, Firefox’s auto-evaluator-thingy sprang into action and warned: “Uncaught SyntaxError: underscore […]