kms

Blog

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.


Glabal

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.


Imports

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


Mindfeed

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


Bringrr

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


KeyMe

April 10, 2014

A lost keys startup


Focus

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


Beeminder

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


Multitools

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


Welcome

December 8, 2013

Welcome to Kyle Marek-Spartz's blog!