If you use a RSS or Atom feedreader, please subscribe to my feed.

Decisions and the long term

December 5, 2015

Marginal maintenance costs are much more important than fixed initial costs when making business decisions

Themes as Goals

November 25, 2015

Use themes to clarify your goals

Moving to monorepos without losing history

November 17, 2015

No need to start from scratch; you can merge your repos and preserve history.

Concurrent implementation of the Daytime Protocol in Rust

November 16, 2015

A concurrent implementation Daytime protocol in Rust

Eventual consistency for SQL: Normalization

October 14, 2015

Using a log-structured schema, we can merge SQL databases to achieve eventual consistency.

Eventual consistency for SQL databases

September 8, 2015

Using a log-structured schema, we can merge SQL databases to achieve eventual consistency.

cons, car, and cdr need not be primitive

March 16, 2015

An exercise from SICP

Review Checklists

January 20, 2015

Making routine simpler.

Your Turn

January 19, 2015

Never give in to impostor syndrome

Hakyll CSS Template Compiler

December 9, 2014

To appease Google, I inlined CSS in my Hakyll pages.

One Year of Blogging

December 8, 2014

A look back over some recent posts from this blog

Benchmarking Large Riak Data Types: A Potential Fix

December 3, 2014

Russell Brown has a potential fix for the Data Type growth

Benchmarking Large Riak Data Types, continued

December 2, 2014

Some additional information about yesterdays post

Benchmarking Large Riak Data Types

December 1, 2014

A benchmark for large (10k+ elements) Riak Data Types

Benjamin Franklin on Open Source

November 1, 2014

Ben Franklin is a fan of Linus's Law.


October 28, 2014

Global sandboxes for Cabal

Parallelizing algorithms in Haskell

August 28, 2014

I demonstrate parallelizing existing code in Haskell

Concurrent implementation of the Daytime Protocol in Haskell

August 26, 2014

I demonstrate a concurrent implementation of the Daytime Protocol in Haskell

Imports, continued

August 6, 2014

I've been asked a follow up question about reexporting items.


August 5, 2014

A comparison of imports in Python, Haskell, and Swift

Quantity and Quality

July 21, 2014

Adjusting my metrics to better reflect my goals.

Swift Changes Array Type Syntax

July 19, 2014

Swift has improved the syntax for its Array type.

Hackage Code Review

July 17, 2014

Danny Gratzer has been reviewing packages on Hackage.

Additional LinkedIn Problems

July 14, 2014

Ron Garret discusses some additional issues with LinkedIn

Understandable Regular Expressions

July 12, 2014

A friend of mine is working on an understandable regular expression implementation.

Email Clients

July 9, 2014

I'm looking for a good email client

Uploading to PyPI

June 27, 2014

Tom Christie gave a guide on uploading to PyPI

Developers and Depression

June 25, 2014

Opening a dialogue about depression within the development community

JSON Parsing in Swift

June 20, 2014

Is JSON parsing in Swift really that difficult?

Ken Thompson on Fragile Code

June 15, 2014

Ken Thompson on the definition of fragile code

Optional assignment in Swift

June 10, 2014

Proposed optional assignment operator in Swift

Six Months of Blogging

June 8, 2014

A six month review of this blog

Swift Programming Language

June 6, 2014

Some thoughts on Swift


May 29, 2014

Automatically create Beeminder datapoints for posts in RSS/Atom feeds.

This Site Now Open Source

May 28, 2014

The source for this website is now publicly available.

WX now Open Source

May 23, 2014

Announcing WX, a web app for weather stations

datetime-interval now on PyPI

May 23, 2014

Announcing datetime-interval, a Python package.

Reusing Generators in Python

May 21, 2014

(On not) reusing generators in Python

Adding Tags to Posts with Hakyll

May 15, 2014

Adding tags to posts with Hakyll

More pictures from HF in the Park

May 13, 2014

Pictures from the fox hunt

HF in the Park

May 12, 2014

A fox hunt

Your Service as a Functor

May 8, 2014

Applying category theory to servers and services

Longfellow on Task Management

