
Making nutrition decisions
I've been trying out a new dietary pattern recently. This post is about how I make decisions on what to try, and some general rules I've been converging on.

The Warp Executable
Ever need a quick web server for some static files? Use the warp executable!

Tokio 0.2 - Rust Crash Course lesson 9
Lesson 9 in the Rust crash course: using Tokio 0.2.

Down and dirty with Future - Rust Crash Course lesson 8
Lesson 8 in the Rust crash course: down and dirty with the Future trait

Boring Haskell Manifesto
Haskell is revolutionary. But we're ignoring that. Instead: how to get Haskell into your organization, and how to make your organization more productive and profitable with better engineering

Haskell kata: withTryFileLock
A Haskell code kata to sharpen your skills. Rewrite withTryFileLock to have a different type signature.

How to lose weight
A short guide on approaches you may take on losing weight, and my recommendations for getting started. Targeted at newcomers to the health and fitness world.

My new home network setup
We just did a bunch of rennovations on our house, including to our network setup. For the curious, here's what it looks like.

Gym Etiquette Test
A recommended required exam for anyone to join a gym

Typing Resistance
Programming languages, like the human body, are subject to the phenomenon known as resistance. Learn how type systems in programming act like insulin in the body.

Shutting down haskell-lang.org
I've recently shut down the haskell-lang.org website, redirecting to a new FP Complete Haskell site.

Call for new Stack issue triager
Interested in contributing back to the Stack project? Consider joining the Stack issue triager team!

Mismatched global packages
How GHC can ship packages that are different than what's on Hackage, how this impacts Stack, and how to do better

Kids Coding, Part 4
Part 4 of teaching my kids to code, teaching the six year old some coding

Kids Coding Interlude: the function game
An interlude in the series of kids coding to talk about a helpful exercise we use: the function game

Improving Commercial Haskell
A proposal on how we can make the Commercial Haskell Special Interest Group more useful for the community. Feedback very much welcome.

FP Complete's opinion
What is FP Complete's opinion on topic X? Nothing!

New user empathy
We often talk about the abstract "new user." I'd like to propose a more concrete, and hopefully more helpful, approach to helping new users, both with Haskell, and in general.

Async, futures, and tokio - Rust Crash Course lesson 7
Lesson 7 in the Rust crash course: Async, futures, and tokio

Lifetimes and Slices - Rust Crash Course lesson 6 - exercise solutions
Solutions to exercises in Rust crash course lesson 6, "Lifetimes and Slices."