Blog

71 posts

Server rack with two Dell R730 servers, 10G networking, and cable management

Featured Post

My Homelab Two Years Later: From Desktop Tower to Server Rack

Mar 4, 2026 · 19 min read
Homelab

How my homelab grew from a $200 ThinkServer to a dual R730 server rack with 60+ containers, 10G networking, GPU-accelerated AI, and real power monitoring data from Home Assistant.

Sort:

MikroTik binary API protocol implementation
Mar 4, 2026 · 5 min read

Implementing MikroTik's Binary API Protocol in Python from Scratch

Homelab Networking

A deep dive into implementing MikroTik's proprietary RouterOS binary API protocol in Python — variable-length encoding, sentence-based messaging, and programmatic network infrastructure control. Zero dependencies, 137 lines.

Digital graffiti wall interactive art installation
Feb 4, 2026 · 5 min read

Building a Real-Time Digital Graffiti Wall with MongoDB Realm and RGB LEDs

IoT JavaScript

How I built an interactive art installation and collaborative drawing app where multiple users draw on a shared digital canvas that displays their creations live on a physical RGB LED grid, using MongoDB Realm for real-time sync.

GPU-accelerated subtitle generation pipeline architecture
Feb 4, 2026 · 6 min read

Building a GPU-Accelerated Subtitle Generator for My Video Library

Homelab AI

How I built a self-hosted subtitle generation pipeline using GPU-accelerated Whisper AI on my homelab — with parallel workers, VRAM-aware scheduling, automatic language detection, and a multi-layer hallucination filter. A practical faster-whisper guide for video libraries at scale.

Building a Claude Code blog skill for systematizing content creation
Oct 23, 2025 · 4 min read

Building a Claude Code Blog Skill: What I Learned Systematizing Content Creation

Dev Tools

I live in the terminal. Like, really live there. As a developer advocate, it’s where I spend most of my time - running commands, testing code, writing docs. Over the past few months, Claude Code...

I replaced my smart home with a dumber home but at least it is private
Jun 17, 2025 · 10 min read

I Replaced Alexa with a Dumber Voice Assistant (But at Least It’s Private)

Smart Home

After five years of building automations in Home Assistant, I finally pulled the trigger on something I’d been contemplating for months: completely replacing my Amazon Alexa ecosystem with Home...

Self-hosted music still sucks in 2025
Jun 17, 2025 · 10 min read

Self-Hosted Music Still Sucks in 2025

Smart Home Homelab

TL;DR: The *arr ecosystem perfected video automation but music remains stuck with album-centric workflows that don’t match how we actually consume music. Current tools like Lidarr force complete...

Diagram showing why data warehouses make poor application backends
Apr 4, 2024 · 9 min read

Data Warehouses Are Terrible Application Backends

Databases

‘The ever-increasing tide of data has become a paradox of plenty for today’’s developers. According to a report from Seagate, by 2025 worldwide data will grow to a staggering 163 zettabytes, over 10...'

Building applications over streaming data architecture diagram
Apr 4, 2024 · 7 min read

How to Build Applications over Streaming Data the Right Way

Databases

In modern data ecosystems, streaming data flows like traffic on a busy highway. Each packet of data has a specific destination,...

Guide to enriching streams and dimensions for real-time data
Apr 4, 2024 · 5 min read

The Engineer’s Guide to Enriching Streams and Dimensions

Databases

Data - it’s the new oil, the new gold, the new …  you get the idea. There’s a whole lot of it, and it’s valuable. But unless you’re into data hoarding, the point isn’t just to collect it; you want …...

Why ClickHouse should be your next database
Apr 4, 2024 · 7 min read

Why ClickHouse Should Be Your Next Database

Databases

“Today, we’re jumping into databases. Another database to learn? But before you sprint for the hills, allow me to introduce you to ClickHouse.”

Step-by-step guide to building a real-time dashboard with Tinybird and Next.js
Mar 29, 2024 · 24 min read

A step-by-step guide to build a real-time dashboard

Databases

Can you imagine shipping a new user-facing dashboard only to have your users met with a visualization that takes several seconds or even minutes to load? No way, right? Your users would get...

Building a real-time fraud detection system architecture diagram
Mar 29, 2024 · 15 min read

How to build a real-time fraud detection system

Databases

Financial fraud is a growing concern in our increasingly digital world. According to a report by PwC, almost half of the surveyed organizations experienced fraud in the past 2 years. For...

Modern data management with real-time change data capture
Mar 29, 2024 · 13 min read

