All Posts

Ronin Time Bureaucrats: Is there an afterlife? (part 2)

Well, it’s simple, really: every question has an answer, and somewhere in Space·Time, there is someone who has that answer. Do you want that answer? Do you want it? Well, Time Will Tell, Inc. can get it. Sign up with us, and we’ll send a team of highly trained Space·Time operatives after that very special person who knows.

Ronin Time Bureaucrats: Is there an afterlife?

Is there an afterlife? Why, of course, there is, and you came to the right place!

Ronin Time Bureaucrats: The Time Adjustment Foundation

While the Time Federation is forever limited by its Prime Directive, some wanted to go further, and managed to create a covert operations branch called the Time Adjustment Foundation. And further is exactly where it goes.

Ronin Time Bureaucrats: The Time Federation

After the debacle of the Space·Time Fleet and the loss of many of its Continuum Indirections to imploded Pocket Continuums, the idea of a large Space·Time force was very nearly shelved, and its remaining ships docked. Some of the surviving cadres of the Space·Time Fleet, however, took advantage of this lack of purpose, and came up with an idea to salvage some of the huge costs sunk into the fleet itself.

And now, for something completely different: Ronin Time Bureaucrats

When I’m not busy attempting to reduce the startup time and power requirements of web pages with the JavaScript Binary AST, I’m into Improv Acting and Role-Playing Games. I’d like to introduce a hobby project of mine, which I have started over the summer: Ronin Time Bureaucrats – an narrative/improv Role-Playing Game of Handwavy Time Paradoxes.

Thinkerbell Postmortem/Brain dump

Two years ago, I was working on a research project called “Project Link” as part of the Connected Devices branch of Mozilla. While this branch has since been stopped, some part of Project Link lives on as Project Things. One of the parts of Project Link that hasn’t made it to Project Things (so far) was Thinkerbell: a Domain-Specific Language designed to let users program their SmartHome without coding. While only parts of Thinkerbell were ever implemented, they were sufficient to write programs such as: Whenever I press any button labelled “light” in the living room, toggle all the lights in the living room. or If the entry door is locked and the motion detector notices motion, send an alarm to my SmartPhone. Thinkerbell also had: semantics that ensured that scripts could continue/resume running unmonitored even when hardware was replaced/upgraded/moved around the house, including both the server and the sensors; a visual syntax, rather than a text syntax; a novel type system designed to avoid physical accidents; a semantics based on process algebras. Ideally, I’d like to take the time to write a research paper on Thinkerbell, but realistically, there is very little chance that I’ll find that time. So, rather than letting these ideas die in some corner of my brain, here is a post-mortem for Thinkerbell, in the hope that someone, somewhere, will pick some of the stuff and gives it a second life. Note that some of the ideas exposed here were never actually implemented. Project Link was cancelled while Thinkerbell was still in its infancy.

JavaScript Binary AST diaries - How to replace proving with validating for fun and profit

In this entry, I’d like to discuss one of the most interesting and unusual aspects of the Binary AST: how we gain performance by turning proof-building into validation, and why this is very good news for performance (and maybe not so good news for file size).

Typestates in Rust

A long time ago, the Rust language was a language with typestate. Officially, typestates were dropped long before Rust 1.0. In this entry, I’ll get you in on the worst kept secret of the Rust community: Rust still has typestates.

Binary AST - Motivations and Design Decisions - Part 1

“The key to making programs fast is to make them do practically nothing.” - Mike Haertel, creator of GNU Grep. Binary AST - “Binary Abstract Syntax Tree” - is Mozilla’s proposal for specifying a binary-encoded syntax for JS with the intent of allowing browsers and other JS-executing environments to parse and load code as much as 80% faster than standard minified JS. It has recently cleared Stage 1 of the TC39 standards process, and while the final byte-level format isn’t completely nailed down, we’re confident that the final implementation will deliver the impressive performance improvements promised by the prototype.

JavaScript Binary AST Engineering Newsletter #1

Hey, all cool kids have exciting Engineering Newsletters these days, so it’s high time the JavaScript Binary AST got one! Summary JavaScript Binary AST is a joint project between Mozilla and Facebook to rethink how JavaScript source code is stored/transmitted/parsed. We expect that this project will help visibly speed up the loading of large codebases of JS applications and will have a large impact on the JS development community, including both web developers, Node developers, add-on developers and ourselves.