Articles

Other tags: Javascript, Rust, Go, Python, Fun, Career, Algorithms

DOOM Rendered via Checkboxes

WebAssembly meets 16000 HTML checkboxes.

Porting Niceware to Rust

The sensation of incremental progress when programming with Rust.

Creating the Golfcart Programming Language

Writing an interpreter from scratch.

Listening to Satellites with my Raspberry Pi

Building a live dashboard with the help of a few hardware modules.

Computer Vision and Embroidery

Picking the correct thread colors from embroidery hoop images.

GeoGuessing with Deep Learning

Applying photo geolocation estimation to the game of GeoGuessr.

WebAssembly Search Tools for Static Sites

Building a technical demo to understand this blossoming area of technology.

Generating Text With Markov Chains

Generating random but familiar text by building Markov chains from scratch.

Personal Websites and Internet Writing

People that inspire me the most (and that I steal from most regularly).

Building My Own Chess Engine

Exploring the computational complexity of chess. Code snippets in Python so you can do the same.

Writing Software for an Among Us League

Making a casual game more competitive and arguing with my friends about Elo systems.

Learning the Ink Programming Language

Picking up Ink and giving back to the community.

Privacy Focused Analytics From Scratch

Learning more about user data collection by writing my own analytics system.

Boids in WebAssembly Using Go

The famous flocking simulation built with the Ebiten game library.

Creating Randomness Without Math.random

Building a replacement for JavaScript's random number generator.

A Practical Introduction to Graphs (Network Diagrams)

Calculating the path between two countries with the least border crossings.

Polyfilling the Fetch API for Old Browsers and Node.js

A quick look at polyfilling, along with with solutions for both environments.

The Flow of Knowledge in a Team (or Why I Dig Tickets)

Engineering tickets often end up meaning a lot. For the product but also emotionally for the individual.

Adding Comments to Gatsby with Netlify Serverless Functions + GitHub

Use Netlify serverless functions to let users add comments to a static website.

Hacking Together an E-ink Dashboard

A prototype Raspberry Pi dashboard to save me talking to my smart assistant.

How I'm Working Remotely

Writing code, working (almost) solo, and exploring remote-life during the UK lockdown.

Twitter Ticker Tape with a POS58 Receipt Printer

Building a fun toy with my Raspberry Pi, Python, and Tweepy.

Book Review: The Developer's Guide to Content Creation

Discussing an amazing resource for those writing for developers.

DEV Article Analysis

Building a tool for users to analyze their work over time.

Gatsby Sparks Joy

Migrating from Jekyll to Gatsby.

Hardest JavaScript Puzzle I've Ever Solved

Writing JavaScript with a one character width restriction.

Let's Build a CAPTCHA Generator with Node.js

Using Canvas, Express, and a GitHub Action.

Cloning Memcached with Go

I'm really starting to enjoy Go.

My First Golang Program

Conway's Game of Life in Ebiten.

I Built a Bot to Try and Get Money Back From My Internet Provider

My most popular project yet!

My Experience with Pair Programming

Pairing for fun and profit.

An Introduction to Caching on the Web, With Examples in Python

A high-level overview of caching.

What If I Want My Website to Last for 100 Years?

Prepping for the internet to happen.

A Tutorial on Tricking Google: Encoding Messages in Apostrophes

Using character codes to hide in plain sight.

Your First Open-Source Pull Request: a Walkthrough

Making a small change to the Jekyll project.

Refactoring JavaScript for Performance and Readability (with Examples!)

A few tips that have really helped me.

Saving Data in JavaScript Without a Database

The title is a lie I also show how to use SQLite.

Interview Question: Implement a Progress Bar

Different ways to do one thing well.

Solving Puzzles With High-Performance JavaScript

It's fast but is it worth it?

A Tiny Project, From Inception to Deployment

A JavaScript webscraper for MDN.

Continuous Deployment to Glitch via GitHub Webhooks

Joining two of my favorite ecosystems together.

Fun With Linear Time: My Favorite Algorithm

Breaking down the Boyer–Moore majority vote algorithm with examples in Python.

What They Don't Teach You at a Computer Science Masters

Bubblesort isn't everything.

The Weird Rules I Set Myself That Got Me a Job

Advice that I haven't seen elsewhere.

How to Write an Awesome GitHub README

Attract and educate.

Talking to Python from JavaScript (and Back Again!)

Let's learn how to pass data back and forth between languages.

Learn the Storage API by Building a Note Taking App (Tutorial)

Learning and building.

Embed Your Latest DEV Posts Anywhere (Tutorial)

Using the DEV.to API with Node.

Build a Python Bot to Find Your Website's Dead Links (Tutorial)

