Writing JSON to a custom output in Zig17 Mar 23
Reading a JSON config in Zig06 Mar 23
Writing a Custom SQLite Function (in C) - Part 214 Feb 23
Writing a Custom SQLite Function (in C) - Part 102 Feb 23
ASCII String to Lowercase in Go19 Jan 23
String to Integer (atoi) in Go11 Jan 23
Building a Cache in Elixir11 Jul 22
WebSocket Framing: Masking, Fragmentation and More29 May 22
Exhausting Exhaustive Testing18 Mar 22
Basic observations of Generics in Go03 Mar 22
Server Hardening Tools (As An Amateur)16 Feb 22
Elixir Without Ecto - Dynamic Queries11 Feb 22
Elixir Without Ecto05 Feb 22
Using Process Dictionaries in Elixir07 Jan 22
Queue Despair: Ordering and Poison Messages08 Dec 21
Rust Strings27 Nov 21
Rust Ownership, Move and Borrow - Part 322 Nov 21
Rust Ownership, Move and Borrow - Part 213 Nov 21
Rust Ownership, Move and Borrow - Part 106 Nov 21
Elixir, A Little Beyond The Basics - Part 9: erlang25 Oct 21
Elixir, A Little Beyond The Basics - Part 8: genservers23 Oct 21
Elixir, A Little Beyond The Basics - Part 7: supervisors22 Oct 21
Elixir, A Little Beyond The Basics - Part 6: processes20 Oct 21
Elixir, A Little Beyond The Basics - Part 5: tuples and records14 Oct 21
Elixir, A Little Beyond The Basics - Part 4: structures09 Oct 21
Elixir, A Little Beyond The Basics - Part 3: maps06 Oct 21
Elixir, A Little Beyond The Basics - Part 2: iolist04 Oct 21
Elixir, A Little Beyond The Basics02 Oct 21
Elixir, A Little Beyond The Basics - Part 1: lists01 Oct 21
Elegant TCP with Elixir - Part 2 - Message Boundaries13 Apr 20
Elegant TCP with Elixir - Part 1 - TCP as Messages08 Apr 20
An Awful Introduction to Make23 Feb 20
Action-Specific Plug Pipelines for Phoenix13 Feb 20
Migrating to CockroachDB05 Feb 20
Using Messages In Elixir To Avoid Polling30 Jan 20
Consistent Database and Message Queue Writes22 Jan 20
Basic Brain Dump On Dealing With Errors13 Oct 18
Elixir: Which Modules Are Using My Module24 Jun 18
The Benefits of Pair Programming15 Mar 18
Test Private Functions and Implementation Details02 Jan 18
The Beauty of Elixir and Beam07 Nov 17
Elixir Tips and Tricks27 Oct 17
Testing Asynchronous Code in Elixir25 Sep 17
Learning Elixir's Supervisors16 Sep 17
Elixir's Binary Matching Performance15 Aug 17
Learning Elixir's ETS - Part 222 Jul 17
Learning Elixir's ETS - Part 128 May 17
Learning Elixir's Agent28 Mar 17
Learning Elixir's GenServer - Part 223 Mar 17
Learning Elixir's GenServer - Part 122 Mar 17
Dependency Injection in Elixir is a Beautiful Thing06 Jan 17
Tests Are About Design11 Dec 16
Elixir's With Statement07 Nov 16
Concatenation in Elixir22 Sep 16
Pattern Matching in Elixir01 Aug 16
Interfaces In Nim14 May 16
Software Craftsmanship: Testing10 Jan 16
An Introduction To OpenResty - Part 304 Jan 16
An Introduction To OpenResty - Part 2 - Concepts26 Dec 15
An Introduction To OpenResty (nginx + lua) - Part 119 Dec 15
RESTful routing in Go05 May 15
Go actions responses02 May 15
Go's error handling: good and bad23 Apr 15
Project Organisation16 Apr 15
Prematurely Blocking Producers in Go04 Apr 15
Basic Micro-Optimizations Part 324 Mar 15
Writing And Using C Code From Go20 Mar 15
An efficient integer set19 Mar 15
Building A Queue - Part 418 Mar 15
Leaking Goroutines16 Mar 15
Building A Queue - Part 312 Mar 15
Building A Queue - Part 211 Mar 15
Building A Queue - Part 110 Mar 15
Using Javascript Generators24 Feb 15
I'm Not Sold On High Availability12 Feb 15
Unordered Queues04 Feb 15
A decade of unit testing30 Jan 15
Nearest Neighbour Over Small Areas13 Jan 15
Framework Agnostic Zero Downtime Deployment with NGINX06 Jan 15
Introduction to PostgreSQL Arrays08 Dec 14
Basic Micro-Optimizations Part 228 Nov 14
Basic Micro-Optimizations27 Nov 14
Condition Variables03 Nov 14
Buying Concurrency with Memory29 Oct 14
Using Small Arrays Instead Of Small Dictionaries22 Oct 14
The Little Go Book21 Oct 14
Practical SOA / microservices - Hydration - Part 218 Oct 14
How unreliable is UDP?16 Oct 14
Practical SOA / microservices - Typed Requests10 Oct 14
Practical SOA / microservices - Hydration - Part 101 Oct 14
Controlling Array Growth in Golang26 Aug 14
Cancelling Long Promise Chains02 Jul 14
Pools: So You Think You're Smarter Than Your GC12 Jun 14
Space Efficient Percentile Calculations07 Jun 14
Understanding Pools28 Apr 14
Understanding Javascript Promises26 Apr 14
Grow Up. Use Queues.05 Mar 14
Client-Side vs. Server-Side Rendering Redux (Sorta)22 Feb 14
The Deceptive Nature Of Averages10 Feb 14
Why Premature Optimizations Are Rarely A Waste Of Time13 Jan 14
Fast Large Offsets With An Indexed Skiplist09 Dec 13
Building A Skiplist06 Dec 13
The Minimum You Need To Know About Arrays and Slices in Golang25 Nov 13
Concurrent Reads with Serialized Writes20 Nov 13
Filtering My Blog Posts By Tags12 Nov 13
Building Technology Agnostic Globally Distributed Systems05 Nov 13
Back To Basics: Hashtables Part 2 (And A Peek Inside Redis)02 Nov 13
Back To Basics: Hashtables31 Oct 13
High Concurrency LRU Caching19 Oct 13
Growth Planning03 Oct 13
"Dependency Injection" in Golang18 Sep 13
Scaling? Focus On Raw Speed11 Sep 13
Own A System Beyond Its Childhood, Or Stay A Bad Programmer04 Sep 13
SOA Lessons Learned27 Aug 13
On Sharing Infrastructure22 Aug 13
Caching: Your Worst Best Friend25 Jul 13
Reading too much into String.Split17 Jul 13
Golang Slices And The Case Of The Missing Memory10 Jul 13
Your Buffer Is Leaking08 Jul 13
Shard Your Hash Table To Reduce Write Locks03 Jul 13
Golang hot configuration reload01 Jul 13
How Meaningful Do You Find Github's Punchcard?21 Jun 13
Concurrent-Friendly Logging with Golang20 Jun 13
Background Driven Development12 Jun 13
Why I Dislike EC204 Jun 13
How Good Is Amazon's Route 53 Latency Based Routing?29 May 13
Do More In-Process Caching23 May 13
Building Search13 May 13
Redis' slowlog and DEL's surprisingly bad performance10 May 13
Lua's JSON turns empty arrays into empty hashes07 May 13
Achieving 5ms Response Time03 May 13
Writing an LRU Cache02 May 13
Appendix C - Our Simple AutoComplete30 Apr 13
Appendix B - I Love Premature Optimizations30 Apr 13
Appendix A - Why Node?30 Apr 13
Chapter 7 - Conclusion30 Apr 13
Chapter 6 - Writes, Bloat and Queues30 Apr 13
Chapter 5 - Surprisingly Reusable30 Apr 13
Chapter 4 - Tweaks30 Apr 13
Chapter 3 - Holdbacks30 Apr 13
Chapter 2 - The Core30 Apr 13
Chapter 1 - Introduction30 Apr 13
Scaling Viki30 Apr 13
Introduction To Golang: Buffered Channels27 Apr 13
An Interview Question Too Many Developers Get Wrong24 Apr 13
Things I Wish Someone Had Told Me About Golang11 Mar 13
Testing In Golang10 Mar 13
Getting an Images Type and Size in Golang (or any other language)10 Feb 13
You can't rollback Redis transactions05 Feb 13
Introduction To Golang: Channels (Again)20 Jan 13
Introduction To Golang: Channels17 Jan 13
Introduction To Golang: Arrays, Maps, Slices And Make14 Jan 13
Introduction To Golang: Interfaces10 Jan 13
Introduction To Golang: Structures, Data and Instances07 Jan 13
Custom Redis Command: Performance of C vs Lua24 Dec 12
Writing a Custom Redis Command In C - Part 223 Dec 12
Writing a Custom Redis Command In C - Part 120 Dec 12
No Shit Stylesheets12 Jul 12
Data Modeling In Redis28 Jun 12
Three Must-Have Redis Configuration Options For Production27 Jun 12
Node.js, Module.Exports and Organizing Express.js Routes26 Jun 12
Paging & Ranking With Large Offsets: MongoDB vs Redis vs PostgreSQL25 Jun 12
Why Are You Linking To 404s?18 Jun 12
What I Learned Building Mogade13 Jun 12
Redis Is The Most Important Tool In My Toolbelt12 Jun 12
Azure's Website Lacks Organization and Details11 Jun 12
The Little Introduction To Programming08 Jun 12
I Blog To Learn07 Jun 12
Redis' Watch Command: Making Sure A Process Doesn't Run When Already Running05 Jun 12
Minimalist Markup01 Jun 12
Can You Make My Home Page Smaller?31 May 12
Client-Side vs. Server-Side Rendering30 May 12
Ten Features I Like About CoffeeScript16 May 12
Mock Expectations in .NET vs Ruby14 May 12
Let's Increment i, Logic Gate Style07 May 12
Let's Increment i, Assembly Style03 May 12
Measuring Time Spent Between Steps In A Funnel01 May 12
How I'd Change Riak's Documentation28 Apr 12
I Rather Have Silly Tests Than Silly Code24 Apr 12
Using MapReduce to Measure Funnels20 Apr 12
Arrays and Memory, Part 219 Apr 12
Learning Is More Important Than Knowing18 Apr 12
I'm a bad chef, but I still cook a lot18 Apr 12
Piping Basics13 Apr 12
Let's Talk About Logging11 Apr 12
You Really Should Log Client-Side Errors04 Apr 12
Malloc and Free31 Mar 12
Why Arrays Normally Start At Zero30 Mar 12
Recommending Distant Items27 Mar 12
Let's Build Something Using Amazon's DynamoDB06 Feb 12
Node.js, Require and Exports03 Feb 12
The Little Redis Book23 Jan 12
Refactoring Common API Functionality Into A Node.js Proxy17 Jan 12
Understanding CoffeeScript Comprehensions15 Jan 12
Reading from TCP streams12 Jan 12
Does My Replica Set Need An Arbiter07 Jan 12
I Just Don't Like Object Mappers18 Nov 11
Redis: Zero to Master in 30 minutes - Part 208 Nov 11
Redis: Zero to Master in 30 minutes - Part 108 Nov 11
Rethink Your Data07 Nov 11
CouchDB And MongoDB Performance28 Oct 11
A MongoDB Guy Learns CouchDB27 Oct 11
Demystifying Write Durability16 Oct 11
ObjectIds Are Predictable15 Oct 11
Speeding Up Queries: Re-Imagining Your Data14 Oct 11
Speeding Up Queries: Understanding Query Plans12 Oct 11
What's A Padding Factor?10 Oct 11
Multiple Collections vs Embedded Documents10 Oct 11
The MongoDB Collection09 Oct 11
MongoSpy, MongoWatch and Compressed Blobs23 Sep 11
The Little Things Add Up17 Sep 11
How You Should Go About Learning NoSQL15 Aug 11
Someone is selling my Foundations of Programming ebook on Amazon.com (and it isn't me)12 Aug 11
Yesterday I Quit My Job03 Aug 11
RoR Testing - One Thing To Do (I think) And One Thing Not To Do (I'm Sure)19 Jul 11
Learning Golang By Benchmarking Set Implementations15 Jul 11
Error Handling In Asynchronous Code With Callbacks and Return Codes14 Jul 11
The Only Thing I Think I Know About Proper CSS Usage06 Jul 11
Rethink your Data Model05 Jul 11
MongoDB, OpenStreetMap and a Little Demo20 Jun 11
Factories Make Testing Easier17 May 11
Making our MongoDB Code Run Faster09 May 11
Practical NoSQL - Solving a Real Problem with MongoDB and Redis08 May 11
Fighting the Framework04 May 11
Dealing with Now and why I'm almost done with C# and Java03 May 11
Automatically Processing Emails29 Apr 11
Planning Mogade v228 Apr 11
The Little MongoDB Book epub20 Apr 11
Algorithm Tutorials15 Apr 11
Video is a poor medium for learning to program12 Apr 11
Markdown and Me05 Apr 11
Why I'd Never Charge For A Tech Book31 Mar 11
tracking hits with load.io, a sunday project29 Mar 11
The Little MongoDB Book28 Mar 11
Stop Using Mocks23 Mar 11
Foundations of Programming 2 - Appendix B - Advanced jQuery21 Mar 11
Foundations of Programming 2 - Appendix A - jQuery Basics16 Mar 11
Side Projects - Mongly14 Mar 11
Foundations of Programming 2 - Chapter 5 - Effective Testing23 Feb 11
Regular Expressions: Positive/Negative Look-Ahead/Behind16 Feb 11
Validation: Hong Kong Doesn't Have Zip/Postal Codes15 Feb 11
Do Relational Database Vendors Care About Developers?10 Feb 11
Foundations of Programming 2 - Chapter 4 - Unit Testing31 Jan 11
jQuery DateRange Picker25 Jan 11
Understanding Map Reduce20 Jan 11
Foundations of Programming: Why Markdown? (And why not Word?)10 Jan 11
Foundations of Programming 2 - Chapter 3 - IoC 18006 Jan 11
Foundations of Programming 2 - Chapter 2 - Yet Another IoC Introduction29 Dec 10
Visual Studio's Most Unusable Features28 Dec 10
Foundations of Programming 2 - Chapter 1 - Quality and Efficiency20 Dec 10
Paypal's logo designed to look like a recommendation?15 Dec 10
Foundations of Programming 2 Will Need Your Help13 Dec 10
Does Anyone Know What Silverlight Is?03 Dec 10
How Optimized Are High Traffic Websites?16 Nov 10
How to Test Against an External HTTP Dependency12 Nov 10
mogade.com: a free platform for casual game developers09 Nov 10
An Introduction To Hosting26 Oct 10
My Slow Transition Away From Mocks/20 Oct 10
Weekend .NET Pains - Why I Prefer Ruby18 Oct 10
Programmer Passion: An Enterprises Most Useful Yet Repressed Advantage07 Oct 10
My Programming Sins - 2. Manually Managing References07 Oct 10
Introducing jstub27 Sep 10
Javascript Mocking - Damn, That's Easy.21 Sep 10
My Programming Sins - 1. [Not] Testing Javascript20 Sep 10
A different (for me) way to page06 Sep 10
How I would fix ASP.NET30 Aug 10
My .NET ICache24 Aug 10
HttpHandlerWrapper19 Aug 10
Design Through Testability - An Example19 Aug 10
Write testable code even if you don't write tests17 Aug 10
Website Performance : Crossing the T's and dotting the I's22 Jul 10
Using PostMark To Send Mail21 Jul 10
noobgaming : my rails and gaming passions combined20 Jul 10
Installing Nginx with Passenger on Linux (from source)01 Jul 10
Learning Ruby : Class methods != Static Methods26 Jun 10
Learning Ruby : class << self25 Jun 10
Rails does Mail Right. ASP.NET, not so much.24 Jun 10
My Rails Journey - The Expected Speed Bumps23 Jun 10
Its time to start again13 Jun 10