javascript

Reaction Commerce Debugging Primer

9 minute read Published

How to debug a Node.js App Running inside a Docker container.

Reaction Commerce is a full-stack, self-hosted commerce platform you can run for as little as $10 on your own VPS. Think of Reaction Commerce as what WooCommerce might’ve become had it not been dependent on PHP/WordPress and instead was rewritten using modern coding languages and development techniques.

Using self-hosted commerce is like having your own personal Shopify, WIX or BigCommerce right at your fingertips. Only there’s no monthly costs to worry about just to use it. And there’s no vendor lock-in which would otherwise make it too difficult or risky to switch between platforms when the need arises.

After you’ve learned the basics of Getting Started you’re ready to dive deeper into the code and learn how things work. One of the best ways to learn any new system is to look for bugs and figure how to debug them. And in this tutorial I will show you some strategies for debugging source code in Reaction Commerce.

Awesome React Boilerplates

7 minute read Updated

Awesome React starter kits to kick your app development into high gear.

Not interested in reinventing the wheel? Neither am I. Here’s a short list of awesome boilerplates – sometimes called starter kits or seeds – for getting your React applications off the ground in a hurry.

These boilerplates weren’t taken from any list, however awesome it might be. Rather, they’ve gained enough mindshare to find me outside The Stream.

So without further ado…

Putting WordPress into Hyperdrive

2 minute read Updated

Prepare for Ludicrous Speed with a 300% improvement in page load time.

After giving a talk at WordCamp Ubud 2017 – where I showed how to use a $5 Vultr box and Redis with Load Impact to support up to 7000 concurrent WordPress users – I was asked to help turn some of the performance optimization work demoed into a WordPress plug-in.

It’s the first of it’s kind — and like no other performance plugin to precede it. Based on initial tests it speeds up the stock Twenty Seventeen theme about 300% and I suspect time will show even greater gains for other themes. It builds on top of a performance optimization technique called Fetch Injection, enabling external scripts to download asynchronously in parallel while preserving execution order.

Toxic Swamp

Monetize attention to earn a passive, borderless income on your website.

:: HTML / CSS / JavaScript / Mono / Docker / Wasm

Toxic Swamp is a crypto miner add-on for After Dark providing an interactive toolbar UI enabling content creators a means of monetizing their creative work.

Fetch Inject

Fetching async loader and DOM injection sequencer for the Web.

:: JavaScript / ES2015 / Rollup

I conceived of a new technique for managing asynchronous dependencies hacking away at a coffee shop called 9-11 in Bali back in 2017. Fetch Inject is a tiny JavaScript library and Node module making it possible to deep link to full-sized After Dark Image Gallery images without blocking or slowing down page load.

Managing Async Dependencies with JavaScript

4 minute read Updated

Managing asynchronous dependencies with JavaScript can be a nightmare. But there's a better way. It's called Fetch Injection.

I’ve long been inspired by the work of Steve Souders. Back in 2009 Steve published an article titled Loading Scripts Without Blocking, which I first became aware of and studied during my time at Orbitz – where every millisecond a user waited for the page to load had a measurable impact to the business.

Steve’s work was instrumental for performance-critical websites and apps, and even inspired Nicholas C. Zakas to write Loading JavaScript without Blocking the same month Steve’s book Even Faster Web Sites was published.

Tools for Building Rich Web Apps

3 minute read Updated

After recently planning to do a survey of tools for building rich web apps I stumbled across  github.com/codylindley/frontend-tools, which claims to be an opinionated list of tools for building front-end applications. For those new to building modern web applications, it’s certainly easier to take in than larger lists like github.com/joyent/node/wiki/modules. But lists aren’t necessarily the best place to start for putting an application together. At least not where the rubber hits the road.

Update 2017-04-09: This post is out of date. Lately it seems Marko JS may become the new hotness following React and, for Web dev in general, look into JAMstack.

Serverless Email Forwards with SES and Lambda

6 minute read Updated

How to create your own email forwarding service using Serverless and Lambda.

In 2016 this website underwent a major overhaul. I took it off my simple Docker set-up and moved it to S3 with CloudFront. The process of which enabled me to reduce hosting costs by 80% all while increasing reach and decreasing page load times globally.

But static websites have a perceived disadvantage: they’re static. They have no inherent dynamic functionality. What will you do when you want to add some piece of interactivity—a contact form, or an email distribution list? Sure you could go with TypeForm or TinyLetter. But you could also create your own service using FaaS (a.k.a. Serverless). Afterall, Serverless isn’t just a fad, and it’s not going away anytime soon.

Telltale Signs Your React App Isn't SEO Friendly

3 minute read Published

Is Your React App Invisible to Google? Here's how to find out.

As you may or may not be aware NPM and React have caused a Cambrian explosion in the number of Awesome React Boilerplates out there. But did you know many of those boilerplates and the web apps that build upon them aren’t SEO friendly, and possibly even invisible to Google? Sites experiencing SEO issues are more likely to be buried deeper in Search results and unlikely to see the Organic traffic they’d otherwise enjoy sans marketing efforts.

In this post we’ll explore some of the telltale signs your React app isn’t SEO friendly and what you can do about it.

The Holy Grail of Rich Internet Applications

2 minute read Updated

Learning about Isomorphic Web Applications from Airbnb.

One of the largest perceived drawbacks to creating a SPA or other Rich Internet Application is that they’re not SEO friendly or very accessible. With the advent of technologies such as ARIA, HTML5 and Node.js, things are changing. Web apps are becoming more usable and accessible, though also making them crawlable and highly performant is a formidable challenge.

Node.js Debugging Primer

5 minute read Updated

Learn how to get started debugging Node.js applications using Jake.

So I’m putting together this killer new JS front-end development stack called Brunch with Panache, which uses Jake tasks to kick off a custom set of commands for building and managing the app, and I hit a bug while code was running in Node.js. So what now?