How I’m making quantum computing accessible to anyone with a web browser.

Image for post
Image for post
Image by author.

Q is a quantum circuit simulator, drag-and-drop circuit editor, and powerful JavaScript library that runs right in your Web browser. Try it out now at https://quantumjavascript.app

I didn’t know a thing about quantum computing but it sounded exotic — something about “yes” and “no” existing at the same time; in multiple universes even. Over the years I’d idly snacked on quantum video lectures but those scraps of pop science were the educational equivalent of Pop-Tarts. Meanwhile the substantive, nutrient-rich lectures of sages like Leonard Susskind, while deeply soothing, were ultimately inapplicable in my daily classical existence. By chance I happened upon something more directly digestible; Andrew Helwer’s “Quantum computing for computer scientists.”


Image for post
Image for post

I wrote the following article for AIGA’s Design Envy blog where it was first published on Friday, 11 November 2011—originally titled “Reconstructing Visual Experiences from Brain Activity Evoked by Natural Movies: Gallant Lab.” It concluded my week-long stint as Design Envy’s guest poster. In the nearly eight years since, Design Envy has fallen into disrepair and today the website is no longer functional. For that reason I’ve decided to re-post my minimally-updated article here for posterity. [Original post.]

The coming revolution will favor typographers. The Gallant Lab at UC Berkeley recently published a scientific paper and video titled “Reconstructing visual experiences from brain activity evoked by natural movies.” What the paper describes is a process for vaguely knowing what a person’s looking at by observing the blood flow in their brain. …


Image for post
Image for post

Their construction was clumsy — an eighth inch gap between the wooden door and metal jam. My skeleton key of shirt-hanger wire found purchase on the bolt’s angled head; rewarded with a clack, followed by a descending creaking of hinges. Then complementary ascending creaks, crescendoing to the muted thud of wooden door re-meeting metal jam. The trebly tock of the painted light switch. Finally, the low whoosh and clunk of the piano’s keyboard cover rolling backward to reveal an inert, binary-colored axis of pitch. There is peace in solitude.


Who needs expensive holographic goggles when you and your buddy have new smart phones and some old-school Cardboard?

Image for post
Image for post

Here we are in the first half of 2018 and Augmented Reality (AR) is still primarily a handheld experience. Load up an AR app on your phone — such as Pokémon Go — and hold it out in front of you, scanning the space around you. What you’ll see on your phone’s screen is the phone’s live camera feed, and layered on top of that live video will be computer-generated, virtual objects that don’t exist in our real, physical world. You can interact with these objects by approaching them, aiming your camera directly at them, or even tapping on them through your phone’s screen. …


Hi, I’m Stewart. Last year I launched Space Rocks, a WebXR demo that re-imagines Atari’s Asteroids as an immersive, Web-based, virtual reality experience. Alongside the site’s launch I also released my source code used to create it. This technical deep dive explains how I built this WebXR game—and how you can make one too.

Image for post
Image for post

I wrote Space Rocks to be easy to tinker with right from the browser’s JavaScript console: No closures concealing an entire code base—inspect and inject as you please. I wrote Space Rocks to be read: No pre-processors. No trans-pilers. No minifiers, no uglifiers… The code is legible right from your browser’s View Source command.


Image for post
Image for post

Escape through space on stolen plasma engines while slinging photon bolts at deadly asteroids. How many can you vaporize? Put on your virtual reality headset and pick up your hand controllers. You’ll need them if you want to survive. Play Space Rocks now at https://spacerocks.moar.io

Space Rocks is a room-scale virtual reality space shooter game. And what VR system is this for? Oculus? Vive? Windows Mixed Reality? The answer is all of them. Space Rocks is a WebVR application and that means it runs right in your browser. There’s no store to sign into. Nothing to pay for. And nothing to download or install. If you’re lucky enough to have a virtual reality rig then all you need is a WebVR-capable browser. Good news: Your copy of Mozilla’s Firefox or Microsoft’s Edge already support WebVR. (Thank you, auto-updates!) And Google’s Chrome Canary browser also supports WebVR — with full support landing in regular desktop Chrome in the near future. (In Chrome Canary visit chrome://flags in the address bar, find the WebVR flag, and enable it.) …


Easily add multiple channels of haptic feedback to your WebVR experience with VRController.

Image for post
Image for post

Are you making custom virtual reality experiences for the Web? (You should probably get outside more.) VRController makes it easy to support 3DOF and 6DOF hand controllers for Oculus, Vive, Windows Mixed Reality, Daydream, GearVR, and more. You can download the source code from GitHub here, and if you’re reading this on a system with a VR headset, hand controller(s), and a WebVR-capable browser you can test drive it right now: https://stewdio.github.io/THREE.VRController/

VRController’s been available for a while, but here’s what’s brand new: Haptic channels! Some hand controllers, like the current models for Oculus Touch or HTC Vive, have haptic actuators—vibrating motors—that can pulse or buzz to provide haptic feedback for the user. For example, is the user backhanding a tennis ball across the net at someone? Well then, that moment the virtual tennis racket connects with the virtual ball would be a good time to employ some haptic feedback; to make the controller rumble for a fraction of a second to let the user “feel” the contact. …


A quirky proposal for fixing how calendars divide the year into months.

Image for post
Image for post

Hey. We need to talk about months. Yeah, months. How many days are in this month? You call yourself an adult and yet just now you had to recite a nursery rhyme in your head to figure out the answer—didn’t you? Or maybe you didn’t even bother because you thought you were just reading this for fun and “figuring” sounded like work. (Fuck work.)

Oh wait, though: It’s going to take a little work to fix months. But it’s totally worth it.

Months are an attempt to divide the year (one trip around the Sun) into Moon cycles. But our orbit around the Sun just doesn’t divide evenly into Moons. It takes us just slightly more than 13 Moons to get around the Sun—and that’s not even an integer. When you round it down to 13… Look, 13 is a pretty terrible number. It’s prime so it’s not evenly divisible by anything. And people literally die when you use 13 too much. It’s like dividing by zero. …


On creating Yahoo Mail’s “Autocompose” and how I did [not] invent Google Smart Reply.

Image for post
Image for post

I joined Yahoo’s marketing department as a Director in the autumn of 2013, having just put in a year and change at Google Creative Lab as a Creative Technologist. I’d started feeling out this job opportunity earlier that summer as ex-Googler Marisa Mayer celebrated her first anniversary as Yahoo’s CEO. Yahoo was sporting enormous renaissance potential and after joining I often encountered other former Google folks eager and excited to help restore the big Y to its prior glory. There were also “boomerangs”—former Yahoo employees drawn back into the fold by the company’s potential for rebirth. …


Image for post
Image for post

TL;DR: Chromium’s Gamepad API can be a quirky thing. But if you’re building interactive WebVR experiences with Three.js then VRController.js is here to help.

UPDATE: Some time has passed since I first wrote this. If you’re looking for deeper insight into using VR hand controllers in WebXR check out the Space Rocks technical deep dive where you’ll find that and more:

I’ve been building virtual reality experiences with the WebVR API for some time now—primarily for the HTC Vive, but the beauty of making virtual reality for the Web is that it will also run on the Oculus Rift, Google Daydream, and so on with little additional effort. (It is the Web, after all!) …

About

Stewart Smith

Creative polymath building quantum simulations and virtual reality in Brooklyn NY. http://stewartsmith.io

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store