Andrew Healey
-
Solving Queuedle
Writing a game solver for Queuedle.
Published
-
How I Made Queuedle
A daily word-sliding puzzle game inspired by Wordle and Scrabble.
Published
-
Visualizing Chess Bitboards
Brief introduction to chess bitboards and move generation with animations.
Published
-
Installing NPM Packages Very Quickly
Building a package manager with a fast install step.
Published
-
Building Game Prototypes with LÖVE
Chess, card games, and Lua.
Published
-
Compiling Lisp to Bytecode and Running It
Extending my Lisp compiler and adding a fast virtual machine.
Published
-
Generating Mazes
Visualizations and techniques for different maze generation algorithms.
Published
-
Making Python Less Random
Using ptrace to intercept and modify a process's getrandom syscall.
Published
-
2D Multiplayer From Scratch
Exploring patterns and systems for creating realtime browser games.
Published
-
Lisp Compiler Optimizations
Smaller programs that do less work.
Published
-
Lisp to JavaScript Compiler
Transpiling Lisp to JavaScript using Rust.
Published
-
Adding a Line Profiler to My Language
Creating my own developer tooling, and some thoughts on line profilers.
Published
-
Compressing CS2 Demos
Shrinking demo data by a factor of 13x.
Published
-
A Custom WebAssembly Compiler
Making my programming language 4000x quicker, and adding a static type checker.
Published
-
Rendering Counter-Strike Demos in the Browser
Building a demo player for coaches and analysts to visualize CS2 gameplay.
Published
-
Porting Boolrule To Rust
Building a fast boolean expression evaluation engine.
Published
-
Running Untrusted Python Code
Using seccomp and setrlimit to build a Python sandbox.
Published
-
Building Family Websites
The highest user-joy-per-visit than any other project I'll ever work on.
Published
-
My Own Python Web Framework
Using Vercel's Build Output API to explore some framework ideas.
Published
-
My Time At The Recurse Center
Thoughts and reflections on my six week batch.
Published
-
Sandboxing JavaScript Code
An overview of the sandboxing landscape, and some experiments with Deno.
Published
-
Implementing Highlighting, Search, and Undo
How I added three new features to my text editor.
Published
-
Making a Text Editor with a Game Engine
Writing my own quirky version of nano using the 2D game engine Ebitengine.
Published
-
Profiling and Optimizing an Interpreter
Rewriting library code to speed up my interpreter benchmark by 28%.
Published
-
Adding For Loops to an Interpreter
Extending an existing tree-walk interpreter step by step.
Published
-
A Personal File Share CLI
Sharing files with my friends from the terminal.
Published
-
CodeGuessr
Building a guessing game for popular open source projects.
Published
-
Recent Projects I Didn't Finish
A few ideas I tried. Including flamegraphs, fast HTTP routing, and infinite chess.
Published
-
Virtual Ants
Artificial life and Langton's ant.
Published
-
Implementing Bitcask, a Log-Structured Hash Table
Shipping a speedy key/value store for datasets larger than memory.
Published
-
Building and Solving Sokoban
Creating an automated solver for Sokoban puzzles.
Published
-
Beating grep with Go
Writing a fast file searching program and benchmarking it.
Published
-
When I'm Sad My Computer Sends Me Cats
I wrote a program that sends cats to my phone when I'm sad at the computer.
Published
-
Designing a Code Playground for Adventlang
Using Web Workers and WebAssembly to build a speedy UI.
Published
-
Designing a Programming Language for Advent of Code
What is the minimum amount of features I need to not hate my life during this festive season?
Published
-
DOOM Rendered via Checkboxes
WebAssembly meets 16000 HTML checkboxes.
Published
-
Porting Niceware to Rust
The sensation of incremental progress when programming with Rust.
Published
-
Creating the Golfcart Programming Language
Writing an interpreter from scratch.
Published
-
Listening to Satellites with my Raspberry Pi
Building a live dashboard with the help of a few hardware modules.
Published
-
Computer Vision and Embroidery
Picking the correct thread colors from embroidery hoop images.
Published
-
GeoGuessing with Deep Learning
Applying photo geolocation estimation to the game of GeoGuessr.
Published
-
WebAssembly Search Tools for Static Sites
Building a technical demo to understand this blossoming area of technology.
Published
-
Generating Text With Markov Chains
Generating random but familiar text by building Markov chains from scratch.
Published
-
Personal Websites and Internet Writing
People that inspire me the most (and that I steal from most regularly).
Published
-
Building My Own Chess Engine
Exploring the computational complexity of chess. Code snippets in Python so you can do the same.
Published
-
Writing Software for an Among Us League
Making a casual game more competitive and arguing with my friends about Elo systems.
Published
-
Learning the Ink Programming Language
Picking up Ink and giving back to the community.
Published
-
Privacy Focused Analytics From Scratch
Learning more about user data collection by writing my own analytics system.
Published
-
Boids in WebAssembly Using Go
The famous flocking simulation built with the Ebiten game library.
Published
-
Creating Randomness Without Math.random
Building a replacement for JavaScript's random number generator.
Published
-
A Practical Introduction to Graphs (Network Diagrams)
Calculating the path between two countries with the least border crossings.
Published
-
Polyfilling the Fetch API for Old Browsers and Node.js
A quick look at polyfilling, along with with solutions for both environments.
Published
-
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.
Published
-
Adding Comments to Gatsby with Netlify Serverless Functions + GitHub
Use Netlify serverless functions to let users add comments to a static website.
Published
-
Hacking Together an E-ink Dashboard
A prototype Raspberry Pi dashboard to save me talking to my smart assistant.
Published
-
How I'm Working Remotely
Writing code, working (almost) solo, and exploring remote-life during the UK lockdown.
Published
-
Twitter Ticker Tape with a POS58 Receipt Printer
Building a fun toy with my Raspberry Pi, Python, and Tweepy.
Published
-
Book Review: The Developer's Guide to Content Creation
Discussing an amazing resource for those writing for developers.
Published
-
DEV Article Analysis
Building a tool for users to analyze their work over time.
Published
-
Gatsby Sparks Joy
Migrating from Jekyll to Gatsby.
Published
-
Hardest JavaScript Puzzle I've Ever Solved
Writing JavaScript with a one character width restriction.
Published
-
Let's Build a CAPTCHA Generator with Node.js
Using Canvas, Express, and a GitHub Action.
Published
-
Cloning Memcached with Go
I'm really starting to enjoy Go.
Published
-
My First Golang Program
Conway's Game of Life in Ebiten.
Published
-
I Built a Bot to Try and Get Money Back From My Internet Provider
My most popular project yet!
Published
-
My Experience with Pair Programming
Pairing for fun and profit.
Published
-
An Introduction to Caching on the Web, With Examples in Python
A high-level overview of caching.
Published
-
What If I Want My Website to Last for 100 Years?
Prepping for the internet to happen.
Published
-
A Tutorial on Tricking Google: Encoding Messages in Apostrophes
Using character codes to hide in plain sight.
Published
-
Your First Open-Source Pull Request: a Walkthrough
Making a small change to the Jekyll project.
Published
-
Refactoring JavaScript for Performance and Readability (with Examples!)
A few tips that have really helped me.
Published
-
Saving Data in JavaScript Without a Database
The title is a lie I also show how to use SQLite.
Published
-
Interview Question: Implement a Progress Bar
Different ways to do one thing well.
Published
-
Solving Puzzles With High-Performance JavaScript
It's fast but is it worth it?
Published
-
A Tiny Project, From Inception to Deployment
A JavaScript webscraper for MDN.
Published
-
Continuous Deployment to Glitch via GitHub Webhooks
Joining two of my favorite ecosystems together.
Published
-
Fun With Linear Time: My Favorite Algorithm
Breaking down the Boyer–Moore majority vote algorithm with examples in Python.
Published
-
What They Don't Teach You at a Computer Science Masters
Bubblesort isn't everything.
Published
-
The Weird Rules I Set Myself That Got Me a Job
Advice that I haven't seen elsewhere.
Published
-
How to Write an Awesome GitHub README
Attract and educate.
Published
-
Talking to Python from JavaScript (and Back Again!)
Let's learn how to pass data back and forth between languages.
Published
-
Learn the Storage API by Building a Note Taking App (Tutorial)
Learning and building.
Published
-
Embed Your Latest DEV Posts Anywhere (Tutorial)
Using the DEV.to API with Node.
Published
-
Build a Python Bot to Find Your Website's Dead Links (Tutorial)
Crawling a website for missing resources using the Python standard library.
Published
-
Answered: What the Heck is Code Golf?
I love code golf and you should too!
Published
-
JavaScript One-Liners That Make Me Excited
Dust off your ternary expressions, we're going in.
Published
-
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.
Published
-
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.
Published
-
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.
Published
-
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.
Published
-
A Day in the Life of a Mediumly Productive Software Engineer
Living, working, building, and drinking too much coffee.
Published
-
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.
Published
-
Two Things About My First In-house Software Job That I Didn't See Coming
On enjoying being part of a team.
Published
-
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.
Published
-
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.
Published
-
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.
Published
-
Cloning Dominos Order Tracker as a Microservice with Node.js and Firebase!
Writing an order tracker with Node, Express, and Firebase.
Published
-
Benchmarking WebSocket Servers with Python!
Benchmarking websocket servers and frameworks with async Python.
Published
-
Leetcode - Episode 17 - Moving, Shaking, and Folding (3 x E)
Solutions for: Move Zeroes, Merge Two Sorted Lists, and Merge Two Binary Trees.
Published
-
Leetcode - Episode 16 - Pretty Efficient (3 x E)
Solutions for: Flipping an Image, Leaf-Similar Trees, and Maximum Depth of N-ary Tree.
Published
-
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.
Published
-
Leetcode - Episode 14 - Short, Easy Solutions (3 x E)
Solutions for: Monotonic Array, Max Consecutive Ones, and Contains Duplicate.
Published
-
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.
Published
-
Leetcode - Episode 12 - Starting Early (3 x E)
Solutions for: Verifying an Alien Dictionary, Reverse Only Letters, and Backspace String Compare.
Published
-
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.
Published
-
Leetcode - Episode 10 - Short Solutions (1 x M, 2 x E)
Solutions for: Single Number II, Fibonacci Number, and Ransom Note.
Published
-
Leetcode - Episode 9 - Trudging Through (3x E)
Solutions for: Majority Element, Detect Capital, and Not Boring Movies.
Published
-
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.
Published
-
Leetcode - Episode 7 - Getting More Pythonic (3x E)
Solutions for: Two Sum, Valid Anagram, and Length of Last Word.
Published
-
Leetcode - Episode 6 - Progressively Harder (3x E)
Solutions for: Keyboard Row, Reorder Log Files, and Single Number.
Published
-
Leetcode - Episode 5 - Fastest Solutions Yet (3x E)
Solutions for: Uncommon Words from Two Sentences, Search in a Binary Search Tree, and Fizz Buzz.
Published
-
Leetcode - Episode 4 - gnivloS melborP (3x E)
Solutions for: Reverse Words in a String III, Sort Array By Parity II, and Reverse String.
Published
-
Leetcode - Episode 3 - The Streak Continues (3x E)
Solutions for: Sort Array By Parity, Robot Return to Origin, and Self Dividing Numbers.
Published
-
Leetcode - Episode 2 - Three More Easys
Solutions for: N-Repeated Element in Size 2N Array, Univalued Binary Tree, and Unique Morse Code Words.
Published
-
Leetcode - Episode 1 - Three Easys
Episode one of tacking Leetcode problems and discussing solutions. Jewels and Stones, Unique Email Addresses, and To Lower Case.
Published