Josh On Design

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

    Bridging the Gap: Auctioning off my webOS Collection to Fight Cancer

    August 25th, 2013

    Hi. My name is Josh Marinacci. You might remember me from the webOS Developer Relations team. Despite what happened under HP, webOS is still my favorite operating system. It still has the best features of any OS and an amazing group of dedicated, passionate fans. I deeply cherish the two years I spent traveling the world telling everyone about the magic of webOS.

    Read more...

    Tagged: family webos

    I threw the blog away, again.

    August 24th, 2013

    After over a year of living with my custom built blog system I'd finally had enough last weekend. Time for something new. Something less buggy. Something extensible. So I took a day and rewrote it from scratch.

    Read more...

    Tagged: blog

    Apps and Projects

    August 23rd, 2013

    Recent Projects

    • 8 part blog series on building a web browser from scratch in 100% Rust.
    • AminoGFX-GL: an Javascript hardware accelerated scenegraph for the RaspberryPi. (see this screenshot I made a few years ago).
    • PureImage: a 100% pure Javascript implementation of HTML canvas for use on the server with Node. Supports JPG, PNG, and TTF fonts. Use it for server side image resizing, unit testing, or rendering into gigantic offscreen bitmaps.
    • SideDeck: realtime HTML presentation framework. Try it here.
    • Silly.io: The Ministry of Silly Things, an open source wikipedia for computable data.
    • Brainshell-Parser: parser for a unit based calculator. See it live here.
    • AMX: yet another node process manager.
    • MeowLang, a simple programming language built from the ground up on Ohm. Written for this blog series on how to build your own language in under 200 lines of code.
    • Razzmaster: CLI program to find and configure headless Raspberry Pis on your local network.
    • URLExpander: a super tiny URL expander written in Node + Express.
    • PixelEater: a web-based pixel drawing tool with layers, palettes, zoom, and eyedropper.
    • Pixel Font Metrics Editor:
    • XmasCard 2016: a retro JRPG comedy Christmas card.

    Older Projects (mostly dead)

    • FontSlicer: render glyphs from Font-Awesome and other icon fonts as PNGs, with selected color and font size. All client side. Shows off PNG and zip file manipulation in the browser.
    • photonsh: a simple shell implemented in pure JS. See the blog post for details.
    • HexCanvas: draw pixels, turns into hex code for Adafruit LED matrixes.
    • BabyCad Plate: simple tool to position holes in a flat plate, then download an STL for 3D printing.
    • BoxMatic: simple browser CAD app to make a box w/ holes in it for 3D printing. Shows 3D rendering using OpenJSCad. Does 2D rendering with Amino.
    • ANT task to bundle of Java 6 (not Java 7) apps as desktop executables. github project
    • Flying Saucer: Pure Java CSS 2.1 HTML renderer. I haven't worked on it in a while, but there's still a community around it. Good for rendering PDFs. code, Wikipedia Page
    • Leonardo Sketch: a desktop drawing tool. written in java.
    • Arduino X: Java: alternative IDE for Arduino, rewritten from the ground up. github project
    • Electron: Alternative IDE for Arduino, written with Atom Shell. No longer in development. Github repo.
    • Javadocs 2020: an early attempt to reinvent JavaDocs

    Read more...

    Tagged:

    My Books, Writings, and Videos

    August 23rd, 2013

    I have written countless articles and blogs, spoken at many developer conferences, and written three books. This is a sample of my work.

    Read more...

    Tagged:

    Me, My Books, and My Code

    August 22nd, 2013

    I am Josh Marinacci: manager, developer advocate, software engineer, researcher, usability expert, and general miscreant. I have a passion for great user experiences. I live in Oregon with my wife and kiddo. I'm currently helping to keep the Web open and free at Mozilla. I also write bad sci-fi short stories.

    Read more...

    Tagged:

    SparqEE's Cell: Add GSM Data to Anything.

    August 20th, 2013

    SparqEE's Cell is a just launched Kickstarter project to build a GSM data module ready to integrate with Arduino, Raspberry Pi, or any other embedded hardware kit. In addition to the cellular board they are also offering SIM cards with discount data service; a first in the projects I've looked at.

    Read more...

    Tagged: arduino interview

    Plaid is the New Flat

    August 12th, 2013

    So I been thinking. Design comes in waves. First it was page curls and drop shadows. Then came glossy buttons and wet floors, followed by shiny badges and rough textures. Today 'flat' is the leading trend in UI design. It certainly defines the look of Web ’13. Even Apple has jumped on the bandwagon. But what comes next? Where do we go from here? Whither 2014?

    Read more...

    Tagged: design humor

    Functional Reactive Programming with Bacon.js

    June 7th, 2013

    Lately I've been experimenting with Functional Reactive Programming, or FRP. There are several good libraries to use FRP with Javascript. I chose Bacon.js. I'm finding FRP to be very useful but hard to understand.

    Read more...

    Tagged: javascript frp

    Concise Computing: a PNG Parser in 20 lines

    March 18th, 2013

    By what standard should we measure if code is "beautiful"? I argue it should be not lines or speed, but rather conciseness and clarity. Can someone who is not familiar with the language still understand what the algorithm does? Can someone not familiar with the task still get a feel for how it works? This metric favors shorter code over longer, but not at the expense of readability. Beautiful code should be as close to expressing the underlying algorithm as possible. How close is the actual code to the most straight forward pseudo code?

    Read more...

    Tagged: ometa concise

    A Magically Delicious Wordprocessor with OMeta

    March 5th, 2013

    I've always wanted a magic wordprocessor. Something that helps me organize my thoughts and build ideas organically, rather than spend all of my time worrying about formatting. Something for the internet / cloud age. Given that Microsoft Word hasn't fundamentally changed in over a decade (or possibly two), we aren't likely to get such software from them. Instead, I decided to play around with some ideas using my new favorite programming tool: OMeta.

    Read more...

    Tagged: markdown ometa demo

    Improved Easing Functions

    March 1st, 2013

    Animation is just moving something over time. The rate at which the something moves is defined by a function called an easing equation or interpolation function. It is these equations which make something move slowly at the start and speed up, or slow down near the end. These equations give animation a more life like feel. The most common set of easing equations come from Robert Penner's book and webpage.

    Read more...

    Tagged: programming rant graphics

    Make Libraries More

    February 13th, 2013

    Software Libraries are good. They allow abstraction and encapsulation; which encourages reuse. They also allow the library to be written by one person and used by another. This is reuse at the programmer level, not just the system level. A library can be written by a person who has domain expertise but used by someone else who has less or no expertise in that domain. For example: an XML parser. The implementer knows the XML spec inside and out, but the user of the lib needs only a basic understanding of XML in order to use the lib.

    Read more...

    Tagged: programming compilers

    Why should children learn math?

    February 6th, 2013

    In my hunt for what's next I've been reading a lot of books lately. A lot of books. As part of my search I decided to hunt down some of the classics in the computer science field that I'd missed over the years. First articles, then research papers, and some Alan Kay work. That led me to a book I'd always meant to read but never found the time: Mindstorms, by Seymour Papert.

    Read more...

    Tagged: rant education

    Review: Practical Computer Vision

    February 5th, 2013

    The idea of computer vision has always fascinated me. The ability to get from a plain image to an understanding of it's contents seems magical. Though I understand a bit of the underlying math, to build my own computer vision system would take years of study. Fortunately, this book and an open source library come to the rescue.

    Read more...

    Tagged: bookreview

    OSCON 2013 Ideas

    January 28th, 2013

    Below are my three main session proposals for OSCON, plus a few random ideas near the bottom that aren't fleshed out. Please give me some feedback on what you like and don't like. My goal is to have four really solid submissions. Thanks!

    Read more...

    Tagged: oscon essay

    Questions We Must Ask

    January 24th, 2013

    Progress comes not from inventing new answers, but from discovering new questions. -- some guy

    Read more...

    Tagged: essay

    OSCON 2013: What do you want to see?

    January 7th, 2013

    The call for proposals for OSCON 2013 just went out. OSCON is the one conference I try to speak at every year because the topics are so diverse and interesting. And being just up the road in Portland doesn't hurt either. However, I'm having trouble deciding what to submit. Too many things interest me. So I thought I'd consult the wisdom of the crowd. What do you want to see?

    Read more...

    Tagged: oscon canvas html

    Super Christmas Adventure

    December 24th, 2012

    Much like a painter or musician, sometimes I an idea forms in my head and will not let me rest until it comes out. Usually such an idea is an algorithm or graphics demo, but this time it came in the form of a game; a game which will not quiet until born.

    Read more...

    Tagged: retro game demo

    The Unofficial Lego Technic Builder's Guide

    December 19th, 2012

    Most book publishers don't really have a 'brand'. You buy a book because of the title or the author. No one cares who Stephen King's publisher is. However, every now and then a publisher comes along who simply makes cool books. A publisher who's books I will buy regardless of the title or author. No Starch Press is one such publisher.

    Read more...

    Tagged: bookreview

    I have declared Internet Bankruptcy

    December 18th, 2012

    Last night I declared Internet Bankruptcy.

    Read more...

    Tagged: essay

past future
Like this? Hire Me!