JSEnv Deep Dive

1 min read

JSEnv is a simple in-browser JavaScript playground. It automatically downloads dependencies from unpkg.com, it uses esbuild WASM to bundle your code, and renders output to an iframe. Let's talk about how it works.

Staff+ engineering initiatives: How to

2 min read

So you’ve identified the engineering initiatives that are important to your organisation, but how do you actually start working on them?

Staff+ engineering initiatives

6 min read

Engineering initiatives are what Staff+ engineers will spend most of their time working on. It can be difficult to identify these initiatives if you are new to the role. Here is a list of initiatives to get you started.

The Staff+ Engineers Playbook

3 min read

Every engineer should be allocating their time to execution, learning, planning, and support in different ratios. This post is a cognitive artefact outlining the responsibility ratios of a Staff+ Engineer, adjust ratios to suit yourself.

Unleashing Team Potential: A Practical Guide to Overcoming Micromanagement

4 min read

Micromanagement can inadvertently stifle creativity, diminish team morale, and hinder growth. Recognizing and addressing these tendencies is crucial for fostering a thriving, engaged team. Here, we expand on Gartner's recommendations, providing actionable steps to transform micromanagement into effective leadership

Teaching technology tips and tricks

3 min read

A recent Tweet from Josh W. Comeau got me thinking more about how to teach technical subjects like programming more effectively. Here is a list of tips and tricks from his summary and more.

JavaScript try/catch/finally error handling

5 min read

I recently encountered a bug that used try/catch blocks to prevent propagating errors when DOM queries failed. The try/catch/finally combo is not exactly intuitive.

Flux Insurance Company

4 min read

Flux is the application architecture that Facebook uses for building client-side web applications. Redux is a popular JavaScript implementation of the Flux pattern. This pattern can be explained through the analogy of an insurance company.

Understanding internal, external, and inline CSS

3 min read

There are three main techniques to load Cascading Style Sheets (CSS) in your HTML pages; internal, external, and inline. Performance and maintainability, among other factors, can be impacted by your approach so choose wisely.

Side project: Bowhead

9 min read

Bowhead is a boilerplate project for fast micro-saas prototyping using Google's Firebase platform for authentication and data storage, ReactJS for UI, and Stripe for subscription payment processing.

Deterministic sorting

2 min read

When using Array.sort() make sure your comparator function is deterministic. It should always return the same value for the same inputs, even if the argument order changes.

Side project: Orca

8 min read

A Command-Line Interface (CLI) is a way to interact with a program installed on a computer through a terminal interface. Typically these programs receive input via lines of text and will run processes based on this input.

Deterministic vs. Pure functions

3 min read

All pure functions are deterministic, but not all deterministic functions are pure. Pure functions are easier to reason about and test, you should aim to implement pure functions.

Side project: AC Visitor Center

8 min read

AC Visitor Center is a queue manager using ReactJS and Firebase created to solve a problem I had in a video game. It allows for a secret code to be securely exposed to the first person in a queue.

What is DX?

6 min read

DX is the user experience from a developer's perspective when using a product or service such as client libraries, APIs, SDKs, frameworks, and other developer tools.