All blogs / Lisp / Clojure / Scheme
Cuddly, Octo-Palm Tree
Blog on software engineering, mostly.
Lisp / Clojure / SchemeSoftware / engineering practicePerformance / optimizationDev tools / editors / IDEs
- Posts
- 61 from 16 Jan 2021 to 9 Aug 2025
- Posting
- now and then
- Kind
- personal blog
- Feed
- https://cuddly-octo-palm-tree.com/feed.xml
2025 1
2022 10
- 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?
2021 50
- 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 for ?
- Monads, part one: What's a monad?
- 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