PLOTROCKET - Read More
Soon, AI will be able to create feature-length movies. Anyone with an idea and access to the web could rival the media gatekeepers with stunning worlds and lifelike characters. But it will only hold our attention if creators use it to tell engaging stories!
To that end, I combined artificial intelligence with a standard industry practice for creating episodic fiction, yielding a tool capable of planning multiple seasons of a television series down to the scene and beat.
IN-APP PRO SHOP - Read More
This open source project, called In-App Pro Shop, aims to help Ethereum developers easily support in-app purchases as ERC-721 Non-fungible Tokens (NFTs). Building it taught me a lot about the power and constraints of the Ethereum ecosystem. I learned a new language (Solidity), and all of the associated tooling needed to make reliable progress. Finally, I wrote an eight part series discussing my experience creating a non-trivial set of Ethereum smart contracts and the React/Redux application that communicates with them. Then I turned that into a book.
SINEWAV3 - Read More
The mission remains to create the easiest and most intuitive web-based 3D music visualization and video creation platform in existence. Sinewav3 serves two audiences.
Music Producers – Our ideal music producer wants something easy, quick, and fun, but also customizable enough to create truly unique visuals. Plugin Developers – You know Three.js and want a fast way to build something cool that can respond to music. When producers pay to create a video, developers of the plugins used will get a cut of the sale.
PAGE FIGHT - Read More
This was a fun project that explored the gamification of what’s normally a chore: Reader Feedback.
When an author asks his or her friends what they think, they’re likely to get undeserved praise. When they ask strangers, it’s hard to get anything substantial, because what does a busy stranger owe you really?
So, how do you get feedback that’s unbiased and statistically relevant? You let elements like covers, titles, taglines, and blurbs from different authors in the same genre duke it out.
REACT CHAT CLIENT - Read More
Much of the advice you get regarding the addition of Redux to your React projects is to only do so once they reach a certain size. But it will leave you with a bit of technical debt (refactoring to be done later) that you wouldn’t have if you just started out with React and Redux.
Consequently, I thought it might be nice to present an exercise where we build an app as simply as possible using React and ReactDOM alone and then refactor to add JSX and Redux. The code is all open source, of course.
NODE MULTI-SERVER CHAT - Read More
A few years back, I was consulting for a client who had a Node-based instant messaging feature which had worked pretty well at first. But as the number of users grew, it failed.
Even though they had a number of load-balanced server instances running, they found that the Redis database they were using to track connected users was a big bottleneck. No matter how many instances they ran, they all had to talk to that database. The team lead wondered if there might be a way to eliminate the database altogether. How else could I respond? “Challenge accepted!”
USER PROFILES - Read More
Firebase is totally awesome. Angular is pretty good too. So while I was working on Page Fight, one of the problems I had to solve with these two technologies was how to support user profiles. I built an open source demo to show how to achieve this.
These days, creating a new password for every site is a hassle and reusing the same one everywhere is super-dangerous. Enter OAuth, the standard that allows users to authenticate at a site they trust, like Twitter, and be safely identified on other sites.
THE PUREMVC FRAMEWORK - Read More
Back in 2004, when Flash was still a thing, I was writing enterprise apps in Adobe Flex and ActionScript. HTML5 capabilities just weren’t there yet, nor was any other browser-deployable tech.
There was one well-known architectural solution in the community at the time, and I used it. But clients inheriting that code sometimes struggled with it. In an attempt to improve the situation, I created PureMVC. Some people liked it. Today it’s available in 15 other languages.