rssed

a collection of dev rss feeds - blogroll

Add a new feed

+

322 feeds


Andrew Healey's Blog

Posts

Adding Go's defer to the TypeScript Compiler πŸ”—

Forking tsc to support Go's defer. [...]

A Tiny Compiler for Data-Parallel Kernels πŸ”—

Exploring how compilers lower ordinary loops into explicit data-parallel kernels. [...]

Building a Runtime with QuickJS πŸ”—

Building a tiny JavaScript runtime on top of QuickJS with timers, file I/O, and an event loop. [...]

Building a Shell πŸ”—

I built a tiny shell in C to learn what fork, execvp, and dup2 are doing under the hood. [...]

A Fair, Cancelable Semaphore in Go πŸ”—

Building a fair, cancelable semaphore in Go and the subtle concurrency issues involved. [...]

Solving NYT's Pips Puzzle πŸ”—

A solver for The New York's Times' daily Pips puzzle. [...]

Compiling a Forth πŸ”—

A bytecode compiler and VM for a Forth-like language. [...]

Icepath: a 2D Programming Language πŸ”—

Sliding around a cave and hitting opcodes. [...]

Counting Words at SIMD Speed πŸ”—

Rewriting a word counting program five times until it's 494x faster. [...]

Optimizing My Disk Usage Program πŸ”—

Increasing performance by reducing thread scheduling overhead and lock contention. [...]

Maybe the Fastest Disk Usage Program on macOS πŸ”—

A very fast du -sh clone for macOS. [...]

Filesystem Backed by an LLM πŸ”—

FUSE filesystem where file operations are handled by an LLM. [...]

Solving Queuedle πŸ”—

Writing a game solver for Queuedle. [...]

How I Made Queuedle πŸ”—

A daily word-sliding puzzle game inspired by Wordle and Scrabble. [...]

Visualizing Chess Bitboards πŸ”—

Brief introduction to chess bitboards and move generation with animations. [...]

Installing NPM Packages Very Quickly πŸ”—

Building a package manager with a fast install step. [...]

Building Game Prototypes with LΓ–VE πŸ”—

Chess, card games, and Lua. [...]

Compiling Lisp to Bytecode and Running It πŸ”—

Extending my Lisp compiler and adding a fast virtual machine. [...]

Generating Mazes πŸ”—

Visualizations and techniques for different maze generation algorithms. [...]

Making Python Less Random πŸ”—

Using ptrace to intercept and modify a process's getrandom syscall. [...]

2D Multiplayer From Scratch πŸ”—

Exploring patterns and systems for creating realtime browser games. [...]

Lisp Compiler Optimizations πŸ”—

Smaller programs that do less work. [...]

Lisp to JavaScript Compiler πŸ”—

Transpiling Lisp to JavaScript using Rust. [...]

Adding a Line Profiler to My Language πŸ”—

Creating my own developer tooling, and some thoughts on line profilers. [...]

Compressing CS2 Demos πŸ”—

Shrinking demo data by a factor of 13x. [...]

A Custom WebAssembly Compiler πŸ”—

Making my programming language 4000x quicker, and adding a static type checker. [...]

Rendering Counter-Strike Demos in the Browser πŸ”—

Building a demo player for coaches and analysts to visualize CS2 gameplay. [...]

Porting Boolrule To Rust πŸ”—

Building a fast boolean expression evaluation engine. [...]

Running Untrusted Python Code πŸ”—

Using seccomp and setrlimit to build a Python sandbox. [...]

Building Family Websites πŸ”—

The highest user-joy-per-visit than any other project I'll ever work on. [...]

My Own Python Web Framework πŸ”—

Using Vercel's Build Output API to explore some framework ideas. [...]

My Time At The Recurse Center πŸ”—

Thoughts and reflections on my six week batch. [...]

Sandboxing JavaScript Code πŸ”—

An overview of the sandboxing landscape, and some experiments with Deno. [...]

Implementing Highlighting, Search, and Undo πŸ”—

How I added three new features to my text editor. [...]

Making a Text Editor with a Game Engine πŸ”—

Writing my own quirky version of nano using the 2D game engine Ebitengine. [...]

Profiling and Optimizing an Interpreter πŸ”—

Rewriting library code to speed up my interpreter benchmark by 28%. [...]

Adding For Loops to an Interpreter πŸ”—

Extending an existing tree-walk interpreter step by step. [...]

A Personal File Share CLI πŸ”—

Sharing files with my friends from the terminal. [...]

CodeGuessr πŸ”—

Building a guessing game for popular open source projects. [...]

Recent Projects I Didn't Finish πŸ”—

A few ideas I tried. Including flamegraphs, fast HTTP routing, and infinite chess. [...]

Virtual Ants πŸ”—

Artificial life and Langton's ant. [...]

Implementing Bitcask, a Log-Structured Hash Table πŸ”—

Shipping a speedy key/value store for datasets larger than memory. [...]

Building and Solving Sokoban πŸ”—

Creating an automated solver for Sokoban puzzles. [...]

Beating grep with Go πŸ”—

Writing a fast file searching program and benchmarking it. [...]

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. [...]

Designing a Code Playground for Adventlang πŸ”—

Using Web Workers and WebAssembly to build a speedy UI. [...]

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? [...]

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. [...]