Modern data management with real-time Change Data Capture

Databases

Data engineers are grappling with surging data volumes while stakeholders increasingly demand real-time decision-making and user-facing features powered by data. This raises a fundamental question:...

Real-time databases - what developers need to know
Mar 29, 2024 · 14 min read

Real-time Databases: What developers need to know

Databases

Selecting the right application database can be a challenge for developers, especially so when you need a database for building real-time applications. Real-time data has become an essential...

Using bloom filter indexes for real-time text search in ClickHouse
Mar 29, 2024 · 17 min read

Using Bloom filter indexes for real-time text search in ClickHouse

Databases

Efficient text search is one of the hardest problems in data engineering. Text-based data presents a unique set of challenges, especially when you need results in real time...

What it takes to build a real-time recommendation system
Mar 29, 2024 · 12 min read

What it takes to build a real-time recommendation system

Databases

Real-time, personalized recommendations have become a foundational part of our online experiences. From streaming services suggesting our next binge-worthy TV series to e-commerce platforms offering...

Event sourcing with Kafka data pipeline diagram
Mar 28, 2024 · 14 min read

Event sourcing with Kafka: A practical example

Databases

Imagine you’re building banking software, and you’ve been asked to figure out one of the most fundamental tasks in fintech: determining the current balance of every customer in your system....

How to analyze Google Sheets data in real time with SQL
Mar 28, 2024 · 9 min read

How to query Google Sheets with SQL in real time

Databases

Sick of manually wrestling with Google Sheets like it’s an Excel spreadsheet from 2005? Feel like force-quitting Chrome every time you attempt to sift through just 10,000 rows of data?  We’ve all...

Setting up custom domain names on a home network with Nginx Proxy Manager and Pi-hole
Jan 16, 2024 · 2 min read

Adding Custom Domain Names on Your Internal Network Using Nginx Proxy Manager and Pi-Hole

Homelab

How I set up custom domain names on my internal network using Pi-Hole for DNS and Nginx Proxy Manager for traffic control and SSL - no public domain registration needed.

Vaporwave style illustration of a homelab server
Sep 26, 2023 · 16 min read

How to get started building a Homelab server in 2026

Homelab

I built my first Homelab server for under $200 using a used Lenovo ThinkServer from Facebook Marketplace and Proxmox. Here is everything I learned about picking hardware, choosing an OS, setting up containers, and mounting NAS storage.

Clip art illustration of internal collaboration for developer advocacy
Mar 28, 2023 · 2 min read

Developer Advocacy in 2023

DevRel

Adapting to Techpocalypse 💥 Remember when we thought 2020 was a wild ride? Fast forward to 2023, and here we are, in the midst of a tech market downturn and a tsunami of tech layoffs. Developer...

DevRel as Dev Zero concept illustration
Mar 2, 2023 · 2 min read

DevRel as Dev Zero

DevRel

As a developer advocate, I often ponder DevRel’s role in catching bugs and tricky issues before they escalate. I’m sharing my thoughts in this blog post. DevRel as Dev Zero DevRel can serve as the...

Getting started with Home Assistant for smart home automation
Feb 27, 2023 · 5 min read

How to get started with Home Assistant in 2023

Smart Home

Are you looking to turn your home into a smart home? With the help of Home Assistant, you can easily automate tasks and make your home more efficient. In this blog post, I’ll share my experience of...

Treat content development for your open source project like your open source project
Feb 27, 2023 · 3 min read

Treat Content Development for Your Open Source Project Like Your Open Source Project

DevRel

‘Hello nerds! Let’s talk about how you should treat content development for your open source project like your open-source project. I know, it sounds meta, but bear with me. As a developer advocate, I’ve...’

3D printed postcard planter rack with succulents
Feb 26, 2023 · 2 min read

From Digital Design to Real-World Object: How I Created a 3D-Printed Planter for a Recycled Postcard Rack Planter

IoT

You might not have thought much about using your technical skills to create physical objects. However, with the rise of 3D printing technology, it’s becoming easier than ever to turn digital designs...

Using SingleStore with GitHub Actions for database CI/CD
Jun 21, 2022 · 5 min read

Databases and DevOps: How to Use SingleStore With GitHub Actions

Databases Dev Tools

Databases are frequently not included when transforming an application and engineering culture toward a DevOps, or continuous deployment engineering organization. And, you could be forgiven for this...

How to use SingleStore as a key-value store
Jun 21, 2022 · 7 min read

How to Use SingleStore as a Key-Value Store

