-
How to Create a Waveform Video From Audio Using HTML Canvas and JavaScript
Tutorial for how to render a waveform animation using the audio data from a sound file in the browser.
-
How to Save HTML Canvas to Mp4 Using WebCodecs API 10x Faster Than Realtime in the Browser
After using the MediaRecorder to capture a canvas as a video, I figured there was a better way.
-
2024-01-01 Update
-
Getting Started With PineTime Watch
-
Advent of Code (AoC) 2023 Day 3 - Gear Ratios - Solution in JavaScript (JS)
Solution for Advent of Code (AoC) 2023 Day 3 - Gear Ratios - Solution in JavaScript (JS)
-
Advent of Code (AoC) 2023 Day 2 - Cube Conundrum - Solution in JavaScript (JS)
Solution for Advent of Code (AoC) 2023 Day 2 - Cube Conundrum - Solution in JavaScript (JS)
-
Advent of Code (AoC) 2023 Day 1 - Trebuchet?! - Solution in JavaScript
Solution for Advent of Code (AoC) Day 1 in JavaScript (JS)
-
Tutorial: How to Write a Wav File in JavaScript
Step by step example to create a wav file using JavaScript
-
Tutorial: How to Write a Wav File in C
Step by step instructions to create a wav file and write it to disk using C code
-
What Does Github For Music Look Like?
This post explores Git/Github concepts and how they apply to music
-
How to Record HTML Canvas using MediaRecorder and Export as Video
This post demonstrates how to create a basic animation on an HTML Canvas and export it to a video file
-
Tutorial: How to Use React Server Components (RSC) Without a Framework
I've attempted to reduce this all down to the simplest implementation possible to help understand how RSCs work
-
Tutorial: Deploy a React Server Side Rendered Application Using Bun on Engram
In this post, we will create a server side rendered (SSR) React application that is run with the bun runtime (buntime) and finally deploy to Engram
-
I Paid For an Award to Prove the Internet 2.0 Conference is a Scam: Part Two
What does a pay to play conference actually look like?
-
I Paid For an Award to Prove the Internet 2.0 Conference is a Scam: Part One
When a sketchy LinkedIn message came my way, I couldn't help but want to investigate
-
Tutorial: How to Use Tokio with Rust to Make an HTTP Server
Instructions for creating a basic http server with Rust using the async tokio runtime
-
Reviving My Debut Game: How Ruffle.rs Breathed New Life Into My First Gaming Creation
A year ago I couldn't even compile my flash game. Now it's available to play online thanks to ruffle.rs
-
Tutorial: How to Send Web Push Notifications in iOS Safari
Step by step instructions for sending your first web push notification in iOS Safari
-
Tutorial: How to Build a Blog in Rust - Static File Server
Step by step instructions for implementing an http server in rust that serves up static files
-
Why I am Struggling to get Behind Next.js and Vercel
In this article I lay out concerns I have with Next.js and Vercel that stop me from committing to either
-
How to Build a Simple Blog in JavaScript
-
Am I Overreacting? Or is React Over-Reacting?
In this post I will explore the problems that come with standard React code, the recommended options for improving React performance, and finally counter these with examples in vanilla JS.
-
2022 Advent of Code Day 3: Rucksack Reorganization
-
2022 Advent of Code Day 2: Rock Paper Scissors
-
2022 Advent of Code Day 1: Calorie Counting
-
How to Build an HTML Parser in C++
Step by step instructions for implementing a basic html parser in c++
-
Accelerated Reader: My Favorite Software as a Second Grader
This post is the beginning of a series of posts about my journey to becoming a software developer. I love hearing stories about how people got to where they are now, so I figure it’s only fair that I share my own.
-
Pitch Detection in Javascript
-
Building a Web Browser With SDL in C++
An early demo of a web browser and reasons why to even build it in the first place
-
How to Perform Database Migrations
-
Building a Simple Database in Javascript
Tutorial for building a MongoDB like database in Javascript
-
How to Search HTML Using MongoDB Atlas Search
Step by step instructions for how to add a custom htmlStrip analyzer to an MongoDB Atlas Search index
-
Replacing Auth0 With Custom Authentication Solution
A case study of migrating Kaizen off of Auth0 onto its own custom solution
-
Publishing to Medium from Jekyll Using Medium API
Step by step instructions for using the Medium API to cross post to Medium
-
How to Run Unit Tests With Jasmine and TypeScript
Step by step instructions to add jasmine testing to your TypeScript project
-
We Are All Creative Now
The socio-economic status of creators has risen and fallen for all the millennia. Creators used to be rare because it took ages to learn the skills. Now anyone with a phone can access tools and resources to help many creative endeavors. This has led to a monstrous volume of content, making it near impossible to compete without paying heed to walled-garden rules.
-
Creating New From Old – Home Movie Magic
Creativity and filmography seems to run in the family. My refugee grandfather was an avid home movie enthusiast before anyone else we knew. His inspiration kicked off three generations of Creative Types, but his life's work sits hidden away in a film can. It is time for that to change - and time to teach MY grandkids producing home movies, right from the beginning.
-
New Tech Success Cycle
Business success depends on a hundred factors carefully managed with constant watch and handling, focused on all the balls in rotation. Paying attention to EVERYTHING ALL THE TIME will turn tears of pain to tears of happiness.
-
3D Animation: Juggling Perspectives & Connecting Dots
Seeing is one thing; doing is another. I have had my hands on 3D animation software from day 1.1, but I lacked the time and willpower to slog through slow computer processor rendering. While it was fun to behold, 3D technology has changed like quicksilver. This is the story of what flowed through my hands, and slowed through my mind.
-
How to Build a Simple TCP Client in C
-
engram Command Line Interface in C
-
Fake Fact Friday: August 12, 2022
-
How to Build a Simple TCP Server in C
-
Building a Promise Pool in TypeScript
-
Switching to C Over 'Modern' Programming Languages
In computers, we often refer to a native language as the language understood by the computer. I've recently flipped this around in my ponderings and thought more about what my personal native programming language is.
-
El Logo Loco - Design at the Five & Dime
Logos have a long history of group, product and ideology representation. Modern logos symbolize the organizations and brands they represent, and act as an identifying trademark for entities of all types. What used to be an expensive and lengthy logo design process is now a DIY dream.
-
July 2022 Newsletter
-
VHS Is Back (Confessions of a Former Tape Junkie)
Did you hear VHS is making a comeback? Poor picture quality did not matter back then - why would it now? Having dumped a personal fortune into the format, there is no pleasure in dumping unfortunate tapes in the garbage. Press Pause on this Rewind.
-
How Can a 10 Second Video Take All Day? Part 2
As video content gets shorter in step with modern attention spans, entertainment value needs to go up. How do you figure out the creative parts and pieces in short order? Fortunately, thousands of media assets are available online, shaving eons off production time.
-
How Can a 10 Second Video Take All Day?
In the age of Tik-Tok and flavor-of-the-month mob apps that instantly share minute insights to the world, a more complex video will take more time to produce. Here is a creative project review of our own making.
-
Five Positive Interactions for Every Negative One
One piece of leadership advice that has stuck with me is the idea that for every negative interaction you have with someone, you need to have 5 positive ones to offset every 1 negative
-
Building Pong in C with SDL2 and Emscripten: Part 1
Simple demonstration of compiling a C SDL program to web assembly using emscripten
-
Car Trek Technology - Joy Ride of the Century
The world as we know it was made small by automobiles, and made bigger by the car radio. While it took many basic inventions and technologies (metals, wheels, lubricants, etc.) to build the first car, technology now pervades through all parts of the automotive food chain. The pace of change was not always so fast, so enjoy this slow walk through mobile dashboard technology.
-
Old Movies Are Garbage (In the End)
For over 100 years, film presented the world before our eyes in ever increasing volume and scale. Adding up to BILLIONS of feet of product, no movie patron gave too much thought about where all the movie reels go when they leave the theater.
-
June 2022 Newsletter
Introducing my dad as a new author
-
Reflections after a year of publishing on Medium
-
Reflecting on the Future - A Mirror Sample of Thinks to Come
Mine and mind the media of the past to posit a picture of the future - in small measured samples. We will think quietly and calmly before expressing thoughts and opinions resulting from forward reflection; and aim to throw back light or sound on bygone eras with words and images.
-
How to Use Path Aliases With Create React App (CRA), Webpack, and Typescript
-
Building an App for Myself to Enhance Language Learning
I've started to craft my own structure for learning and as usual it has led me to build a small app to help consolidate knowledge
-
Taking Flight Without a Smart Phone
Reflections after one month with a feature phone
-
How to Deploy a Simple NodeJS Server to Linux VM
An introductory lesson on how to run a nodejs server on linux VM
-
I Can No Longer Compile My First Flash Game
A tale about game development and techonlogy obsolescence
-
How to Replace Webpack in Create React App With esbuild
-
My Experience With the University of British Columbia (UBC) Co-op Program
A reflection on my experience through all stages of the co-op process from student to employer
-
Hey Siri, We're Breaking Up
Motivations behind switching from a smart phone to a feature phone
-
Every Workday Should be a Hackathon
Getting stuff done and having fun don't have to be mutually exclusive
-
3 Lines of Code Shouldn't Take All Day
Reflections on my time at Electronic Arts and techniques used to improve iteration times in video game development
-
Using Github Actions to Deploy a React App and Express API Over SSH in 15 seconds
-
How to Build a Note Taking Command Line Application With Rust: Part 2
Reading, updating, and deleting notes from an sqlite database
-
How to Set Up Server Side Rendering (SSR) With React, express.js, and esbuild
Tutorial for setting up SSR for a React app with express.js and esbuild
-
How to Build a Note Taking Command Line Application With Rust: Part 1
Creating and saving notes to an sqlite database
-
Building My First Command Line Interface (CLI) with Rust
After telling myself over and over that today is the day I start learning rust. I finally successfully built a command line app for engram.
-
Bundling Your Node.js Express App with esbuild
Tutorial for setting up esbuild to bundle an express.js app
-
Breadth-First Search a Walk in the Park
Today I went for a walk, and I'd like to take you along for a ride