Yogthos

yogthos.net · Personal blog · on HN since 2012

Dmitri Sotnikov (Yogthos) writes about Clojure, functional programming, web frameworks, and more recently LLM-assisted code analysis.

What HN saysHN commenters link it for Clojure web tutorials and pixelation articles; one commenter questions whether his recent projects are undisclosed AI-generated code.
45HN people shared it
9linked it in comments
77stories submitted
746story points
3 months agolast shared
2012people per year2026

Most-shared posts

  1. 1
    Why I'm Productive in Clojure (2013)
    5 people · 206 points · first shared 2015 · 246 comments on HN
  2. 2
    Giving LLMs a Formal Reasoning Engine for Code Analysis
    4 people · 9 points · first shared 2026 · 1 comments on HN
  3. 3
    Managing Complexity with Mycelium
    4 people · 5 points · first shared 2026 · discussion on HN
  4. 4
    Making services with Liberator - Clojure REST library
    4 people · 4 points · first shared 2012 · discussion on HN
  5. 5
    Jolt: Running Clojure on Chez Scheme
    4 people · 4 points · first shared 2026 · 1 comments on HN
  6. 6
    Why I'm Productive in Clojure
    3 people · 155 points · first shared 2013 · 95 comments on HN
  7. 7
    Macchiato: ClojureScript on the Server
    3 people · 129 points · first shared 2016 · 19 comments on HN
  8. 8
  9. 9
  10. 10
    Rendering Reagent on the Server Using Hiccup
    3 people · 2 points · first shared 2015 · discussion on HN
  11. 11
    Evaluating ClojureScript in the Browser
    2 people · 60 points · first shared 2015 · 8 comments on HN
  12. 12
    Structuring Clojure Applications
    2 people · 14 points · first shared 2022 · discussion on HN
  13. 13
    Clojure Kit Framework
    2 people · 8 points · first shared 2022 · discussion on HN
  14. 14
    Clojure Distilled
    2 people · 5 points · first shared 2019 · discussion on HN
  15. 15
    Clojure: Moving Forward by Letting Go
    2 people · 5 points · first shared 2017 · discussion on HN

What HN people wrote when they linked it

samrat · 2012-08-27
I'm not really much experienced, but I've played around with Noir and its really similar to Flask. You could try out Compojure too, on which Noir is based(even more minimalistic). Right now, I'm following some Noir tutorials here: http://yogthos.net/
yogthos · 2026-06-23
I'm very optimistic here as well. And it's also worth noting that tooling is improving along with the models. I really think we have to treat models and tools as a package. The models is your engine, but you need a chassis to run it. I find what makes frontier models actually work well isn't just the capability of the model, but how well the harness is tuned to its expectations. I wrote a about this in a bit more detail here. https://yogthos.net/posts/2026-06-08-dirge-code.html
Sandman · 2013-01-03
Thanks for the observation. You're right that it's fairly minimal in the sense that the framework is basically a leiningen template for new projects and a set of libraries that work on top of Ring/Compojure, with most of the functionalities initially intended for Luminus being pushed to lib-noir, but I kind of like it that way. Just a quick note - Luminus is not my work, it's being developed by a guy who also runs a blog I like to read (http://yogthos.net/). BTW, I'd be interested in seeing your work, if you're hosting the source somewhere.
davexunit · 2026-08-11
This appears to be vibecoded but not disclosed as such. 2k commits from a single author starting from June 1st with really long commit messages and source code comments. The GitHub org has 19 additional projects that are all recently created. edit: Yup, found a very long blog post that says it's made with LLMs near the end https://yogthos.net/posts/2026-07-02-jolt.html
andai · 2026-08-06
I saw this cool article yesterday about edge aware pixelation. That might give better results when pixelizing AI generated pixel art. https://yogthos.net/posts/2025-12-11-edge-aware-pixelation.html More broadly I often find pixel art that has been upscaled and I'm wondering if anyone knows a good way to convert that back into the original? In theory you just need to sample the middle of each blob, but I haven't found traditional image editors to be very helpful in this process.
uxcolumbo · 2022-07-31
> I would definitely be interested in some docs which helped guide me hook all of them together Yogthos put together this guide - in book format: https://pragprog.com/titles/dswdcloj3/web-development-with-clojure-thi… - Additional links: https://yogthos.net/posts/2022-01-08-IntroducingKit.html https://kit-clj.github.io/ https://luminusweb.com/
elias94 · 2022-02-23
Read Clojure Distilled and try to complete all the Clojure Koans. 1. https://yogthos.net/ClojureDistilled.html 2. http://clojurekoans.com/
jeremiep · 2017-01-12
It really depends on your tech stacks. Running python on the backend and JS on the frontend will create enough impedance mismatch to indeed make server-side rendering of react rather difficult. Clojure's reagent and re-frame remove most of the complexity and tools from the equation. You run the same (mostly) code on the backend and frontend. This is what I meant by quite easy :) http://davidtanzer.net/server_side_rendering_with_re_frame http://yogthos.net/posts/2015-11-24-Serverside-Reagent.html
grayrest · 2015-12-17
I wrote a 20k LoC bacon app in 2014 and had the same issue with being able to understand all the pieces individually but having trouble comprehending the whole system. I don't have non-architecture answers for how to organize code since that's pretty much the point of an architecture. Most of the application organization patterns around the React space are only ~200 lines of code and a description of how the pieces fit together. You don't have to adopt the whole thing immediately but you don't get the full benefits of a pattern until everything works the same way. For my part, I got a job writing clojurescript full time and migrated the app to re-frame [1][2] this year in pieces over the course of a couple months and it's the first frontend architecture that's made me happy in over a decade of continuous searching. The js version is Redux but I think Redux is missing middleware as a concept. [1] https://github.com/Day8/re-frame/ [2] https://github.com/binaryage/pure-frame <- Fork with no global atom What this provides is a complete event cycle of completely pure functions (the state swap happens in the framework) with all the data in an immutable map in a single atom. By namespacing my subscriptions and events I can see a problem, look at the component, and know immediately where my problem is within ~10 lines of code. It's not perfect but it's pretty good. One thing that doesn't get mentioned often enough when talking about Clojurescript is the potential for doing…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close