Edd Mann
Developer
Archive
Projects
About
Twitter (X)
GitHub
Edd Mann's
Archive
2025
Building a Audio Hugo Shortcode for Local and Remote Content
Mar 19, 2025
Building a Audio Hugo Shortcode for Local and Remote Content
Building a Video Hugo Shortcode for Local and Remote Content
Mar 18, 2025
Building a Video Hugo Shortcode for Local and Remote Content
How I Used ChatGPT to Fix My Old Blog Posts (And What I Learned)
Mar 6, 2025
How I Used ChatGPT to Fix My Old Blog Posts (And What I Learned)
2024
Building an F1 Picks Game in 4 Hours: It's Lights Out and Away We Go!
Aug 30, 2024
Building an F1 Picks Game in 4 Hours: It's Lights Out and Away We Go!
Notes: Monolith to Microservices by Sam Newman
Jun 28, 2024
Notes: Monolith to Microservices by Sam Newman
Solving the Advent of Code 2023 calendar in Kotlin and Swift
Jan 15, 2024
Solving the Advent of Code 2023 calendar in Kotlin and Swift
2023
Building a Secret Santa Draw PWA in React and TypeScript
Nov 25, 2023
Building a Secret Santa Draw PWA in React and TypeScript
Building a Running Calculator PWA in React and TypeScript
Oct 31, 2023
Building a Running Calculator PWA in React and TypeScript
Rewriting the santa-lang Interpreter in Rust, Part 4 - Distribution
Aug 8, 2023
Rewriting the santa-lang Interpreter in Rust, Part 4 - Distribution
Rewriting the santa-lang Interpreter in Rust, Part 3 - Performance
Aug 7, 2023
Rewriting the santa-lang Interpreter in Rust, Part 3 - Performance
Rewriting the santa-lang Interpreter in Rust, Part 2 - Runtimes
Aug 6, 2023
Rewriting the santa-lang Interpreter in Rust, Part 2 - Runtimes
Rewriting the santa-lang Interpreter in Rust, Part 1 - Implementing the Core
Aug 5, 2023
Rewriting the santa-lang Interpreter in Rust, Part 1 - Implementing the Core
Determining your closest Parkrun Alphabet Challenge using Python and pandas
Jul 22, 2023
Determining your closest Parkrun Alphabet Challenge using Python and pandas
Using LangChain Agents and Tools to answer questions on the NBA with OpenAI
Jun 23, 2023
Using LangChain Agents and Tools to answer questions on the NBA with OpenAI
Q&A Retrieval Augmented Generation (RAG) with LangChain and Postgres
May 15, 2023
Q&A Retrieval Augmented Generation (RAG) with LangChain and Postgres
Q&A Retrieval Augmented Generation (RAG) with LangChain and Chroma
May 10, 2023
Q&A Retrieval Augmented Generation (RAG) with LangChain and Chroma
Solving the Advent of Code 2022 calendar using my own programming language, santa-lang
Jan 28, 2023
Solving the Advent of Code 2022 calendar using my own programming language, santa-lang
2022
Designing santa-lang, a language for solving Advent of Code puzzles
Nov 30, 2022
Designing santa-lang, a language for solving Advent of Code puzzles
Allocating Secret Santas using an AWS Step Function workflow and every available Lambda runtime
Nov 1, 2022
Allocating Secret Santas using an AWS Step Function workflow and every available Lambda runtime
Building a Serverless Wedding Photo Gallery using AWS Lambda, S3 and DynamoDB
Oct 31, 2022
Building a Serverless Wedding Photo Gallery using AWS Lambda, S3 and DynamoDB
Solving the Advent of Code 2021 calendar on a Raspberry Pi Pico
Jun 3, 2022
Solving the Advent of Code 2021 calendar on a Raspberry Pi Pico
Solving the Advent of Code 2021 calendar using C in under half-a-second
May 30, 2022
Solving the Advent of Code 2021 calendar using C in under half-a-second
Deploying our Wedding Website onto a Raspberry Pi Kubernetes Cluster using K3s and Helm
Apr 29, 2022
Deploying our Wedding Website onto a Raspberry Pi Kubernetes Cluster using K3s and Helm
Containerising the DataDog Agent for HTTP health-checks using DigitalOcean App Platform and Terraform
Apr 28, 2022
Containerising the DataDog Agent for HTTP health-checks using DigitalOcean App Platform and Terraform
Can you name that AWS service?
Mar 25, 2022
Can you name that AWS service?
Managing long-running AWS Fargate ECS tasks within your Serverless project
Mar 16, 2022
Managing long-running AWS Fargate ECS tasks within your Serverless project
Separating out the Lambda Bref runtime from your project's Composer dependencies
Feb 8, 2022
Separating out the Lambda Bref runtime from your project's Composer dependencies
Using GitHub Actions to send Gone Live release notes via Email and Slack
Feb 3, 2022
Using GitHub Actions to send Gone Live release notes via Email and Slack
Our Wedding Website, Three Years in the Making...
Jan 28, 2022
Our Wedding Website, Three Years in the Making...
2021
Building a Secret Santa allocator and SMS sender using a Raspberry Pi Pico/MicroPython and SIM800L module
Nov 3, 2021
Building a Secret Santa allocator and SMS sender using a Raspberry Pi Pico/MicroPython and SIM800L module
Building a 2FA TOTP generator using a Raspberry Pi Pico and MicroPython
Oct 20, 2021
Building a 2FA TOTP generator using a Raspberry Pi Pico and MicroPython
Building a Rubik's Cube Solver using Rust/WASM and Three.js/React
Jul 6, 2021
Building a Rubik's Cube Solver using Rust/WASM and Three.js/React
Building an optimal Pocket Cube (2x2x2) Solver using Rust/WASM and Three.js/React
Jul 4, 2021
Building an optimal Pocket Cube (2x2x2) Solver using Rust/WASM and Three.js/React
Advent of Code 2016 - Day 11 - Radioisotope Thermoelectric Generators
Apr 7, 2021
Advent of Code 2016 - Day 11 - Radioisotope Thermoelectric Generators
Advent of Code 2016 - Day 10 - Balance Bots
Apr 3, 2021
Advent of Code 2016 - Day 10 - Balance Bots
Advent of Code 2016 - Day 9 - Explosives in Cyberspace
Apr 2, 2021
Advent of Code 2016 - Day 9 - Explosives in Cyberspace
Advent of Code 2016 - Day 8 - Two-Factor Authentication
Mar 30, 2021
Advent of Code 2016 - Day 8 - Two-Factor Authentication
Advent of Code 2016 - Day 7 - Internet Protocol Version 7
Mar 29, 2021
Advent of Code 2016 - Day 7 - Internet Protocol Version 7
Advent of Code 2016 - Day 6 - Signals and Noise
Mar 28, 2021
Advent of Code 2016 - Day 6 - Signals and Noise
Advent of Code 2016 - Day 5 - How About a Nice Game of Chess?
Mar 27, 2021
Advent of Code 2016 - Day 5 - How About a Nice Game of Chess?
Advent of Code 2016 - Day 4 - Security Through Obscurity
Mar 26, 2021
Advent of Code 2016 - Day 4 - Security Through Obscurity
Advent of Code 2016 - Day 3 - Squares With Three Sides
Mar 25, 2021
Advent of Code 2016 - Day 3 - Squares With Three Sides
Advent of Code 2016 - Day 2 - Bathroom Security
Mar 24, 2021
Advent of Code 2016 - Day 2 - Bathroom Security
Advent of Code 2016 - Day 1 - No Time for a Taxicab
Mar 23, 2021
Advent of Code 2016 - Day 1 - No Time for a Taxicab
Advent of Code 2015 - Day 25 - Let It Snow
Feb 20, 2021
Advent of Code 2015 - Day 25 - Let It Snow
Advent of Code 2015 - Day 24 - It Hangs in the Balance
Feb 19, 2021
Advent of Code 2015 - Day 24 - It Hangs in the Balance
Advent of Code 2015 - Day 23 - Opening the Turing Lock
Feb 18, 2021
Advent of Code 2015 - Day 23 - Opening the Turing Lock
Advent of Code 2015 - Day 22 - Wizard Simulator 20XX
Feb 17, 2021
Advent of Code 2015 - Day 22 - Wizard Simulator 20XX
Advent of Code 2015 - Day 21 - RPG Simulator 20XX
Feb 15, 2021
Advent of Code 2015 - Day 21 - RPG Simulator 20XX
Advent of Code 2015 - Day 20 - Infinite Elves and Infinite Houses
Feb 13, 2021
Advent of Code 2015 - Day 20 - Infinite Elves and Infinite Houses
Advent of Code 2015 - Day 19 - Medicine for Rudolph
Feb 12, 2021
Advent of Code 2015 - Day 19 - Medicine for Rudolph
Advent of Code 2015 - Day 18 - Like a GIF For Your Yard
Feb 11, 2021
Advent of Code 2015 - Day 18 - Like a GIF For Your Yard
Advent of Code 2015 - Day 17 - No Such Thing as Too Much
Feb 10, 2021
Advent of Code 2015 - Day 17 - No Such Thing as Too Much
Advent of Code 2015 - Day 16 - Aunt Sue
Feb 9, 2021
Advent of Code 2015 - Day 16 - Aunt Sue
Advent of Code 2015 - Day 15 - Science for Hungry People
Feb 8, 2021
Advent of Code 2015 - Day 15 - Science for Hungry People
Advent of Code 2015 - Day 14 - Reindeer Olympics
Feb 7, 2021
Advent of Code 2015 - Day 14 - Reindeer Olympics
Advent of Code 2015 - Day 13 - Knights of the Dinner Table
Feb 6, 2021
Advent of Code 2015 - Day 13 - Knights of the Dinner Table
Advent of Code 2015 - Day 12 - JSAbacusFramework.io
Feb 5, 2021
Advent of Code 2015 - Day 12 - JSAbacusFramework.io
Advent of Code 2015 - Day 11 - Corporate Policy
Feb 4, 2021
Advent of Code 2015 - Day 11 - Corporate Policy
Advent of Code 2015 - Day 10 - Elves Look, Elves Say
Feb 3, 2021
Advent of Code 2015 - Day 10 - Elves Look, Elves Say
Advent of Code 2015 - Day 9 - All in a Single Night
Feb 2, 2021
Advent of Code 2015 - Day 9 - All in a Single Night
Advent of Code 2015 - Day 8 - Matchsticks
Feb 1, 2021
Advent of Code 2015 - Day 8 - Matchsticks
Advent of Code 2015 - Day 7 - Some Assembly Required
Jan 31, 2021
Advent of Code 2015 - Day 7 - Some Assembly Required
Advent of Code 2015 - Day 6 - Probably a Fire Hazard
Jan 30, 2021
Advent of Code 2015 - Day 6 - Probably a Fire Hazard
Advent of Code 2015 - Day 5 - Doesn't He Have Intern-Elves For This?
Jan 29, 2021
Advent of Code 2015 - Day 5 - Doesn't He Have Intern-Elves For This?
Advent of Code 2015 - Day 4 - The Ideal Stocking Stuffer
Jan 28, 2021
Advent of Code 2015 - Day 4 - The Ideal Stocking Stuffer
Implementing a Compound Set in TypeScript
Jan 27, 2021
Implementing a Compound Set in TypeScript
Advent of Code 2015 - Day 3 - Perfectly Spherical Houses in a Vacuum
Jan 27, 2021
Advent of Code 2015 - Day 3 - Perfectly Spherical Houses in a Vacuum
Advent of Code 2015 - Day 2 - I Was Told There Would Be No Math
Jan 26, 2021
Advent of Code 2015 - Day 2 - I Was Told There Would Be No Math
Advent of Code 2015 - Day 1 - Not Quite Lisp
Jan 25, 2021
Advent of Code 2015 - Day 1 - Not Quite Lisp
2020
Building an Enigma Machine in Haskell
Nov 27, 2020
Building an Enigma Machine in Haskell
Building an Enigma Machine in ClojureScript
Nov 25, 2020
Building an Enigma Machine in ClojureScript
Creating a React-based Chess Game with WASM Bots in TypeScript
Nov 11, 2020
Creating a React-based Chess Game with WASM Bots in TypeScript
Binary Addition using Half and Full Adders within TypeScript
Nov 6, 2020
Binary Addition using Half and Full Adders within TypeScript
The Mystery Calculator in ClojureScript and Reagent
Oct 31, 2020
The Mystery Calculator in ClojureScript and Reagent
Building a Nokia Composer (RTTTL) Player and WAV-file Generator in the Browser
Oct 26, 2020
Building a Nokia Composer (RTTTL) Player and WAV-file Generator in the Browser
Allocating and Notifying Secret Santas via Email using Clojure
Oct 23, 2020
Allocating and Notifying Secret Santas via Email using Clojure
Creating a Contact Tracing Scanner using Swift for macOS
Oct 20, 2020
Creating a Contact Tracing Scanner using Swift for macOS
Creating a Contact Tracing Scanner using Web Bluetooth
Oct 19, 2020
Creating a Contact Tracing Scanner using Web Bluetooth
2019
Building a Flag Guessing Game using React Hooks
May 3, 2019
Building a Flag Guessing Game using React Hooks
Adding Running Shoes (aka Speeding up walking) in Pokémon Red (pokered)
Apr 30, 2019
Adding Running Shoes (aka Speeding up walking) in Pokémon Red (pokered)
Changing the Starter Pokémon within Pokémon Red (pokered)
Apr 29, 2019
Changing the Starter Pokémon within Pokémon Red (pokered)
Creating a Time-lapse Camera with HypriotOS/Docker using a Raspberry Pi 3B+ and Raspberry Pi Zero W
Feb 16, 2019
Creating a Time-lapse Camera with HypriotOS/Docker using a Raspberry Pi 3B+ and Raspberry Pi Zero W
Allocating Secret Santas with a Substitution Cipher using Clojure
Feb 9, 2019
Allocating Secret Santas with a Substitution Cipher using Clojure
Unlocking Tsunekazu Ishihara's team in Pokémon Red (pokered)
Jan 29, 2019
Unlocking Tsunekazu Ishihara's team in Pokémon Red (pokered)
Compiling Pokémon Red (pokered) using Docker and adding 'Super B' button behaviour
Jan 29, 2019
Compiling Pokémon Red (pokered) using Docker and adding 'Super B' button behaviour
2018
Mince Pie Challenge: Viewing and Removing Mince Pies with Amazon DynamoDB
Oct 16, 2018
Mince Pie Challenge: Viewing and Removing Mince Pies with Amazon DynamoDB
Creating a Command Line Application to Fetch URL Titles in Go
Aug 23, 2018
Creating a Command Line Application to Fetch URL Titles in Go
Mince Pie Challenge: Adding and Listing Mince Pies with Amazon DynamoDB
Aug 16, 2018
Mince Pie Challenge: Adding and Listing Mince Pies with Amazon DynamoDB
How to Expand a Linux AWS EBS Root/Partition Volume without Rebooting
Aug 10, 2018
How to Expand a Linux AWS EBS Root/Partition Volume without Rebooting
Setting up Caddy Server within AWS using Packer and Terraform
Aug 3, 2018
Setting up Caddy Server within AWS using Packer and Terraform
Mince Pie Challenge: Adding the Bootstrap Endpoint and Serverless Offline
Jul 27, 2018
Mince Pie Challenge: Adding the Bootstrap Endpoint and Serverless Offline
Building a Babel Plugin: Adding a Function Composition Operator and Auto-Curried Functions to JavaScript
Jul 20, 2018
Building a Babel Plugin: Adding a Function Composition Operator and Auto-Curried Functions to JavaScript
Mince Pie Challenge: Adding Test Coverage using Jest and Travis CI
Jul 18, 2018
Mince Pie Challenge: Adding Test Coverage using Jest and Travis CI
Mince Pie Challenge: Setting up Flow with Babel and Webpack
Jul 9, 2018
Mince Pie Challenge: Setting up Flow with Babel and Webpack
Mince Pie Challenge: Authentication with Amazon Cognito and JSON Web Tokens
Jun 26, 2018
Mince Pie Challenge: Authentication with Amazon Cognito and JSON Web Tokens
Mince Pie Challenge: Setting up the Serverless Framework with Docker, Webpack and Babel
Jun 15, 2018
Mince Pie Challenge: Setting up the Serverless Framework with Docker, Webpack and Babel
Mince Pie Challenge: Designing the RESTful API with RAML
Jun 11, 2018
Mince Pie Challenge: Designing the RESTful API with RAML
Mince Pie Challenge: Building a Serverless RESTful API and React Client
Jun 7, 2018
Mince Pie Challenge: Building a Serverless RESTful API and React Client
Determining if an IPv4 address is within a CIDR range in JavaScript
Jun 5, 2018
Determining if an IPv4 address is within a CIDR range in JavaScript
Insight into Site Reliability Engineering with Niall Murphy
May 23, 2018
Insight into Site Reliability Engineering with Niall Murphy
Setting up GitHub Pages HTTPS Custom Domains using CloudFront and Lambda@Edge
Jan 24, 2018
Setting up GitHub Pages HTTPS Custom Domains using CloudFront and Lambda@Edge
Unlocking the AWS WAF Logs
Jan 12, 2018
Unlocking the AWS WAF Logs
2017
Creating a 'Winning' Audio Lambda Service using Serverless, Polly and compiled SOX
Dec 11, 2017
Creating a 'Winning' Audio Lambda Service using Serverless, Polly and compiled SOX
'Memes as a Service' using Lambda, Serverless and ImageMagick
Dec 4, 2017
'Memes as a Service' using Lambda, Serverless and ImageMagick
Scheduling EC2 Instances using Lambda and CloudWatch Events
Nov 24, 2017
Scheduling EC2 Instances using Lambda and CloudWatch Events
Bitcoin Internals: Verifying Merkle Roots using Merkle Proofs in JavaScript
Nov 10, 2017
Bitcoin Internals: Verifying Merkle Roots using Merkle Proofs in JavaScript
Bitcoin Internals: How Blocks use Merkle Trees in JavaScript
Nov 9, 2017
Bitcoin Internals: How Blocks use Merkle Trees in JavaScript
Using Homebrew to Manage Project Development Scripts
May 10, 2017
Using Homebrew to Manage Project Development Scripts
Handling Retries and Back-off Attempts with JavaScript Promises
Apr 21, 2017
Handling Retries and Back-off Attempts with JavaScript Promises
2016
Managing Newlines and Unicode within JavaScript and PHP
Dec 22, 2016
Managing Newlines and Unicode within JavaScript and PHP
Designing Immutable Concepts with Transient Mutation in PHP
Dec 14, 2016
Designing Immutable Concepts with Transient Mutation in PHP
Managing Background Processes within Symfony
Dec 1, 2016
Managing Background Processes within Symfony
Using Constraint-based Ordering in PHP
Nov 24, 2016
Using Constraint-based Ordering in PHP
Throttling and Debouncing Function Invocation in JavaScript
Nov 22, 2016
Throttling and Debouncing Function Invocation in JavaScript
AVL Trees in Clojure
Sep 3, 2016
AVL Trees in Clojure
Anagram Solver in Clojure
Aug 15, 2016
Anagram Solver in Clojure
Maybe in JavaScript
Jun 8, 2016
Maybe in JavaScript
An 'array_column' re-indexing trick in PHP
Jun 8, 2016
An 'array_column' re-indexing trick in PHP
Generating Podcast Stats in PHP
Jun 7, 2016
Generating Podcast Stats in PHP
Understanding De Morgan's Laws to Simplify Propositions
Jun 1, 2016
Understanding De Morgan's Laws to Simplify Propositions
You Should Switch to PostgreSQL: My Conversation with Adam Wathan on Full Stack Radio
Apr 20, 2016
You Should Switch to PostgreSQL: My Conversation with Adam Wathan on Full Stack Radio
Validating 32-bit Integers using PHP
Apr 19, 2016
Validating 32-bit Integers using PHP
Binary/Octal/Hexadecimal to Decimal using Collection Pipelines in JavaScript
Apr 18, 2016
Binary/Octal/Hexadecimal to Decimal using Collection Pipelines in JavaScript
Operations on a Deck of Cards in PostgreSQL
Apr 12, 2016
Operations on a Deck of Cards in PostgreSQL
Implementing Transpose and Zip in JavaScript
Apr 8, 2016
Implementing Transpose and Zip in JavaScript
Using the 'IS (NOT) DISTINCT FROM' SQL Comparators
Mar 17, 2016
Using the 'IS (NOT) DISTINCT FROM' SQL Comparators
Map-Filter Combination in PHP
Mar 4, 2016
Map-Filter Combination in PHP
Maintaining Invariant Constraints in PostgreSQL using Trigger Functions
Mar 3, 2016
Maintaining Invariant Constraints in PostgreSQL using Trigger Functions
Mapping, Filtering and Reducing in PHP
Mar 2, 2016
Mapping, Filtering and Reducing in PHP
Bringing Back the Blink Tag using JavaScript
Feb 29, 2016
Bringing Back the Blink Tag using JavaScript
Handling Time-Dependent State Recording using React
Feb 24, 2016
Handling Time-Dependent State Recording using React
Insertion Sort in Clojure
Feb 22, 2016
Insertion Sort in Clojure
Bubble Sort in Clojure... again
Feb 21, 2016
Bubble Sort in Clojure... again
Handling Array Equality in PHP
Feb 19, 2016
Handling Array Equality in PHP
Bubble Sort in Clojure
Feb 19, 2016
Bubble Sort in Clojure
Promisifying Error-First Asynchronous Callbacks in JavaScript
Feb 11, 2016
Promisifying Error-First Asynchronous Callbacks in JavaScript
Using Generators for Promise Coroutines in JavaScript
Feb 10, 2016
Using Generators for Promise Coroutines in JavaScript
Fetching Link Titles using Promises and Async/Await in JavaScript
Feb 6, 2016
Fetching Link Titles using Promises and Async/Await in JavaScript
Arrow Functions Lexical 'this' Scoping in JavaScript
Feb 4, 2016
Arrow Functions Lexical 'this' Scoping in JavaScript
Mimicking Named Parameters in JavaScript
Feb 2, 2016
Mimicking Named Parameters in JavaScript
Undefined Variable Checks in JavaScript
Feb 1, 2016
Undefined Variable Checks in JavaScript
Using Multiple Arrays with array_map in PHP
Jan 28, 2016
Using Multiple Arrays with array_map in PHP
Implementing a Cancellable Promise in JavaScript
Jan 28, 2016
Implementing a Cancellable Promise in JavaScript
Creating a IPersistentSet compatible Binary Tree in Clojure
Jan 27, 2016
Creating a IPersistentSet compatible Binary Tree in Clojure
Implementing Promise.all and Promise.race in JavaScript
Jan 22, 2016
Implementing Promise.all and Promise.race in JavaScript
Exploring Multi-Methods in Clojure
Jan 21, 2016
Exploring Multi-Methods in Clojure
Binary Search Trees in Clojure
Jan 20, 2016
Binary Search Trees in Clojure
Recreating 'Let' using a Macro in Clojure
Jan 15, 2016
Recreating 'Let' using a Macro in Clojure
Checking for Balanced Parentheses in Clojure
Jan 13, 2016
Checking for Balanced Parentheses in Clojure
Conditional Expressions in PostgreSQL
Jan 12, 2016
Conditional Expressions in PostgreSQL
QuickSort in Clojure
Jan 11, 2016
QuickSort in Clojure
Even Higher Trampolining in JavaScript
Jan 8, 2016
Even Higher Trampolining in JavaScript
Recursive Functions using a Trampoline in Clojure
Jan 7, 2016
Recursive Functions using a Trampoline in Clojure
Recursive Functions using a Trampoline in JavaScript
Jan 6, 2016
Recursive Functions using a Trampoline in JavaScript
Mergesort in Clojure using Post Conditionals
Jan 5, 2016
Mergesort in Clojure using Post Conditionals
Infix Calculator in Clojure
Jan 3, 2016
Infix Calculator in Clojure
2015
FizzBuzz in Clojure
Dec 31, 2015
FizzBuzz in Clojure
Asynchronous Calls within Flux
Oct 28, 2015
Asynchronous Calls within Flux
Arabic to Roman Numerals Converter in JavaScript
Oct 20, 2015
Arabic to Roman Numerals Converter in JavaScript
Cartesian Product in JavaScript
Oct 4, 2015
Cartesian Product in JavaScript
Peano Numbers and Arithmetic in JavaScript
Oct 1, 2015
Peano Numbers and Arithmetic in JavaScript
Implementing Classical Inheritance in JavaScript
Sep 5, 2015
Implementing Classical Inheritance in JavaScript
How the 'new' keyword works in JavaScript
Sep 3, 2015
How the 'new' keyword works in JavaScript
Implementing the Shunting Yard algorithm in JavaScript
Aug 29, 2015
Implementing the Shunting Yard algorithm in JavaScript
Developing a Resizable-Indexed Array as a PHP Extension with Joe Watkins
Aug 28, 2015
Developing a Resizable-Indexed Array as a PHP Extension with Joe Watkins
Small RPN Implementation in JavaScript
Aug 25, 2015
Small RPN Implementation in JavaScript
Lifting JavaScript Operators into First-class Functions
Aug 24, 2015
Lifting JavaScript Operators into First-class Functions
PHP Extension Development for Beginners with Joe Watkins
Aug 3, 2015
PHP Extension Development for Beginners with Joe Watkins
Insertion, Removal and Inversion Operations on Binary (Search) Trees in PHP
Jul 22, 2015
Insertion, Removal and Inversion Operations on Binary (Search) Trees in PHP
Managing Jenkins Project Builds and Configuration using PHP
Jul 8, 2015
Managing Jenkins Project Builds and Configuration using PHP
Optional Value Control-flows in PHP using Traits and Magic-methods
Jun 10, 2015
Optional Value Control-flows in PHP using Traits and Magic-methods
Partial Application (Currying) and Composition using JavaScript ES6
Apr 15, 2015
Partial Application (Currying) and Composition using JavaScript ES6
Simplify Git commit fixes using fixup and auto-squash
Apr 8, 2015
Simplify Git commit fixes using fixup and auto-squash
Implementing Streams in PHP
Jan 16, 2015
Implementing Streams in PHP
Cons Lists and Folds in PHP
Jan 2, 2015
Cons Lists and Folds in PHP
2014
The Internals of Git
Dec 27, 2014
The Internals of Git
Reversing a Unicode String in PHP using UTF-16BE/LE
May 11, 2014
Reversing a Unicode String in PHP using UTF-16BE/LE
Reversing a String in PHP
May 10, 2014
Reversing a String in PHP
Tuples in PHP
Apr 17, 2014
Tuples in PHP
Storing PHP Sessions/File Caches in Memory using TMPFS
Apr 16, 2014
Storing PHP Sessions/File Caches in Memory using TMPFS
Implementing ROT13 and ROT(n) Caesar Ciphers in Python
Apr 12, 2014
Implementing ROT13 and ROT(n) Caesar Ciphers in Python
Securing Sessions in PHP
Apr 9, 2014
Securing Sessions in PHP
Functional Quick sort in Scala and JavaScript
Apr 6, 2014
Functional Quick sort in Scala and JavaScript
Self-Signed SSL Certificates with Nginx and Apache
Apr 5, 2014
Self-Signed SSL Certificates with Nginx and Apache
The Y (Fixed-Point) Combinator in PHP
Apr 1, 2014
The Y (Fixed-Point) Combinator in PHP
Arch Linux and Awesome WM Installation Notes
Apr 1, 2014
Arch Linux and Awesome WM Installation Notes
Using Anonymous Functions (Lambdas) and Closures in PHP
Mar 17, 2014
Using Anonymous Functions (Lambdas) and Closures in PHP
Parallel Summation in Java
Mar 14, 2014
Parallel Summation in Java
Introduction to Creating a Basic PHP Extension
Mar 12, 2014
Introduction to Creating a Basic PHP Extension
Using Iterative deepening depth-first search in Python
Mar 6, 2014
Using Iterative deepening depth-first search in Python
Depth-First Search and Breadth-First Search in Python
Mar 5, 2014
Depth-First Search and Breadth-First Search in Python
Processing a List of Links using Python and BeautifulSoup
Feb 27, 2014
Processing a List of Links using Python and BeautifulSoup
Creating a Basic Auth. WSGI Middleware in Python
Feb 27, 2014
Creating a Basic Auth. WSGI Middleware in Python
Understanding Python WSGI with Examples
Feb 17, 2014
Understanding Python WSGI with Examples
Mounting an OSX SSH Volume using FUSE and SSHFS
Feb 17, 2014
Mounting an OSX SSH Volume using FUSE and SSHFS
Using Basic Auth. and Decorators in Python's Flask
Feb 10, 2014
Using Basic Auth. and Decorators in Python's Flask
Implementing Basic Python Decorators in PHP
Feb 10, 2014
Implementing Basic Python Decorators in PHP
Basic Shell Job Control in Unix
Jan 31, 2014
Basic Shell Job Control in Unix
Compiling PHP 5.5 with ZTS and pthreads Support
Jan 30, 2014
Compiling PHP 5.5 with ZTS and pthreads Support
Shell Functions to Recursively Delete/Suspend all Vagrant Instances
Jan 29, 2014
Shell Functions to Recursively Delete/Suspend all Vagrant Instances
Providing Local JS and CSS Resources for CDN Fallbacks
Jan 29, 2014
Providing Local JS and CSS Resources for CDN Fallbacks
Accessors (Getter/Setter) and Singleton Traits in PHP
Jan 28, 2014
Accessors (Getter/Setter) and Singleton Traits in PHP
Move Last Git Commit to New or Existing Branch
Jan 24, 2014
Move Last Git Commit to New or Existing Branch
Implementing a Dynamic Vector (Array) in C
Jan 20, 2014
Implementing a Dynamic Vector (Array) in C
Creating a Mac Microphone Mute Keyboard Shortcut
Jan 19, 2014
Creating a Mac Microphone Mute Keyboard Shortcut
Transferring Files using SSH and SCP
Jan 17, 2014
Transferring Files using SSH and SCP
Using Graphviz with SVG Output in PHP
Jan 13, 2014
Using Graphviz with SVG Output in PHP
Implementing and Using Memoization in PHP
Jan 13, 2014
Implementing and Using Memoization in PHP
How Static Facades and IoC are used in Laravel
Jan 8, 2014
How Static Facades and IoC are used in Laravel
Using Python's Pygments Syntax Highlighter in PHP
Jan 6, 2014
Using Python's Pygments Syntax Highlighter in PHP
Implementing Heapsort in Java and C
Jan 6, 2014
Implementing Heapsort in Java and C
Implementing a XOR Doubly Linked-List in C
Jan 3, 2014
Implementing a XOR Doubly Linked-List in C
Implementing a Doubly Linked List in C
Jan 3, 2014
Implementing a Doubly Linked List in C
2013
Implementing a Singly Linked-List in C
Dec 30, 2013
Implementing a Singly Linked-List in C
Experimenting with the XOR Swap Method in Java
Dec 29, 2013
Experimenting with the XOR Swap Method in Java
Least Significant Digit (LSD) Radix Sort in Java
Dec 28, 2013
Least Significant Digit (LSD) Radix Sort in Java
Using Partial Application in PHP
Dec 26, 2013
Using Partial Application in PHP
Implementing a Queue in Java using Arrays and Linked Lists
Dec 24, 2013
Implementing a Queue in Java using Arrays and Linked Lists
Shunting Yard Implementation in Java
Dec 23, 2013
Shunting Yard Implementation in Java
Uploading Podcast Audio to YouTube
Dec 22, 2013
Uploading Podcast Audio to YouTube
Implementing a Stack in Java using Arrays and Linked Lists
Dec 22, 2013
Implementing a Stack in Java using Arrays and Linked Lists
Processing Apache and Nginx Access Logs
Dec 21, 2013
Processing Apache and Nginx Access Logs
Using Bit Flags and EnumSets in Java
Dec 20, 2013
Using Bit Flags and EnumSets in Java
Decimal to Hexadecimal using Bitwise, Bit Shift Operations in Java
Dec 18, 2013
Decimal to Hexadecimal using Bitwise, Bit Shift Operations in Java
Reverse Polish Notation (RPN) in Scala
Dec 15, 2013
Reverse Polish Notation (RPN) in Scala
Changing the Timestamp of a Previous Git Commit
Dec 14, 2013
Changing the Timestamp of a Previous Git Commit
Configuring SSH Public Key Authentication on CentOS 6.4
Dec 12, 2013
Configuring SSH Public Key Authentication on CentOS 6.4
Using For-Comprehensions in Scala
Dec 11, 2013
Using For-Comprehensions in Scala
Simple Function Driven-Development
Dec 9, 2013
Simple Function Driven-Development
Open external links in a new window using JavaScript
Dec 9, 2013
Open external links in a new window using JavaScript
Twitter API v1.1 User Timeline JavaScript Solution
Dec 5, 2013
Twitter API v1.1 User Timeline JavaScript Solution
Solving the k-combinations problem in Scala
Dec 3, 2013
Solving the k-combinations problem in Scala
Merge sort in Scala using Tail-recursion and Streams
Dec 1, 2013
Merge sort in Scala using Tail-recursion and Streams
Installing Nginx/Apache, MySQL, PHP 5.5 (LAMP) stack on CentOS 6.4
Nov 29, 2013
Installing Nginx/Apache, MySQL, PHP 5.5 (LAMP) stack on CentOS 6.4
Coalescing Operation in PHP (for Default Values)
Nov 28, 2013
Coalescing Operation in PHP (for Default Values)
Merge sort comparison in Java and Scala
Nov 27, 2013
Merge sort comparison in Java and Scala
Personal Git Server with Gitolite
Nov 25, 2013
Personal Git Server with Gitolite
2012
Accessing PHP documentation using 'pman'
Sep 11, 2012
Accessing PHP documentation using 'pman'
An alternative to 'var_dump' in PHP
Sep 10, 2012
An alternative to 'var_dump' in PHP
Making Gitflow the way you want it to
Aug 26, 2012
Making Gitflow the way you want it to
Complete MAMP Setup with PHP 5.5
Jul 8, 2012
Complete MAMP Setup with PHP 5.5
PHPass, the go-to password hashing library
Jun 28, 2012
PHPass, the go-to password hashing library
Database Migrations with CodeIgniter
Jun 8, 2012
Database Migrations with CodeIgniter
DNSMasq, your local development DNS
May 15, 2012
DNSMasq, your local development DNS
IE6, IE7 & IE8, meet VMWare Fusion
Mar 31, 2012
IE6, IE7 & IE8, meet VMWare Fusion
Sphinx, up and running
Mar 10, 2012
Sphinx, up and running
2011
Ten ways to reverse a string in JavaScript
Oct 31, 2011
Ten ways to reverse a string in JavaScript
LaTeX, an Introduction
Oct 10, 2011
LaTeX, an Introduction