The Curious Engineer

All blogs / Lisp / Clojure / Scheme

Cuddly, Octo-Palm Tree

cuddly-octo-palm-tree.com

Blog on software engineering, mostly.

Lisp / Clojure / SchemeSoftware / engineering practicePerformance / optimizationDev tools / editors / IDEs

’21’22’23’24’25’26
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

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

2022 10

  1. Notes on Optimizing Clojure Code: Arrays
  2. Notes on Optimizing Clojure Code: Type Hints
  3. Notes on Optimizing Clojure Code: Reflection
  4. Notes on Optimizing Clojure Code: Data Structures
  5. Notes on Optimizing Clojure Code: Numerics
  6. Notes on Optimizing Clojure Code: Example
  7. Notes on Optimizing Clojure Code: Measurements
  8. Notes on Optimizing Clojure Code: Overview
  9. AoC 24, part 2: A proper solution
  10. AoC 24, part 1: Did I cheat?

2021 50

  1. Graph search: Dijkstra, A*
  2. Tools You Should Know About: nix-shell
  3. Tools You Should Know About: direnv
  4. "The Genuine Sieve of Eratosthenes" in Clojure
  5. Primes in Clojure part 2: Interop
  6. Circular Programming in Clojure
  7. The Clojure Promise
  8. Computing prime numbers with Clojure
  9. Bash functions are better than I thought
  10. Forwarding emails with SES and Terraform
  11. A short overview of DNS
  12. Tools You Should Know About: Terraform
  13. Monads for Clojure programmers
  14. Tools You Should Know About: jq
  15. The elements of git
  16. Tools You Should Know About: tmux
  17. Monads, part six: But, really, what is a monad?
  18. Data-first API design
  19. Cheap interpreter, part 10: fastest one yet, then a hundred times faster
  20. Cheap interpreter, part 9: even faster register machines
  21. Cheap interpreter, part 8: faster register machines
  22. Cheap interpreter, part 7: register machines
  23. Cheap interpreter, part 6: faster stack machines
  24. Cheap interpreter, part 5: mea culpa
  25. Cheap interpreter, part 4: stack machines
  26. Cheap interpreter, part 3: host-language functions
  27. Cheap interpreter, part 2: tree-walking
  28. Cheap interpreter, part 1: overview
  29. Church-Turing equivalence
  30. What is functional programming?
  31. What is imperative programming?
  32. Asking questions as an interviewee
  33. Monads, part five: What if I'm not writing Haskell?
  34. Monads, part four: examples
  35. Monads, part three: monads made easy
  36. Monads, part two: Okay, I guess, but what is it for ?
  37. Monads, part one: What's a monad?
  38. Monads, part zero: Flavours of abstractions
  39. How to break a computer
  40. Laziness: Clojure vs Haskell
  41. Genetic algorithms
  42. Removing a directory
  43. Review: Why FP Matters (Hughes)
  44. Merge sort in Bash
  45. Bash redirections
  46. Runtime optimization with eval
  47. Safer Bash: avoid nesting
  48. Safer Bash: fail on pipes
  49. Safer Bash: no unset
  50. Safer Bash: die on error