Mr Speaker

Category: Nerd

Nerdy stuff

These are my Emacs days

I’ve been using Atom as my primary editor for several years now. But recently there’s been a tidal wave of support for VS Code. It swept through the tech industry and washed away Atom and Sublime and friends. I figured it was fruitless to fight the trend, so I switched to Emacs. Now that I […]

THIS IS WHERE YOUR DEMO GOES

THIS IS WHERE YOUR DEMO GOES is my aborted attempt for this year’s js1k competition. It uses the browser’s speechSynthesis capabilities along with some Web Audio API drones to make a lovely bedtime song… I don’t think I’ll get it squashed to < 1k in the next few days though, so plopping it up here […]

The elusive Pinterest App Link handler

App Links seem like a perdy good idea: trying to bring back a bit of the web to walled garden-ed applications. Of course, the issue is it’s up to the individual app developers to support them. And it seems that the big social sites are quite fond of not making things more open. Also, they […]

CyberVision Lite

Indie Game: the movie was filled with inspirational things. The least of which was probably Phil Fish’s self-air-quoted childhood “software” creation: CyberVision. When I watched this a few years ago I thought it was too good to be lost to the ages, so I recreated it. Choose between 150, 300, 600, and 1200 flash. There […]

Code-golfing the BASICs

Moments of genius: they strike me once ever 9 years, apparently. The last one happened when I realised how to correct distribute beers – this one happened when I figured out how to shave 4 bytes off the perennial BASIC classic… 10 PRINT”MR SPEAKER RULEZ!!!!!” 20 GOTO 10 RUN Applying my Mr Speaker’s Stroke-of-genius 2015: […]

British Pathé random video viewer

British Pathé recently released 90,000 videos on to YouTube (though I could only find 82058 of them) – I wanted to make some kind of mashup art with it, but was not creative enough to think of anything interesting. So, instead I present: Random video player! Randomly (and pretty-much-endlessly) play through the collection, marveling at […]

Functions as RxJS Subjects

Here’s a nifty trick if you’re using RxJS, and want to subscribe to plain ol’ function invocation. This is especially useful if you want to use React, and don’t want to bind with Rx.Observable.fromEvent with standard DOM event listeners. import Rx from ‘rx’; const RxFuncSubject = () => { const subject = Object.assign( (…args) => […]

Five short years

On Friday, October 22, 2010 I conducted a scientific experiment: if one URL shortener can make a URL shorter, then fifteen URL shorteners can make it reaaaally short. The results were quite as you’d expect: the resulting link was longer than source, and browsers would go into convolutions trying to resolve the chain of shortened […]