Crawling a website for missing resources using the Python standard library.

Answered: What the Heck is Code Golf?

I love code golf and you should too!

JavaScript One-Liners That Make Me Excited

Dust off your ternary expressions, we're going in.

Need a Friend? Write a Reddit Bot with Python to Follow You Around (Tutorial)

The basics of building a Reddit bot that listens for phrases and replies to them.

Earn a Build Passing Badge on GitHub! Testing Your Express App with Travis CI (Tutorial)

How to setup Travis CI for a Node/Express project.

Coding a Live Cam for the Raspberry Pi in Python (Tutorial)

A lo-fi solution for streaming images from your Raspberry Pi to the web.

How Flappy Bird Got Me My Start in Software

An overview of how I learned to code. Also a bit on my experience during my CS Masters.

A Day in the Life of a Mediumly Productive Software Engineer

Living, working, building, and drinking too much coffee.

Kicking Butt and Taking Names With WebSockets (Tutorial)

A little on the history of WebSockets and a brief overview on how to use them in JavaScript.

Two Things About My First In-house Software Job That I Didn't See Coming

On enjoying being part of a team.

Creating Cute GitHub Badges Based Off a Project's Mood (Node.js)

Creating GitHub badges based off the time when most people contribute to a GitHub project.

Real-Time Streaming of Every Emoji Posted as a Comment to Reddit.com

Building a website which live streams every emoji posted to Reddit.com.

I Ported Sudoku to Your URL Bar and It Plays like a Dream

Goofy project in which you can play Sudoku entirely within your URL bar.

Cloning Dominos Order Tracker as a Microservice with Node.js and Firebase!

Writing an order tracker with Node, Express, and Firebase.

Benchmarking WebSocket Servers with Python!

Benchmarking websocket servers and frameworks with async Python.

Leetcode - Episode 17 - Moving, Shaking, and Folding (3 x E)

Solutions for: Move Zeroes, Merge Two Sorted Lists, and Merge Two Binary Trees.

Leetcode - Episode 16 - Pretty Efficient (3 x E)

Solutions for: Flipping an Image, Leaf-Similar Trees, and Maximum Depth of N-ary Tree.

Leetcode - Episode 15 - Three Tree Qs (3 x E)

Solutions for: Invert Binary Tree, N-ary Tree Postorder Traversal, and N-ary Tree Preorder Traversal.

Leetcode - Episode 14 - Short, Easy Solutions (3 x E)

Solutions for: Monotonic Array, Max Consecutive Ones, and Contains Duplicate.

Leetcode - Episode 13 - Finding My Stride (3 x M)

Solutions for: Range Sum of BST, Max Increase to Keep City Skyline, and Custom Sort String.

Leetcode - Episode 12 - Starting Early (3 x E)

Solutions for: Verifying an Alien Dictionary, Reverse Only Letters, and Backspace String Compare.

Leetcode - Episode 11 - Faster than 99.17% (1 x M, 2 x E)

Solutions for: Reverse Vowels of a String, Isomorphic Strings, and Reverse Words in a String.

Leetcode - Episode 10 - Short Solutions (1 x M, 2 x E)

Solutions for: Single Number II, Fibonacci Number, and Ransom Note.

Leetcode - Episode 9 - Trudging Through (3x E)

Solutions for: Majority Element, Detect Capital, and Not Boring Movies.

Leetcode - Episode 8 - Breaking Out Some Mediums (3x M, 1x E)

Solutions for: Encode and Decode TinyURL, Insert into a Binary Search Tree, Minimum Add to Make Parentheses Valid, and Goat Latin.

Leetcode - Episode 7 - Getting More Pythonic (3x E)

Solutions for: Two Sum, Valid Anagram, and Length of Last Word.

Leetcode - Episode 6 - Progressively Harder (3x E)

Solutions for: Keyboard Row, Reorder Log Files, and Single Number.

Leetcode - Episode 5 - Fastest Solutions Yet (3x E)

Solutions for: Uncommon Words from Two Sentences, Search in a Binary Search Tree, and Fizz Buzz.

Leetcode - Episode 4 - gnivloS melborP (3x E)

Solutions for: Reverse Words in a String III, Sort Array By Parity II, and Reverse String.

Leetcode - Episode 3 - The Streak Continues (3x E)

Solutions for: Sort Array By Parity, Robot Return to Origin, and Self Dividing Numbers.

Leetcode - Episode 2 - Three More Easys

Solutions for: N-Repeated Element in Size 2N Array, Univalued Binary Tree, and Unique Morse Code Words.

Leetcode - Episode 1 - Three Easys

Episode one of tacking Leetcode problems and discussing solutions. Jewels and Stones, Unique Email Addresses, and To Lower Case.