Robuta

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 tahoe iconshardjustifytonsky Sponsored https://www.blacked.com/ BLACKED: Exclusive Big and Powerful Male Videos in 4K HD Premium videos featuring the most beautiful women with the biggest and most dominant black male stars, all in stunning 4K HD... 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/dsl/ Designing good DSL @ tonsky.me A look at common mistakes in DSL designs and how to fix them designinggooddsltonsky https://tonsky.me/blog/network-eval/ Ideas for Clojure Network Eval API @ tonsky.me How nREPL could be improved ideasclojurenetworkevalapi https://tonsky.me/blog/options/ You don’t want many options @ tonsky.me Don’t get excited about libraries that offer many options many optionswanttonsky 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/checkbox/ In Loving Memory of Square Checkbox @ tonsky.me History of checkboxes and radio buttons in user interfaces loving memorysquarecheckbox https://tonsky.me/blog/datascript-internals/ A shallow dive into DataScript internals @ tonsky.me An overview of DataScript code base, what’s there and how it’s structured internals tonskyshallowdive 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 interactive developmenttonsky Sponsored https://cams.com/ Cams.com - Free Sex Cams, Live Sex Chat 24/7 Live sex cams, watch and go one on one with your favorite model at Cams.com 🔥 Join free. https://tonsky.me/blog/alpha/ Cognitect, please stop adding alpha to your namespaces @ tonsky.me Why putting alpha in your project name does more harm than good please stopcognitectadding https://tonsky.me/blog/icfpc-2021/ Zig, Skia, Clojure, Geometry and the Japanese TV Show: ICFP Contest 2021 @ tonsky.me 4-day coding marathon tv showzigskiaclojuregeometry 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. webtomorrowtonsky Sponsored https://www.househumpers.com/ HouseHumpers Watch hottest property agent having sex with her client. Househumpers.com brings you the best real estate agent sex online. https://tonsky.me/blog/sublime/ The most important feature of Sublime Text @ tonsky.me is that it doesn’t change sublime text tonskyimportant https://tonsky.me/blog/chrome-intervention/ My web app died from performance bankruptcy @ tonsky.me Chrome team breaks existing web to make Chrome perform better web appdiedperformancetonsky https://tonsky.me/blog/performance-first/ Performance first @ tonsky.me “Premature optimization being the root of all evil” is the root of all evil performancefirsttonsky Sponsored https://adultfriendfinder.com/ AdultFriendFinder – The World’s Largest Dating and Social Discovery Site Join the Largest Community of Fun-Loving Adults - AdultFriendFinder. Discover the excitement of connecting with millions of like-minded members on... https://tonsky.me/blog/simple-router/ New Library: Simple Router @ tonsky.me Announcing clj-simple-router, a HTTP router for Clojure that allows overlapping routes and order-independent route declarations simple routernewlibrarytonsky https://tonsky.me/blog/humble-objects/ Humble Chronicles: The Inescapable Objects @ tonsky.me Why we need OOP, even in Clojure humble chroniclesinescapable 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... datomicprotocoltonsky Sponsored https://darlink.ai/ DarLink AI: Free AI Girlfriend Generator | Chat, Photos & Video Create your ideal AI Girlfriend with DarLink AI. Customize her look and personality, chat naturally, and enjoy personalized photos, videos, and voice for a... 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 hardest problemcomputerthings https://tonsky.me/blog/sublime-writer/ Building an ultimate writing machine from Sublime Text @ tonsky.me My setup for long-form writing in Sublime Text sublime text tonskybuilding https://tonsky.me/blog/good-times-weak-men/ Good times create weak men @ tonsky.me Software abstraction ladder becomes too tall and starts to fall good timescreateweakmentonsky https://tonsky.me/blog/humble-decomposition/ Humble Chronicles: Decomposition @ tonsky.me Overall shape of Humble UI project, a Clojure UI framework humble chroniclestonsky https://tonsky.me/blog/python-build/ Python as a build tool @ tonsky.me Why Skija and JWM use Python instead of existing build tool build toolpythontonsky https://tonsky.me/blog/humble-state/ Humble Chronicles: State Management @ tonsky.me Search for the best state management solution for Humble UI humble chroniclesstatetonsky https://tonsky.me/subscribe/ How to subscribe @ tonsky.me subscribetonsky Sponsored https://www.xotic.ai/explore Explore AI Girlfriend & AI Characters | Xotic Find your perfect AI girlfriend or explore thousands of unique AI characters. Filter by anime or realistic styles, gender preferences, and discover immersive... https://tonsky.me/blog/humble-layout/ Humble Chronicles: The Layout @ tonsky.me Humble UI approach to layout humble chronicleslayouttonsky https://tonsky.me/blog/syntax-highlighting/ I am sorry, but everyone is getting syntax highlighting wrong @ tonsky.me Applying human ergonomics and design principles to syntax highlighting syntax highlightingsorrywrong https://tonsky.me/blog/form-cleanup/ Cleaning up form UI @ tonsky.me Simple tips on fixing small details in UI form uicleaningtonsky 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 humble chronicles managing https://tonsky.me/blog/swiftui/ SwiftUI defaults considered harmful @ tonsky.me A few notes on SwiftUI and why UI frameworks should not try to be “smart” considered harmfulswiftui https://tonsky.me/blog/acha-acha/ Another powered-by-DataScript example @ tonsky.me Git Achievements application built around DataScript anotherpowereddatascript https://tonsky.me/blog/hiccup/ Hiccup, Macros, API design, and magic @ tonsky.me Small changes in usage conditions could require full library redesign api designhiccupmacrosmagic https://tonsky.me/blog/diagrams/ Where Should Visual Programming Go? @ tonsky.me Visual programming and textual code should co-exist next to each other, not replace one another visual programminggotonsky https://tonsky.me/blog/monitors/ Time to upgrade your monitor @ tonsky.me A non-comprehensive and opinionated guide to best monitor for programming timeupgrademonitortonsky https://tonsky.me/blog/syncthing/ Computers as I used to love them @ tonsky.me File synchronization can be fun and painless if you don’t have to deal with corporate bullshit. computersusedlovetonsky https://tonsky.me/blog/speed/ Speed is a feature @ tonsky.me When speed is a crucial UX factor speedfeaturetonsky https://tonsky.me/blog/tech-sucks/ People expect technology to suck because it actually sucks @ tonsky.me I get at least 27 tech annoyances on a single day people expecttechnologysuck Sponsored https://goloveai.com/ GoLove AI - Free AI Girlfriend App for Real Chat, Video & Photo Conversation GoLove is an AI Girlfriend Chatbot App. Meet your Girlfriend AI and Enjoy Realistic Conversations on our Website. https://tonsky.me/blog/medium/ Medium is a poor choice for blogging @ tonsky.me If you think about publishing an article, starting a blog or even just sharing a short rant on Medium, please consider what you’ll be putting your readers... poor choicemediumblogging https://tonsky.me/blog/monitors-mac/ Macs and 4K 120Hz displays compatibility list @ tonsky.me Macs/4K 120Hz displays compatibility list macsdisplayscompatibilitylist https://tonsky.me/blog/ipad/ Apple Design Team vs the World @ tonsky.me How iPad Pro redesign made it better and worse at the same time apple designteamvsworldtonsky https://mastodon.online/@nikitonsky/114669683304293415 Niki Tonsky: "I always imagined that it’s the center of the thu…" - Mastodon Jun 12, 2025 - Attached: 2 images I always imagined that it’s the center of the thumb that points to slider position. Turned out Apple has different idea niki tonskyalways imagined 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 timeperfectui https://tonsky.me/blog/github-redesign/ Redesigning Github repository page @ tonsky.me Better design for Github repository page github repositoryredesigning https://github.com/tonsky/FiraCode GitHub - tonsky/FiraCode: Free monospaced font with programming ligatures Free monospaced font with programming ligatures. Contribute to tonsky/FiraCode development by creating an account on GitHub. githubtonskyfreemonospaced Sponsored https://pleasur.ai/ Pleasur.ai - Your AI Companion Experience https://tonsky.me/blog/hiring/ How NOT to hire a software engineer @ tonsky.me A collection of anti-patterns seen in big IT companies regarding hiring practices software engineerhiretonsky https://tonsky.me/blog/reinventing-git-interface/ Reinventing Git interface @ tonsky.me A set of recommendations on how Git UI can be improved not on a cosmetic, but on a very fundamental level. We aim at making Git more usable, powerful and... reinventinggitinterfacetonsky https://tonsky.me/user-agreement/ User Agreement @ tonsky.me user agreementtonsky https://tonsky.me/blog/skija/ Skija: Graphics for JVM @ tonsky.me Introducing Skija, Java bindings for Google graphics library, Skia graphicsjvmtonsky https://tonsky.me/blog/library-focus/ Library focus @ tonsky.me Why you shouldn’t write libraries as a part of a bigger software project libraryfocustonsky https://tonsky.me/blog/sublime-clojure/ Sublime ❤︎ Clojure @ tonsky.me New Sublime Text plugin for working with Clojure clojure tonskysublime https://tonsky.me/blog/hiring-ai/ How to get hired in 2025 @ tonsky.me A collection of red flags in software engineers' test assignments get hiredtonsky Sponsored https://www.secrets.ai/ Secrets AI - #1 Realistic AI Girlfriend Website for Chatting Chat 24/7 with realistic AI Girlfriend and enjoy 100+ Fantasies. Secrets AI is the best AI girlfriend website for mutual fun & personal AI companion bonding.... https://tonsky.me/blog/readable-clojure/ Readable Clojure @ tonsky.me Some advices to writing Clojure code clojure tonskyreadable https://tonsky.me/blog/needy-programs/ Needy programs @ tonsky.me We used to use software; now software started to use us needyprogramstonsky https://tonsky.me/blog/datascript-chat/ Chatting cats use DataScript for fun @ tonsky.me How to write chat application with ClojureScript, core.async, React and DataScript chattingcatsusedatascriptfun https://tonsky.me/blog/lockfiles/ 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. neededlockfilestonsky 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 https://tonsky.me/blog/datascript-resources/ Couple of DataScript resources @ tonsky.me Couple of new talks about DataScript coupledatascriptresources 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 phil libinnew wayfindski https://tonsky.me/ Blog @ tonsky.me blogtonsky 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 electron appclaudelostnative https://tonsky.me/blog/blind-spot-in-dependency/ Blind Spot in Dependency Management @ tonsky.me Why changelogs are important and how come we don’t talk about it blind spotdependencytonsky https://tonsky.me/blog/crdt-filesync/ Local, first, forever @ tonsky.me We explore how to build local-first sync on top of simple file storage local firstforevertonsky https://tonsky.me/blog/gaslight-driven-development/ Gaslight-driven development @ tonsky.me Computers are starting to have opinions on how our APIs should look like driven developmentgaslight 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. solveproblemhandtonsky https://tonsky.me/blog/hashp/ When You Get to Be Smart Writing a Macro @ tonsky.me A story of writing Clojure’s println alternative that works inside threading-first/last macros smart writinggetmacrotonsky https://tonsky.me/blog/cursor-keys/ Cursor keys belong at the center of your keyboard @ tonsky.me Remap `CapsLock` + `IJKL` to act as cursor keys and teach yourself to use it cursorkeysbelongcentertonsky https://tonsky.me/blog/utils/ Grumpy chronicles: The question of utils @ tonsky.me Cleaning up and organizing single-file utils namespace grumpy chroniclesquestion https://tonsky.me/blog/humble-dx/ Humble Chronicles: Developer Experience @ tonsky.me Using Humble UI from the REPL humble chroniclesdeveloper https://tonsky.me/blog/clojure-ui/ Thoughts on Clojure UI framework @ tonsky.me Ideas and inspirations for new Clojure framework for desktop apps ui frameworkthoughtsclojure https://tonsky.me/blog/humble-defcomp/ Humble Chronicles: Shape of the Component @ tonsky.me Looking for an ergonomic way to define components humble chroniclesshapetonsky https://tonsky.me/blog/emoji/ Emoji under the hood @ tonsky.me Detailed look into all the machinery involved in rendering Emoji emojihoodtonsky https://tonsky.me/blog/disenchantment/ Software disenchantment @ tonsky.me Everything is going to hell and nobody seems to care softwaredisenchantmenttonsky https://tonsky.me/blog/pedestal/ Grumpy chronicles: Pedestal and routing @ tonsky.me Migrating a web app from Ring to Pedestal grumpy chroniclespedestal https://tonsky.me/blog/irrelevant-things/ Irrelevant Things @ tonsky.me As a programmer on a way to technical excellency, you should teach yourself to constantly spot and reduce waste. irrelevantthingstonsky https://tonsky.me/blog/horizon/ Forbidden West and the Art of Editing @ tonsky.me Why editing is a crucial part of visual arts forbidden westartediting https://tonsky.me/blog/root-cause/ Address the root cause @ tonsky.me Do not just fix symptoms. Find out the root cause and address it instead root causeaddresstonsky 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. needneitherpwaampmake Sponsored https://www.liveprivates.com/ Free Live Sex Shows on LivePrivates.com Free Live Sex Shows on Real Sex Webcams. Enjoy the freedom of exciting, one-on-one and anonymous live cam sex chat. Absolute privacy guaranteed. 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.livejournal.com/323469.html Облака и коробки: tonsky — LiveJournal tonskylivejournal https://mastodon.online/@nikitonsky Niki Tonsky (@nikitonsky@mastodon.online) - Mastodon 3.04K Posts, 136 Following, 3.67K Followers · Good programming, bad interfaces. Fira Code, Clojure, DataScript, Humble UI niki tonskymastodon online https://tonsky.me/blog/clojure-macros/ Clojure macros continue to surprise me @ tonsky.me clojuremacroscontinuesurprise 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 humble chronicles managing https://tonsky.me/blog/unofficial-guide-to-datomic-internals/ Unofficial guide to Datomic internals @ tonsky.me This post is a compilation of publicly available information, Datomic docs and google group answers about Datomic internals. Intention is to help others... unofficial guidedatomictonsky https://tonsky.me/blog/slow-wrong/ It is fast or it is wrong @ tonsky.me Fast programs are always fast, slow programs are slow even on a most powerful computers. Knowing that fast solution exists makes slow one plain wrong. wrong tonskyfast Sponsored https://www.flirt4free.com/ Free Live Sex Cams and Adult Chat | Flirt4Free https://tonsky.me/blog/datascript-2/ Ideas for DataScript 2 @ tonsky.me Things that came to mind while working on DataScript 1 ideasdatascripttonsky