Blog
If you use a RSS or Atom feedreader, please subscribe to my feed.
Decisions and the long term
Marginal maintenance costs are much more important than fixed initial costs when making business decisions
Themes as Goals
Use themes to clarify your goals
Moving to monorepos without losing history
No need to start from scratch; you can merge your repos and preserve history.
Concurrent implementation of the Daytime Protocol in Rust
A concurrent implementation Daytime protocol in Rust
Eventual consistency for SQL: Normalization
Using a log-structured schema, we can merge SQL databases to achieve eventual consistency.
Eventual consistency for SQL databases
Using a log-structured schema, we can merge SQL databases to achieve eventual consistency.
cons, car, and cdr need not be primitive
An exercise from SICP
Review Checklists
Making routine simpler.
Your Turn
Never give in to impostor syndrome
Hakyll CSS Template Compiler
To appease Google, I inlined CSS in my Hakyll pages.
One Year of Blogging
A look back over some recent posts from this blog
Benchmarking Large Riak Data Types: A Potential Fix
Russell Brown has a potential fix for the Data Type growth
Benchmarking Large Riak Data Types, continued
Some additional information about yesterdays post
Benchmarking Large Riak Data Types
A benchmark for large (10k+ elements) Riak Data Types
Benjamin Franklin on Open Source
Ben Franklin is a fan of Linus's Law.
Glabal
Global sandboxes for Cabal
Parallelizing algorithms in Haskell
I demonstrate parallelizing existing code in Haskell
Concurrent implementation of the Daytime Protocol in Haskell
I demonstrate a concurrent implementation of the Daytime Protocol in Haskell
Imports, continued
I've been asked a follow up question about reexporting items.
Imports
A comparison of imports in Python, Haskell, and Swift
Quantity and Quality
Adjusting my metrics to better reflect my goals.
Swift Changes Array Type Syntax
Swift has improved the syntax for its Array type.
Hackage Code Review
Danny Gratzer has been reviewing packages on Hackage.
Additional LinkedIn Problems
Ron Garret discusses some additional issues with LinkedIn
Understandable Regular Expressions
A friend of mine is working on an understandable regular expression implementation.
Email Clients
I'm looking for a good email client
Uploading to PyPI
Tom Christie gave a guide on uploading to PyPI
Developers and Depression
Opening a dialogue about depression within the development community
JSON Parsing in Swift
Is JSON parsing in Swift really that difficult?
Ken Thompson on Fragile Code
Ken Thompson on the definition of fragile code
Optional assignment in Swift
Proposed optional assignment operator in Swift
Six Months of Blogging
A six month review of this blog
Swift Programming Language
Some thoughts on Swift
Mindfeed
Automatically create Beeminder datapoints for posts in RSS/Atom feeds.
This Site Now Open Source
The source for this website is now publicly available.
WX now Open Source
Announcing WX, a web app for weather stations
datetime-interval now on PyPI
Announcing datetime-interval, a Python package.
Reusing Generators in Python
(On not) reusing generators in Python
Adding Tags to Posts with Hakyll
Adding tags to posts with Hakyll
More pictures from HF in the Park
Pictures from the fox hunt
HF in the Park
A fox hunt
Your Service as a Functor
Applying category theory to servers and services
Longfellow on Task Management
A poetry of task management?
Pirsig on Object Orientation
Philosophy and programming languages
Compiler Optimizations and Optimality Theory
Compiler optimizations and optimality theory
Fox Hunting Results
Fox Hunting Results
Startup Services Startups
Startups that provide services for other startups
Preemptive Maintenance
Heading off future maintenance
Bringrr
Another key finding startup.
Decomposition as Task Management
Decompose until a computer can do it
Fox Hunting Software
Software used for fox hunting
Fox Hunting Equipment
Fox hunting equipement
Minneapolis Food Deserts
A map by Mary
KeyMe
A lost keys startup
Focus
Don't worry about what isn't due today
Effective Requirements
How to gather requirements
Marketing Your Linguistics Degree
Marketing your linguistics degree
Setting WTForms Selection Fields Dynamically
Setting WTForms selection fields dynamically
Beeminder
Thoughts on Beeminder
Unbundling LinkedIn
Why I don't have a LinkedIn account
Richard Feynman: Non-Technical Co-Founder
The need for a non-technical co-founder, found in a technical co-founder
Multitools
On choosing the best tool for the job
Formatting Classes with Multiple Inheritance in
Formatting rules for Python
Pirsig on Tools
Why tools are important
Interfaces and Layers
Interfaces and layers, two perspectives.
A Language which isn't Recursively Enumerable
A Language which isn't Recursively Enumerable
Software as a Capital Asset
Software as a Capital Asset
Harry Truman on Iteration
Iteration and revision
A MathJax Issue
Test page for a MathJax issue
The (Linguistics) Pragmatic Programmer
Applying principles of natural language linguistics to programming languages
RESTful Email
A proposed REST API for email
Props: Gen a, thunks, and closures
Internals of Props
Sacrificing Safety for Flexibility
An analogy between type systems and databases
Databases are Categories
Expanding on the link between databases and category theory
Types and Programming Languages
Types and Programming Languages book
Props Now On PyPI
Releasing a property-based testing framework for Python
Adding First-class Functions to Python
Object and function duality
Linting Natural Language
How I use GNU Style and Diction, and aspell.
Top-down Programming
Why I prefer top-down to bottom-up programming
Setting Class Names Dynamically in Python
Metaprogrammed named classes in Python
On Teaching Programming
Culture over code
On Choosing the Best Tool for the Job
Finding balance between tools that do it all and tools that are ideal
Interface Package Now on PyPI
Releasing a package to PyPI
Testing Interfaces in Python
Generating tests for interfaces in Python
Interfaces in Python
Implementing interfaces in Python
Databases, Primality, and Category Theory
An observation relating primality from number theory to databases
On Perl Programming
Snoopy swearing in Perl
Singular Dispatch and Update
Providing more implementations for a singular dispatch method
Pattern Matching and Singular Dispatch in Python
Implementing pattern matching and singular dispatch in Python
Never Blame People
Computer programs should not blame people for their own failings
Lost Keys
What if there were a startup to find your lost keys?
Widely and Hakyll
How I use Widely to deploy Hakyll sites
Welcome
Welcome to Kyle Marek-Spartz's blog!