Mr Speaker

Category: Javascript

The best kind of script

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) => […]

Explostyx: explody 3D french fries

Some more crazy 3D action in the form of Explostyx: explody 3D french fries thing. It’s what happens when you make one simple thing and then just repeat it a whole stack of times. Like all good pop art. It’s using Three.js, and 100-odd lines of ES2015 – so it’s a pretty simple example if […]

Wanna do new JavaScript + React?

Here’s the “easiest” way to get started with the latest version of JavaScript (so much new stuff in es2105!) and the most popular kid (for this week, at least) in the JS framework playground: React. This approach uses the wonderful new JSPM package manager… so if you’re not willing to place your bet on this […]

Announcing JS.scala v0.1

I’m pleased to announce the initial releas of JS.scala. JS.scala compiles JavaScript source code to Scala source code, allowing you to write your web application entirely in JavaScript! Finally, the expressive power of JavaScript available on the JVM via Scala (some call it “the bytecode of the JVM bytecode”). How does it work? Well, given […]

Oculus Rift Reddit Internet Explorer

Recently both Firefox and Chrome released VR-enabled version of their browsers. Just as Lawnmower Man predicted. I decided to test them out with the Rift, by hacking together “Mr Speaker’s Internet Explorer” (or the repo): It loads any ImgUr images in a sub, and finds related subs mentioned in the “about” info.

One-line array wrap

I like this lil’ one-liner for wrapping around an array forward, or backwards. Given an array, with a current index, you want to move either to the next item, or the previous one. Here’s the setup: var a = [“alice”, “bob”, “charlie”], current = 0; // start with “alice”, direction = Math.random() < 0.5 ? […]

Into the third dimension

My loyal long-term readers (by whom I mean Anton) would know my technological aesthetic bent strongly favour the 1980s. Seeing as the third dimension was not discovered until 1992, I have thus far had little inclination to bother with it. But things have changed: now that the 90s are suitably retro I feel it’s finally […]