The Curious Engineer

All blogs / Lisp / Clojure / Scheme

(iterate think thoughts)

yogthos.net

Dmitri's blog about programming, Clojure, and software development

Lisp / Clojure / SchemeAI / MLSoftware / engineering practiceGraphics

Posts
126 from 3 May 2012 to 7 Oct 2026
Posting
monthly (19 in the last year)
Kind
personal blog
Feed
https://yogthos.net/feed.xml

2026 18

  1. Clojure in the Age of Language Models
  2. Introducing Lev
  3. Managing Complex Application State with Reactive Data Flows
  4. Wrapping GTK4 in 800 lines of Clojure with Jolt
  5. A practical workflow for LLM-assisted development
  6. The Model Proposes, the Engines Dispose
  7. Fibers in Jolt: green threads that fit core.async
  8. Program images and portable Scheme backends for Jolt
  9. Painting with Gaussians
  10. Jolt: running Clojure on Chez Scheme
  11. The Hidden Elegance of Gradient Noise
  12. Making budget models punch above their weight with a smart Rust harness
  13. Putting Code Under a Microscope: Wavelet-Based Context for LLMs
  14. libwce: the entropy layer of a wavelet codec, on its own
  15. Giving LLMs a Formal Reasoning Engine for Code Analysis
  16. Managing Complexity with Mycelium
  17. Stop Round-Tripping Your Codebase: How to Cut LLM Token Usage by 80% Using Recursive Document Analysis
  18. Grounding LLMs with Recursive Code Execution

2025 1

  1. Edge-Aware Pixelation for Better Pixel Art

2023 2

  1. Role of Debate in Problem Solving
  2. Making a Resume with Node.js Babashka (nbb)

2022 3

  1. Structuring Clojure Applications
  2. Using nREPL as System Interface
  3. Introducing Kit Framework

2020 1

  1. Advantages of Data Oriented Programming

2019 1

  1. Running Luminus on Dokku

2018 1

  1. Capturing ClojureScript Errors on the Server

2017 2

  1. Moving Forward by Letting Go
  2. Comparing Reagent to React.js and Vue.js for dynamic tabular data

2016 17

  1. Using Chrome DevTools with Macchiato
  2. Macchiato Modules
  3. Frameworks, Foundations, and Macchiato
  4. Macchiato: ClojureScript Arrives on the Server
  5. PostgreSQL Async Notifications in Luminus
  6. Configuring Atom for Luminus
  7. Reusable Components
  8. Static Typing vs WebSockets
  9. Web Development with Clojure, Second Edition
  10. Working around the Java SSL trust store
  11. Consider Hoplon
  12. Writing an expandable widget with Reagent
  13. Luminus Workflow
  14. The State of Clojure Web Development
  15. Luminus embraces HugSQL
  16. Contrasting Component and Mount
  17. Web Development with Clojure 2nd Edition

2015 16

  1. Trouble with AOT
  2. Managing State in Luminus
  3. The Sky Is not Falling
  4. Rendering Reagent on the Server using Hiccup
  5. Evaluating ClojureScript in the Browser
  6. Troubleshooting With JConsole
  7. Building services with Duct and compojure-api
  8. Luminus is Moving -> HTTP Kit -> Immutant
  9. Data Focused
  10. Luminus is Migrating to Migratus
  11. Using Pulsar
  12. ClojureScript REPL with Figwheel
  13. Websockets with HTTP Kit
  14. Web Development with Clojure 2
  15. Announcing Luminus 2.0
  16. A simple plugin system in Clojure

2014 12

  1. The State of Reagent
  2. Moving to Cryogen
  3. Cryogen: static site generation made easy
  4. Clojure Cup Results
  5. Parsing and rendering templates in Clojure & Haskell
  6. Yet Another Clojure Intro Guide
  7. Using ClojureScript REPL from Light Table
  8. Introducing reagent-forms
  9. File Snooping
  10. Routing With Secretary
  11. Building Single Page Apps with Reagent
  12. No Free Lunch

2013 16

  1. Clojure High Performance Programming Review
  2. Making Selmer User Friendly
  3. Web Development With Clojure Beta
  4. Why I'm Productive in Clojure
  5. Introducing Selmer
  6. lib-noir access rule madness
  7. what's new in lib-noir
  8. Packaging a Clojure+ClojureScript jar
  9. Clojure Data Analysis Cookbook Review
  10. Introducing cljs-ajax
  11. a book is coming
  12. New Templating Engine in Luminus
  13. New kid on the templating block
  14. lib-noir updates
  15. One Ring to rule them all
  16. Luminus progress report

2012 36

  1. Luminus progress updates
  2. Luminus: a web framework for Clojure
  3. Creating Leiningen Templates
  4. Moving to Compojure
  5. ClojureScript Adventures
  6. making reporting easy
  7. Making services with Liberator
  8. Noir tutorial - part 7
  9. Noir tutorial - part 6
  10. Noir tutorial - part 5
  11. Noir tutorial - part 4
  12. Noir tutorial - part 3
  13. Reflecting on performance
  14. Noir tutorial - part 2
  15. Noir tutorial - part 1
  16. Easy PDF reports with clj-pdf
  17. Blogging with Noir
  18. Why be conservative
  19. Setting up Eclipse for Clojure
  20. Serving RSS with Clojure
  21. Noir tricks
  22. open access
  23. a look at macros
  24. perfection
  25. less is more
  26. all things being equal
  27. limits of mutation
  28. we'll do it live!
  29. lost in patterns
  30. living in a structured world
  31. Temporally oblivious
  32. why all the parens
  33. popularity contests
  34. why you shouldn't jump through loops
  35. I don't need a method to function
  36. subject to change