Josh On Design

  • Blog
  • About Josh
  • Books & Writing
  • Apps & Projects
  • Hire Me
past future

    We All Make Mistakes

    January 31st, 2019

    I had the great pleasure to meet lots of dedicated engineers, researchers, and scientists at the W3C Immersive Web Working Group face to face meeting this week. This is the team dedicated to creating standards for mixed reality so that we can all enjoy future interactive content from the web-browser of our choice.

    Read more...

    Tagged: programming

    This is why DRM is a Bad Idea

    January 29th, 2019

    This is why DRM is a Bad Idea

    Or, an attempt to exercise my digital rights, badly managed.

    Read more...

    Tagged: rant

    My 2018 Developer Relations Year in Review

    January 15th, 2019

    2018 was a pretty good year. Jesse loves 2nd grade, Jen earned a new car (her 10th?), and it marks my first full year at Mozilla. Professionally I feel like I’ve been all over the place. I’ve tried lots of new ways to reach people, some successful and others less so. The teams I serve are happy so I guess I’m doing things okay, but I want to prune in 2019. I want to stop doing things that have not been effective and double down on the things that seem interesting. 2019 should be a very interesting year for WebXR, but before we get to those plans, let’s review 2018.

    Read more...

    Tagged: devrel

    Manga Guide to Cryptography

    October 9th, 2018

    The Manga Guide to Cryptography by Masaaki Mitani, Shinichi Sato, Idero Hinoki is a rather improbable book. Can you really teach crypto, a notably math heavy subject, through a graphic novel? The answer is: sorta.

    Read more...

    Tagged: bookreview

    Lego Power Functions Idea Books

    October 6th, 2018

    If you have a kid who loves Legos, or are a Lego nut who just loves Legos (or both, like me), then you know about the Technic line, a set of kits with motors and gears for building crazy contraptions. My son and I both love them.

    Read more...

    Tagged: bookreview

    ScratchJr Coding Cards

    October 6th, 2018

    If you haven't used it before, Scratch is a programming environment for teaching kids. It's a real programming system with loops and conditionals, but it uses visual blocks rather than textual syntax, making it *far* easier for kids to learn. Recently the Scratch team created Scratch Jr, a simpler version for younger kids that runs on tablets like the iPad. One of the problems with Scratch and Scratch Jr is that once you have completed the in-app tutorials you are left to your imagination to come up with new things to build. Some kids need a bit more guidance. That's where No Starch Press' ScratchJr Coding Cards come in.

    Read more...

    Tagged: bookreview

    One Year at Mozilla

    August 14th, 2018

    One year ago today I joined the Mixed Reality Team at Mozilla.

    Read more...

    Tagged: mozilla

    Fluke, by Christopher Moore

    August 6th, 2018

    I just finished reading Fluke: Or, I Know Why the Winged Whale Sings by Christopher Moore. I’m a fan of Christopher Moore. I really love his mixture of humor and the fantastic. I consider him a modern day Douglas Adams. Lamb is an amazing book that I encourage everyone to read. But Fluke? Well, Fluke fell short. While it was mostly enjoyable it had some major flaws that sort of ruined it for me. Needless to say. Spoilers are coming.

    Read more...

    Tagged: bookreview scifi

    How Bezier Curves Work

    July 11th, 2018

    Today we are going to take a break from creative procedural generation and talk about a very useful graphics primitive, the Bézier curve, and learn how to render it from scratch.

    Read more...

    Tagged: javascript graphics procgen

    Being an Independent Researcher

    July 10th, 2018

    Recently Nadia Eghbal posted about the history of independent researchers. One crucial point (hinted at in her article but I don't think is explicit enough) is that to be a researcher you don't need to have a big organization behind you or credentials, but you do have to publish. Sharing research, both the successes and failures, is what makes science work. If you hoard away your research and keep the results a secret then you aren't a scientist, you're an alchemist.

    Read more...

    Tagged: rant research

    ProcGen: Playing with Color

    June 11th, 2018

    Welcome back to my series on procedural content generation. Today we are going to learn how to play with color. Generating textures is great, but it's so much better when we can generate new color schemes to go with our textures. First, however, we need to do a little clean up.

    Read more...

    Tagged: procgen graphics node

    I'm Afraid Your Daughter is a Vampire

    June 11th, 2018

    "I'm afraid your daughter is a vampire". The words still rang in Bob's ears. The content of the words were less shocking than the calm and straightforward manner the old man said them. Vampires are the fictitious villains of medieval fairy tales, yet the man used that word so casually, as if her were describing a case of the flu.

    Read more...

    Tagged: shortstory scifi

    In the Year of our Lord

    June 11th, 2018

    The captain stared into the abyss through his cabin window pensively. So many stars. So many possible worlds, yet so empty. He took another swig of a drink. It's hard to get the good stuff in space, he mused, but captains rations were decent.

    Read more...

    Tagged: shortstory scifi

    ProcGen: Gradients and Lerps

    June 7th, 2018

    We've built a lot of stuff so far. In part one we built some tools and noise. In part two we created patterns with sine waves, then mixed them with noise. However, so far our images are essentially black and white, or occasionally hard coded to a particular color like red. Today we're going to lerp through some colors. Don't worry, I'll explain that this means in a minute.

    Read more...

    Tagged: procgen node graphics

    ProcGen: Sine Waves

    June 6th, 2018

    Now that we've got a little toolkit from part 1, let's draw a simple sin wave. As you may recall from your trigonometry, the sin function goes from -1 to 1. It also loops forever. That's going to be very handy.

    Read more...

    Tagged: graphics procgen node

    Procedural Generation Challenge

    June 6th, 2018

    Thanks to a project I'm doing at work I started reading a book on procedural content generation. ProcGen (as apparently the cool kids call it) is all about creating interesting systems with randomness, which inevitably brings up texture generation, which brings up Perlin Noise, one of the most useful sources of randomness.

    Read more...

    Tagged: graphics procgen node

    Introducing AMX: a simple node process manager

    June 3rd, 2018

    Or rather, re-introducing. I created AMX a few years ago when I needed to run some crash prone node processes on my server. AMX originally stood for something, but I can't remember anymore. I looked at existing tools and found them all overly complicated. In my mind a process manager is pretty simple. There's a list of programs that should keep running. If one stops, start it again. That's it.

    Read more...

    Tagged:

    Beat Saber Rawks

    May 19th, 2018

    It's not a secret that I am unimpressed by most VR games. While I am excited about the potential of VR & AR for education and enhancing human cognition, games simply bore me. Or the did. Now I stand corrected. Beat Saber rawks!

    Read more...

    Tagged:

    Mobile VR Problems

    May 15th, 2018

    I tried to use my sparkling new Oculus Go on an airplane yesterday, since it seems like the obvious place to use it. The number one thing I think people will want to do with this device is download some Netflix movies for a plane. I mean, who wouldn't want to leave the cramped loud environment of an airplane for the calm of their favorite movie over a fun moonscape background. Sadly, Netflix doesn't support downloads in their VR app, even though they do in their mobile ones. Hey Netflix! Turn it on!

    Read more...

    Tagged: rant webvr

    Heading out for some MR fun

    May 14th, 2018

    Holy carp, we've been busy.

    Read more...

    Tagged: mixedreality

past future
Like this? Hire Me!