Databases

Key-value stores are perhaps one of the most popular databases on the market today - and with good reason! They are fast, scalable and super easy to use. But did you know you can get all the...

Top 4 questions to ask when choosing a database
Dec 28, 2021 · 7 min read

Four Questions You Need To Ask When Choosing a Database

Databases

Are you overwhelmed by the sheer amount of databases on the market today, and not sure where to start? Let’s say that you are a Software Developer, and you need to select a database for a brand new...

Diagram comparing database sharding and partitioning approaches
Nov 3, 2021 · 6 min read

Database Sharding vs. Partitioning: What’s the Difference?

Databases

In this post, I explain the differences between database sharding vs. partitioning and explore when to use each - or even to combine them for data-intensive applications.

Adding machine learning predictions to SingleStore with MindsDB
Nov 3, 2021 · 7 min read

How to Add Machine Learning Predictions with SingleStore and MindsDB

Databases

Have you ever needed to set a machine learning model on your data before?

Getting started with SingleStore database tutorial
Nov 3, 2021 · 7 min read

How to Get Started with SingleStore

Databases

Are you looking for the fastest possible way to get a new SingleStore Cluster up and running while testing out sample datasets to experiment with and use?

How to use SingleStore and Node.js tutorial
Nov 3, 2021 · 6 min read

How to Use SingleStore and Node.js

Databases

Do you need to get a basic SingleStore application setup quickly using Node.js?

Managing MongoDB data at scale with Atlas Online Archive
Jun 29, 2021 · 7 min read

How to Manage MongoDB Data at Scale

Databases

Let’s face it: Your data can get stale and old quickly. But just because the data isn’t being used as often as it once was doesn’t mean that it’s not still valuable or that it won’t be valuable again...

MongoDB Atlas Data Lake graphic for querying from multiple databases
Jun 29, 2021 · 8 min read

How to Query from Multiple MongoDB Databases

Databases

Have you ever needed to make queries across databases, clusters, data centers, or even mix it with data stored in an AWS S3 blob? You probably haven’t had to do all of these at once, but I’m guessing...

How to seed a MongoDB database with fake data using mongoimport
Jun 29, 2021 · 3 min read

How to Seed a MongoDB Database with Fake Data

Databases

Have you ever worked on a MongoDB project and needed to seed your database with fake data in order to provide initial values for lookups, demo purposes, proof of concepts, etc.? I’m biased, but I’ve...

MongoDB Atlas Online Archive custom archival rules and partitioning
Jun 29, 2021 · 5 min read

How to Use Custom Archival Rules and Partitioning on MongoDB Atlas Online Archive

Databases

Okay, so you’ve set up a simple MongoDB Atlas Online Archive, and now you might be wondering, “What’s next?” In this post, we will cover some more advanced Online Archive use cases, including setting...

MongoDB Client-Side Field Level Encryption with Node.js
May 27, 2021 · 14 min read

How to use MongoDB Client-Side Field Level Encryption (CSFLE) with Node.js

Databases

Have you ever had to develop an application that stored sensitive data, like credit card numbers or social security numbers? This is a super common use case for databases, and it can be a pain to...

MongoDB aggregation pipeline queries compared to SQL queries
May 27, 2021 · 8 min read

MongoDB Aggregation Pipeline Queries vs SQL Queries

Databases

Let’s be honest: Many devs coming to MongoDB are joining the community with a strong background in SQL. I would personally include myself in this subset of MongoDB devs. I think it’s useful to map...

IoT Kitty Litter Box project overview diagram
Nov 2, 2020 · 12 min read

An Introduction to IoT (Internet of Toilets)

IoT