May 7, 2014

A poetry of task management?

Pirsig on Object Orientation

May 5, 2014

Philosophy and programming languages

Compiler Optimizations and Optimality Theory

May 2, 2014

Compiler optimizations and optimality theory

Fox Hunting Results

May 1, 2014

Fox Hunting Results

Startup Services Startups

April 30, 2014

Startups that provide services for other startups

Preemptive Maintenance

April 29, 2014

Heading off future maintenance


April 26, 2014

Another key finding startup.

Decomposition as Task Management

April 25, 2014

Decompose until a computer can do it

Fox Hunting Software

April 22, 2014

Software used for fox hunting

Fox Hunting Equipment

April 21, 2014

Fox hunting equipement

Minneapolis Food Deserts

April 13, 2014

A map by Mary


April 10, 2014

A lost keys startup


April 8, 2014

Don't worry about what isn't due today

Effective Requirements

April 7, 2014

How to gather requirements

Marketing Your Linguistics Degree

April 5, 2014

Marketing your linguistics degree

Setting WTForms Selection Fields Dynamically

April 4, 2014

Setting WTForms selection fields dynamically


March 31, 2014

Thoughts on Beeminder

Unbundling LinkedIn

March 29, 2014

Why I don't have a LinkedIn account

Richard Feynman: Non-Technical Co-Founder

March 20, 2014

The need for a non-technical co-founder, found in a technical co-founder


March 11, 2014

On choosing the best tool for the job

Formatting Classes with Multiple Inheritance in

March 8, 2014

Formatting rules for Python

Pirsig on Tools

March 2, 2014

Why tools are important

Interfaces and Layers

March 2, 2014

Interfaces and layers, two perspectives.

A Language which isn't Recursively Enumerable

February 28, 2014

A Language which isn't Recursively Enumerable

Software as a Capital Asset

February 27, 2014

Software as a Capital Asset

Harry Truman on Iteration

February 26, 2014

Iteration and revision

A MathJax Issue

February 25, 2014

Test page for a MathJax issue

The (Linguistics) Pragmatic Programmer

February 24, 2014

Applying principles of natural language linguistics to programming languages

RESTful Email

February 21, 2014

A proposed REST API for email

Props: Gen a, thunks, and closures

February 20, 2014

Internals of Props

Sacrificing Safety for Flexibility

February 19, 2014

An analogy between type systems and databases

Databases are Categories

February 19, 2014

Expanding on the link between databases and category theory

Types and Programming Languages

February 18, 2014

Types and Programming Languages book

Props Now On PyPI

February 17, 2014

Releasing a property-based testing framework for Python

Adding First-class Functions to Python

February 14, 2014

Object and function duality

Linting Natural Language

February 11, 2014

How I use GNU Style and Diction, and aspell.

Top-down Programming

February 10, 2014

Why I prefer top-down to bottom-up programming

Setting Class Names Dynamically in Python

February 7, 2014

Metaprogrammed named classes in Python

On Teaching Programming

February 4, 2014

Culture over code

On Choosing the Best Tool for the Job

February 4, 2014

Finding balance between tools that do it all and tools that are ideal

Interface Package Now on PyPI

February 3, 2014

Releasing a package to PyPI

Testing Interfaces in Python

January 30, 2014

Generating tests for interfaces in Python

Interfaces in Python

January 29, 2014

Implementing interfaces in Python

Databases, Primality, and Category Theory

January 27, 2014

An observation relating primality from number theory to databases

On Perl Programming

January 23, 2014

Snoopy swearing in Perl

Singular Dispatch and Update

December 18, 2013

Providing more implementations for a singular dispatch method

Pattern Matching and Singular Dispatch in Python

December 12, 2013

Implementing pattern matching and singular dispatch in Python

Never Blame People

December 11, 2013

Computer programs should not blame people for their own failings

Lost Keys

December 10, 2013

What if there were a startup to find your lost keys?

Widely and Hakyll

December 9, 2013

How I use Widely to deploy Hakyll sites


December 8, 2013

Welcome to Kyle Marek-Spartz's blog!