https://tonsky.me/blog/hiccup/
Hiccup, Macros, API design, and magic @ tonsky.me
Small changes in usage conditions could require full library redesign
api designhiccupmacrosmagictonsky
https://tonsky.me/blog/interactive-development/
The Blessing of Interactive Development @ tonsky.me
In this post I describe a couple of practice that makes the process of writing code faster, more predictable and straightforward
the blessinginteractive developmenttonsky
https://tonsky.me/blog/tahoe-icons/
It’s hard to justify Tahoe icons @ tonsky.me
Looking at the first principles of icon design—and how Apple failed to apply all of them in macOS Tahoe
hardjustifytahoeiconstonsky
https://tonsky.me/blog/humble-signals/
Humble Chronicles: Managing State with Signals @ tonsky.me
An experiment of using incremental computations for managing state in Humble UI
managing statehumblechroniclessignalstonsky
https://tonsky.me/design/
Logos @ tonsky.me
logostonsky
https://tonsky.me/personal-information/
Personal Information @ tonsky.me
personal informationtonsky
https://tonsky.me/blog/concrete-vs-abstract/
Solve the problem at hand @ tonsky.me
Always prefer concrete code to abstract one. Don’t try to solve problems you don’t have.
solve the problem at handtonsky
https://tonsky.me/blog/pwa/
You need neither PWA nor AMP to make your website load fast @ tonsky.me
Good performance practices are still needed when developing fast web experience.
make your website
https://deepwiki.com/tonsky/FiraCode
tonsky/FiraCode | DeepWiki
Apr 18, 2025 - Fira Code is a free monospaced font designed specifically for programming that features ligatures for common multi-character combinations used in code. This...
tonskyfiracodedeepwiki
https://tonsky.me/blog/library-focus/
Library focus @ tonsky.me
Why you shouldn’t write libraries as a part of a bigger software project
library focustonsky
https://tonsky.me/blog/datomic-as-protocol/
Datomic as a Protocol @ tonsky.me
Datomic introduced a data structure model: entity-attribute-value store, transaction format, Datalog query language dialect. As you get familiar with it, you...
datomic as a protocoltonsky
https://tonsky.me/subscribe/
How to subscribe @ tonsky.me
how to subscribetonsky
https://tonsky.me/blog/decomposing-web-app-development/
Decomposing web app development @ tonsky.me
Web applications’ story has been incomplete for a long time. There’s a lot of people working in web development, a lot of effort put into it, a lot of thought...
web app developmenttonsky
https://tonsky.me/blog/needy-programs/
Needy programs @ tonsky.me
We used to use software; now software started to use us
needy programstonsky
https://tonsky.me/blog/clojure-macros/
Clojure macros continue to surprise me @ tonsky.me
continue tosurprise meclojuremacrostonsky
https://tonsky.me/projects/
Work @ tonsky.me
worktonsky
https://tonsky.me/blog/phil-libin/
Phil Libin: Find a new way to ski @ tonsky.me
Brief transcript of What I Know podcast with Phil Libin on entrepreneurship
find a new wayphil libin
https://tonsky.me/blog/monitors/
Time to upgrade your monitor @ tonsky.me
A non-comprehensive and opinionated guide to best monitor for programming
time to upgrade your monitortonsky
https://tonsky.me/blog/datascript-2/
Ideas for DataScript 2 @ tonsky.me
Things that came to mind while working on DataScript 1
ideasdatascripttonsky
https://tonsky.me/blog/clj-reload/
New Library: clj-reload @ tonsky.me
Announcing clj-reload, a smarter way to reload Clojure code during development
newlibrarycljreloadtonsky
https://tonsky.me/blog/datascript-resources/
Couple of DataScript resources @ tonsky.me
Couple of new talks about DataScript
coupledatascriptresourcestonsky
https://tonsky.me/blog/clojure-ui/
Thoughts on Clojure UI framework @ tonsky.me
Ideas and inspirations for new Clojure framework for desktop apps
thoughts onui frameworkclojuretonsky
https://tonsky.me/blog/skija/
Skija: Graphics for JVM @ tonsky.me
Introducing Skija, Java bindings for Google graphics library, Skia
skijagraphicsjvmtonsky
https://tonsky.me/blog/lockfiles/?ref=feedle.world
We shouldn’t have needed lockfiles @ tonsky.me
Lockfiles are an absolutely unnecessary concept that complicates things without a good reason. Dependency managers can and are working without it just the same.
neededtonsky
https://tonsky.me/blog/dice-out/
GMTK Game Jam 2022: Dice Out @ tonsky.me
Experience report from participating in latest GMTK Game Jam
gmtk game jamdicetonsky
https://tonsky.me/blog/sublime/
The most important feature of Sublime Text @ tonsky.me
is that it doesn’t change
the mostsublime textimportantfeaturetonsky
https://tonsky.me/blog/clojurescript-2/
A case for ClojureScript 2.0 @ tonsky.me
Innocent early design decision that led to a disaster years later
a caseclojurescripttonsky
https://tonsky.me/blog/fall-of-native/
Claude is an Electron App because we’ve lost native @ tonsky.me
Article argues that Claude is not an Electron app not because LLMs can’t do it, but because there are no advantages left for native
is anelectron appclaudelostnative
https://tonsky.me/blog/pedestal/
Grumpy chronicles: Pedestal and routing @ tonsky.me
Migrating a web app from Ring to Pedestal
grumpychroniclespedestalroutingtonsky
https://tonsky.me/blog/performance-first/
Performance first @ tonsky.me
“Premature optimization being the root of all evil” is the root of all evil
performance firsttonsky
https://tonsky.me/blog/dst/
Daylight Saving Time is a perfect test for UI designer @ tonsky.me
Unique challenges that DST presents for clock/watch designers
daylight saving time
https://tonsky.me/blog/the-web-after-tomorrow/
The Web After Tomorrow @ tonsky.me
This post looks at what is missing from the current state-of-the-art web architectures, where they should be improved and what tools we have at hand for that.
the web after tomorrowtonsky
https://tonsky.me/blog/streams/
Streams: Mail 3.0 concept @ tonsky.me
Introducing concept of Streams, aiming to fix most of email-as-a-medium flaws
streamsmailconcepttonsky
https://tonsky.me/blog/humble-vdom/
Humble Chronicles: Managing State with VDOM @ tonsky.me
An experiment of using VDOM for managing state in Humble UI
managing statehumblechroniclesvdomtonsky
https://tonsky.me/blog/centering/
Hardest Problem in Computer Science: Centering Things @ tonsky.me
Somehow we forgot how to center rectangles and must find our way back
computer sciencehardestproblemcenteringthings
https://tonsky.me/blog/js-bloat/
JavaScript Bloat in 2024 @ tonsky.me
What is the average size of JavaScript code downloaded per website? Fuck around and find out!
javascriptbloattonsky