My favorite things in life are cats, computers, and crappy ideas, so I decided to combine all three and explore what was possible with JavaScript by creating a brand-new Internet of Things (Internet...

MongoDB Visual Studio Code plugin tutorial
Nov 2, 2020 · 11 min read

How To Use The MongoDB Visual Studio Code Plugin

Databases Dev Tools

To make developers more productive when working with MongoDB, we built MongoDB for Visual Studio Code, an extension that allows you to quickly connect to MongoDB and MongoDB Atlas and work with your...

Diagram of a linked list data structure
Nov 2, 2020 · 14 min read

Linked Lists and MongoDB: A Gentle Introduction

Databases

Are you new to data structures and algorithms? In this post, you will learn about one of the most important data structures in Computer Science, the Linked List, implemented with a MongoDB twist....

Save the world and money with MongoDB Atlas Data Lake
Oct 15, 2020 · 1 min read

Save The World And Money With MongoDB Atlas Data Lake

Databases

Thanks for coming to my talk, Save The World And Money With MongoDB Atlas Data Lake. About Data centers are expensive. It turns out that this is not great for the environment. By 2040, storing...

The Art of Computer Science talk
Sep 9, 2020 · 3 min read

The Art of Computer Science

Career

First, thank you so much for coming to my keynote, The Art of Computer Science. Here you will find all the resources discussed during the talk. About Do you feel like you have struggled to find your...

Bechdel.io blog banner showing the project logo
May 15, 2020 · 3 min read

Bechdel.io - How We Used JavaScript To Help Make Film More Inclusive

Film

Thanks for coming to my talk, Bechdel.io - How We Used JavaScript To Help Make Film More Inclusive. Here you will find all the resources discussed during the talk. About What do The Social Network,...

Tips for passing a coding interview
May 12, 2020 · 2 min read

How to Pass A Coding Interview

Career

The question I most frequently get from developers is how to pass a coding interview. What follows is what I think will be sufficient for a person to be well prepared.

Title slide for A Gentle Introduction to Building Serverless Apps with MongoDB Stitch
Apr 17, 2020 · 3 min read

A Gentle Introduction to Building Serverless Apps

Dev Tools

Thanks for coming to my talk, A Gentle Introduction to Building Serverless Apps. Here you will find all the resources discussed during the talk. About Do you want to crank out features the business...

MongoDB schema design best practices
Apr 1, 2020 · 1 min read

MongoDB Schema Design Best Practices

Databases

Thanks for coming to my talk, MongoDB Schema Design Best Practices. Here you will find all the resources discussed during the talk. About Have you ever wondered, “How do I model my schema for my...

From SQL to NoSQL - a gentle introduction for developers
Feb 26, 2020 · 2 min read

From SQL to NoSQL: A Gentle Introduction For Devs

Databases

Thanks for coming to my talk, From SQL to NoSQL: A Gentle Introduction For Devs. Here you will find all the resources discussed during the talk. About “I have heard about NoSQL databases, but don’t...

Getting Started with GraphQL and MongoDB Atlas presentation title slide
Jan 15, 2020 · 2 min read

Building Your First GraphQL Client in JS

Databases Dev Tools

Thanks for coming to my talk, Building Your First GraphQL Client in JS. Here you will find all the resources discussed during the talk. About RESTful APIs have been around for a while now, but they...

IoT and JavaScript - a gentle introduction to the Internet of Things
Nov 19, 2019 · 2 min read

An Introduction To IoT (Internet of Toilets 🚽)

IoT

Thanks for coming to my talk, An Introduction To IoT (Internet of Toilets 🚽); Or How I Built an IoT Kitty Litter Box Using JavaScript, and here you will find all the resources discussed during the...

Joe Karlsson top 50 records of all time
Jun 10, 2019 · 2 min read

My Top 50 All-Time Favorite Records

Personal

Every couple of years, I like to compile a list of my 50 all-time favorite records. These tend to be the records that I listen to the most or that have had the greatest impact on me. The order...

How to build a React and MongoDB Stitch app from scratch in 10 minutes
Apr 1, 2019 · 4 min read

How to Build a React and MongoDB App From Scratch In 10 Minutes

Dev Tools Databases

Are you interested in learning how to build a React and MongoDB App? Like many of you, I have been interested in learning more about MongoDB’s cloud offerings and also not spending a dime. This guide...

How to build a Spotify player with React in 15 minutes
Apr 1, 2019 · 6 min read

How to Build A Spotify Player with React in 15 Minutes

Dev Tools

Have you ever wanted to build a Spotify player for your app or website? Adding personalized music to any application is super easy with the Spotify Developer API. Personally, I have been playing...

Scenic view of Cuba for travel guide
Mar 2, 2019 · 4 min read

A Brief Cuba Travel Guide

Travel

Have always wanted to see what communism looks like firsthand or try an authentic Cuban cigar? Well, travel to Cuba is still possible from the United States in 2018 (despite President Trump’s travel...

The tech talks that have had the biggest impact on my career
Jan 7, 2019 · 5 min read

The Tech Talks That Have Had The Biggest Impact On My Career

Career

It’s not that often that I go to a conference or watch a talk on YouTube that truly changes the way I think about programming or software development. Even though I’m someone who does frontend...

Checklist for determining when an engineering project is complete
Nov 13, 2018 · 5 min read

An Engineers Guide to Knowing if You Are Done With a Project

Career

Have you ever started a project and thought to yourself, “When can I call this done?” Then this listicle is for you! This guide is intended to be a general list of things your personal or...

React performance profiling in Chrome DevTools
Nov 13, 2018 · 10 min read

Building High Performance React Applications

Dev Tools

Okay, we all know that React was built with performance in mind, but when is React slow? I want to break down for you, dear reader, common bottlenecks in React and when you might be making your...

Top resources for learning how to code
Jan 25, 2018 · 9 min read

So, You Want To Learn How To Code? Here’s What You Need To Know.

Career

So, you want to learn how to code? Here’s What You Need To Know to get started. This is a list of my favorite programming books, talks, podcasts, newsletters, websites, and general tips for...

I ran my first hackathon and so can you
Jan 29, 2017 · 20 min read

I Ran My First Hackathon, and So Can You!

DevRel

I Ran My First Hackathon, and So Can You! Here are the lessons I learned from planning, organizing, and executing my first hackathon. The hackathon I ran was the Stupid Shit and Terrible Ideas...

Hawaii Public Radio interview about the Stupid Hackathon
Jan 11, 2017 · 2 min read

I was on Hawaii Public Radio to talk about our Stupid Hackathon Hawaii

Personal

Thanks again to Burt Lum and Ryan Ozawa for having me and my buddy Ray on their radio show, Bytemark’s Cafe, to talk about the Stupid Shit and Terrible Ideas That No One in Hawaii Needs “Hackathon”....

Diagram of client-server communication architecture
Jul 22, 2016 · 7 min read

Complete Guide To Node Client-Server Communication

Dev Tools

After reading High-Performance Browser Networking by Ilya Grigorik, I was inspired to implement all of the client-server communication techniques outlined in his book in Node and JavaScript. This...

Bechdel Test Script Parser project banner
Dec 18, 2015 · 4 min read

Bechdel Test Script Parser - How It Works

Film

The Bechdel Test Script Parser was a collaborative digital humanities project between myself and my sister, Laurel Karlsson. It is the product of a shared passion for film, feminism, and the creative...

Sunset over a Hawaiian beach
Jul 11, 2015 · 5 min read

One Week in Oahu - A Seven Day Tourist Travel Itinerary

Travel

This itinerary contains the list of spots I would bring friends and family one week in Oahu. I tried to avoid the usual tourist spots.

Finding a technical co-founder for your startup
Jul 9, 2015 · 5 min read

How To Find a Technical Co-founder

Career

Okay, so you have an idea for a new company, and you just know that Facebook for cats is the next billion-dollar idea. The only issue is that you have no idea how to code. You heard from your aunt...

Bubble tea from Startup Weekend event
Jul 3, 2015 · 5 min read

10 Things I learned at Startup Weekend

Career

What Is Startup Weekend? Are you interested in starting your own business someday?  Do you have an idea for a business? Want to meet some really smart people? Startup Weekend is for you! Startup...

Lock icon representing two-step verification security
May 17, 2015 · 2 min read

PSA: Activate 2-Step Verification on your Email Account

Personal

You all should activate 2-Step Verification on all of your most important accounts. Making a new long password is no longer enough to protect your accounts. It’s easier than you think for someone to...

Demo of pixelating an image using HTML5 canvas and JavaScript
May 15, 2015 · 3 min read

How to pixelate images with HTML5 and JavaScript

Dev Tools

A couple of months ago, I was interested in learning some new HTML5 elements. The more visual flourishes of the canvas class especially caught my eye. The ability to dynamically adjust elements in an...

Snapchat logo on a yellow background
May 8, 2015 · 2 min read

How To Explain to Your Dad Why Snapchat Is So Awesome

Personal

A recent article written by Jeremy Liew, titled “If you don’t “get” why Snapchat is growing so fast, read this,” and a conversation with my anti-Snapchat Dad has had me thinking about why Snapchat...

Thoughts on my relationship with the internet
May 8, 2015 · 1 min read

My Relationship With The Internet

Personal

There have been a lot of articles recently published about how the internet, social media, and smartphones are killing ‘real human connections.’ I however believe that this is a reactionary knee jerk...

Overwhelmed by the web - thoughts on media consumption
May 8, 2015 · 1 min read

Overwhelmed by the Web

Personal

Why are we surprised when someone has not seen, listened, or read something? Have you ever heard someone say, “You’ve never watched X!?!” or “Haven’t you read Y about the Z conflict? Don’t you care?”...