Articles by Adam Berg
-
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
-
How to Build a Simple TCP Client in C
-
engram Command Line Interface in C
-
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.
-
July 2022 Newsletter
-
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
-
June 2022 Newsletter
Introducing my dad as a new author
-
Reflections after a year of publishing on Medium
-
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