RSS.Social

Cuddly, Octo-Palm Tree

follow: @[email protected]

Posts

Managing a Project's Tool Dependencies with Nix (and direnv)

Notes on Optimizing Clojure Code: Arrays

Notes on Optimizing Clojure Code: Type Hints

Notes on Optimizing Clojure Code: Reflection

Notes on Optimizing Clojure Code: Data Structures

Notes on Optimizing Clojure Code: Numerics

Notes on Optimizing Clojure Code: Example

Notes on Optimizing Clojure Code: Measurements

Notes on Optimizing Clojure Code: Overview

AoC 24, part 2: A proper solution

AoC 24, part 1: Did I cheat?

Graph search: Dijkstra, A*

Tools You Should Know About: nix-shell

Tools You Should Know About: direnv

"The Genuine Sieve of Eratosthenes" in Clojure

Primes in Clojure part 2: Interop

Circular Programming in Clojure

The Clojure Promise

Computing prime numbers with Clojure

Bash functions are better than I thought

Forwarding emails with SES and Terraform

A short overview of DNS

Tools You Should Know About: Terraform

Monads for Clojure programmers

Tools You Should Know About: jq

The elements of git

Tools You Should Know About: tmux

Monads, part six: But, really, what is a monad?

Data-first API design

Cheap interpreter, part 10: fastest one yet, then a hundred times faster

Cheap interpreter, part 9: even faster register machines

Cheap interpreter, part 8: faster register machines

Cheap interpreter, part 7: register machines

Cheap interpreter, part 6: faster stack machines

Cheap interpreter, part 5: mea culpa

Cheap interpreter, part 4: stack machines

Cheap interpreter, part 3: host-language functions

Cheap interpreter, part 2: tree-walking

Cheap interpreter, part 1: overview

Church-Turing equivalence

What is functional programming?

What is imperative programming?

Asking questions as an interviewee

Monads, part five: What if I'm not writing Haskell?

Monads, part four: examples

Monads, part three: monads made easy

Monads, part two: Okay, I guess, but what is it <i>for</i>?

Monads, part one: <strike>What's a monad?</strike>

Monads, part zero: Flavours of abstractions

How to break a computer

Laziness: Clojure vs Haskell

Genetic algorithms

Removing a directory

Review: Why FP Matters (Hughes)

Merge sort in Bash

Bash redirections

Runtime optimization with eval

Safer Bash: avoid nesting

Safer Bash: fail on pipes

Safer Bash: no unset

Safer Bash: die on error