Building on Ethereum: Part 5 – Writing Tests

In this series, I’m discussing the phases of a project encompassing a non-trivial set of Ethereum smart contracts and the React/Redux application that communicates with them. The project, called In-App Pro Shop, aims to help Ethereum developers easily support in-app purchases, and it was written over the last half of 2018 as a way of learning about the Read More …

Building on Ethereum: Part 3 – Setup and Test

In this series, I’m discussing the phases of a project encompassing a non-trivial set of Ethereum smart contracts and the React/Redux application that communicates with them. The project, called In-App Pro Shop, aims to help Ethereum developers easily support in-app purchases, and it was written over the last half of 2018 as a way of learning about the Read More …

Imperative vs Declarative JavaScript

I was recently doing a JavaScript code review and came across a chunk of classic imperative code (a big ol’ for loop) and thought, here’s an opportunity to improve the code by making it more declarative. While I was pleased with the result, I wasn’t 100% certain how much (or even if) the code was Read More …

Controlling Web Audio With React and Redux Middleware

Let’s Build a TouchTone Keypad! If you’ve built React/Redux applications before, you know there is a standard pattern of uni-directional data flow. The UI dispatches an action. A reducer handles the action, returning a new application state. The UI reorganizes itself accordingly. But what if you need a Redux action to trigger Read More …

Building a React-based Chat Client with Redux

Let’s build a non-trivial app with React and then refactor it to use Redux! 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, because of the extra complexity Redux adds. That’s certainly fair. But it will leave Read More …

Multi-server Chat in Node Without a Database

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 the number of users grew, and then it didn’t. Even though they had a number of load-balanced server instances running, they found that the Redis database they were using Read More …

Modeling Domain Entities with Universal JavaScript

Entities are the crown jewels of any application. All of those thousands of lines of client and server code have but one purpose: To persist, present, and allow the user to manipulate instances of domain model entities. Give your entities the respect they deserve. Once you’ve worked out what they are for your domain, building and Read More …

Break Free of the Realtime Jail: Audio-modulated HD Video with Three.js

Previously, in the ongoing chronicle of our quest to build a music visualizer for recording artists, I discussed my attempt to render thirty audio-modulated frames per second with Three.js and send them to the server in realtime for compiling into a video. What I discovered was that this is impossible with ordinary hardware, Read More …

WebGL Performance Challenge: Render Thirty Frames per Second and Send them to the Server

In my last update, I discussed using Socket.io for the implementation of persistent server connections in our music visualizer app. This week, we inch closer to our ultimate goal of rendering thirty frames per second with Three.js and sending them to the to the server for rendering to video. Great strides were made, but I also Read More …

User Profiles with Angular and Firebase

So that app, it’s going to need users, right? I’ve been working on a fun HTML5 app for a few months now, using Angular 1.x, Bootstrap, and Firebase. Angular is getting good stuff done (though I do foresee integration with PureMVC for app-wide state management and communications), and I have to say I’ve been Read More …