/blogroll/
- Do
You Even Personalize, Bro?
- When
tech hardware becomes paperweights
- Apple in
China, Ripoff in Amazon
- A gift to
myself
- Joy
& Curiosity #44
- PEEK POKE
- How
to restore FreeBSD with ZFS boot environments and boot2 loader
- 2025/07/06 - сегодня
147 лет со дня рождения финского поэта Эйно Лейно
- Rewiring the
brain
- Hyper
Case: Designing my own keyboard case
- Случай
с голосовалкой и кривым бэкендом
- Ссылки
#345
- Everything
around LLMs is still magical and wishful thinking
- can
an email go 500 miles in 2025?
- Just
say no to broken JSON
- I
want to leave tech: what do I do?
- P&B: Nick
Simson
- Weeknote
#1955
- Думаем
дальше № 41 — «Любовь к жидкостям в интерфейсе» c Сашей Каном
- ГЭС-2
весной 2022-го
- On
This Day in Collections
- Recently
- Get
in losers, we’re moving to Linux!
- 2025/07/04 - Туннели
CloudFlare.com: делаем вебсервер дома без публичного IP
- Я потратил $1000
на ИИ-помощника-программиста, и…
- Now (July
2025)
- Base64
for compression
- Launch:
Technotes
- epanet-js
- Июнь
- Setting
Element Ordering With HTML Rewriter Using CSS
- Square one
- GitButler
0.15 - “Quirky Quinceañera”
- ClassDistribution
from S6 JIT is really neat
- Как я ставил Ubuntu на Xiaomi
Redmibook Pro 16 2025
- Reincarnation
- Digital
hygiene: Emails
- Why
I’m Dialing Back My LLM Usage
- Bookaroo
Sticky Tabs Review
- An
Analysis of Links From The White House’s “Wire” Website
- no feedback no
cry
- writing a
little gosh
- To
fluctuate is to exist as a human
- Data
Oriented Programming in Java: Chapter 7 Progress (Part DONE)
- What I’m doing now (monthly
updated)
- Just
speak the truth
- That
boolean should probably be something else
- Experimenting
with Development containers
- My
Emacs configuration (common parts)
- The
parental dead end of consent morality
- Is
chat a good UI for AI? A Socratic dialogue
- The
Story of Max, a Real Programmer
- Thank
you, Databend; Hello, LanceDB
- Joy
& Curiosity #43
- Ссылки
#344
- 2025/06/28 - Руль
велосипеда
- Self-driving
is finally happening
- App
Store search is not a user feature
- Viva
- From
code reuse to the impact of generative AI
- All
color is best-effort
- Conferences,
Clarity, and Smokescreens
- Интерактивный тур по Go
1.25
- How I Vibe
Coding?
- The
election
- Leveling Up
Agents with MCPs
- Памятка по работе кучи и
пирамидальной сортировки
- Иногда
они возвращаются.
- Плёночные фотографии
снова в тренде
- Rust: A
programming language that grows with you, your career and your
projects
- Back on
Mastodon
- Setting
up an XMPP server with Prosody
- Bad cold
email
- forbidden
secrets of ancient X11 scaling technology revealed
- Heating
water from afar
- Safari
web app strange connection behavior
- Travel
notes: PLDI Seoul
- Data
Oriented Programming in Java: Chapter 7 Progress (Part XII)
- Proving
that every program halts
- Wildcard
HTTPS certificates with Certbot and Cloudflare DNS
- Ссылки
#343
- Rolling
the ladder up behind us
- In
Praise of “Normal” Engineers
- Contra
Ptacek’s Terrible Article On AI
- Agentic
Engineering in Action
- Прошел игру Diablo II
- Optimization
is sucking the soul out of everything
- What
Google Translate Can Tell Us About Vibecoding
- LangGraph for complex
workflows
- WWDC
Favorites (2025 Edition)
- 📊
Mood Is a Metric Too
- Lessons
From 9 More Years of Tricky Bugs
- ChatGPT’s
2025 strategy | Peter Thiel | Apple exec meeting
- I fight bots
in my free time
- Best
spring 2025 photos (95 photos, 52 Mb)
- Hypernormalization
and distrust
- Fujifilm
X half: Is it the perfect family camera ?
- WWDC 2025
Coverage
- Saturday
March
- We’re Still
Underestimating What AI Really Means
- Управление
простотой
- Jokes
and Humour in the public Android API
- Safari
at WWDC ’25: The Ghost of Christmas Past
- Remark
on Rust’s 10th anniversary.
- Защита
прав о(б)суждаемых
- Ramblin’
Rod
- The
Narrative Fallacy
- Introduction
to embedded development with Rust: Overview of the ecosystem
- Core 2
Duo - Beta Test Signup!
- git
diff –ignore-all-space makes code review way easier
- The
Gentle Singularity
- Accept, leave or reform the
unsustainable
- Data
Oriented Programming in Java: Chapter 7 Progress (Part X)
- Unionize
or die
- On
How Long it Takes to Know if a Job is Right for You or Not
- Joy
& Curiosity #42
- How I
program with Agents
- Report
on variadic generics discussions at RustWeek 2025.
- Retirement
Day
- The
unreasonable effectiveness of lightning demos
- Automatic
dark mode for Terminal Apps, Revisited
- Recently
- MCPs are
mostly hype
- Introducing
facet: Reflection for Rust
- Malleable
software: Restoring user agency in a world of locked-down apps
- When Search
Accidentally Worked
- Ditching
Sonos for Music Assistant
- The web
program manifesto
- Protobuf
Tip #7: Scoping It Out
- [ On | No ] syntactic
support for error handling
- Why
I’m back to Whoop (for now)
- How to deal with
Rust dependencies
- Май
- Retreating to
Safety
- The
virtue of unsynn
- Human coders are still better
than LLMs
- Pulsar
X2 CrazyLight
- A Shakedown
Camp
- What’s
cooking on SourceHut? Q2 2025
- Putting
an untrusted layer of chatbot AI between you and the internet is an
obvious disaster waiting to happen
- Linux Mount
Namespaces
- Nerding out about
heaters
- HTML HATEOAS in the
age of LLMs
- NYC
Primaries June 24 - don’t rank Cuomo, vote for everyone else
- Saying Bye to
Glitch
- Talk: Local-first is
not going to win, but that’s okay @ Local-First Conf
- The
Myths of Venture Capital
- Retirement
and NetNewsWire
- Manuel
was annoyed
- Dispatch
011: Automerge 3.0 Beta, Sketchy Calendar, and a lab website
refresh
- Старый
macbook air 2014 - идеальная печатная машинка
- Those
annoying long URLs causing overflow?
- Against
exponential backoff
- Ink Note
Q2 2025: Sketchy Calendar
- Why
is your open source project still hosted on GitHub?
- How to
securely encrypt your sensitive data with envelope encryption and KMS in
Rust
- Apple
Turnaround
- fuzzy: Нечеткое сравнение
строк в SQLite
- Protobuf
Tip #6: The Subtle Dangers of Enum Aliases
- Opinionated
vs. Flexible Software
- No
matter what you do, always leave a breadcrumb
- LLM Memory
- Go Cryptography
Security Audit
- No-Code и заклинатели
дождя
- async/await versus the Calloop
Model
- Bring
That Beat Back
- Logo:
- Farewell,
Nextcloud
- Orbital
- [ПОЧМУ
БЕЛЫЙ ДОМ УВОЛИЛ ИЛОНА МАСКА?]
- I
didn’t transition for the metaphysics
- Как
растить Middle+ до Senior
- Protobuf
Tip #5: Avoid import public/weak
- Why
S3 ListObjects Taking 120s to Respond?
- Facebook’s
“cultural relevance is decreasing quickly”
- How
To Build A Smartwatch: Picking A Chip
- Claude Code
- Apple
Turnover
- Evilness
is when profit is the sole concern
- Today,
I am writing about a fork and, no, it’s not a metaphor for anything
please stop asking
- Россия,
Украина, Глобалисты и Антиглобалисты: статус на 8 мая 2025
- notgull versus
burnout
- Why
I Don’t Like CarPlay
- Forget
about screen rotation toggle forever
- HOME
- The
British Airways position on various border disputes
- Taking
a break
- Kindle
jailbreak
- Evals
are all you need
- Toronto
Fish & Chips
- Dead Bird
Features
- Alien
Clay
- On
Pronouns, Policies and Mandates
- What I learned during the
license switch
- Write
a very concise static site generator with Origami expressions
- Some
VORON 0 mods
- The history of
album art
- Wish You Were
Here
- Redis is open source
again
- Hyperspace
Update
- My
new podcast: Tick Talk + Core 2 Duo demo
- When You Get to Be Smart
Writing a Macro
- Microsoft
CEO says up to 30% of the company’s code is written by AI - no surprise
there
- Путешествия
2025
- Workshop
House case study
- Every
Love Story Is A Ghost Story
- Get
Weird And Disappear
- Kanbanish,
a side project
- Categorize Your
Dependencies
- Апрель
- Differential Coverage
for Debugging
- Solution-space
Taste
- Base
May Not Be for Me
- Making
a small JavaScript blog static site generator even smaller using the
general async-tree library
- Body::poll_progress
- Manuel
was annoyed
- Mark
Zuckerberg and Snapchat
- This
minimalist static site generator pattern is only for JavaScript
developers who want something small, fast, flexible, and
comprehensible
- Моя
формула оценки фильмов (и кино)
- You
cannot have our user’s data
- Yes, I will have
coffee with you
- Building
multi-step login forms that work well with password managers
- Stevens:
a hackable AI assistant using a single SQLite table and a handful of
cron jobs
- Postcards from
Phoenix: Tale of a (finally successful) mission
- Кожаные
манекены
- Why
change role to AI Engineering
- Semantic
Unit Testing
- Hello Tokyo!
- Linkhut
- 20 years of
Git. Still weird, still wonderful.
- CSS
Naked Day
- Taralli:
Home-Cooked Food Tracking Without the BS
- JAWSM - a JavaScript
to WASM compiler
- Подготовка
к собеседованию на продуктового аналитика. Задачи
- Now Page
- Language-learning
anecdotes
- More predictable
benchmarking with testing.B.Loop
- SICPelago
- Gamer Games
for Non-Gamers
- Manuel
was annoyed
- Type-safe
lookup tables
- Vibe
Coding and Kodak Cameras
- The
case against conversational interfaces
- Why Signal is more
secure than WhatsApp
- Announcing
docs.sourcehut.org
- Surround
yourself.
- Moving To
Substack
- About
Container Interfaces
- Beware
any dopamine hit that doesn’t require effort
- Post-mortem
for work on Xilem in 2024
- TaxHacker
- Revisiting
LLM Geolocation Two Years Later
- Исландия
- Announcing:
Interesting Reads
- GitButler’s
new patch based Code Review (Beta)
- Three
symmetric math riddles
- Scoping
a Local-First Image Archive
- Design for a Small
Planet
- Conflict-free
Database over Virtual File System
- Ghostty
- Product in
the age of AI
- Сухо
(и мокро) про ретрит по Гоенке
- Метапись:
2024
- Душный
холод
- Browse No
More
- AI Innovator’s
Dilemma
- from
hledger to ledger
- Photos Page
- A
Perplexing Javascript Parsing Puzzle
- Conquering
Carriage Returns and Permissions: Ensuring a Smooth Cross-Platform Git
Workflow
- Simple
yet powerful music browser: SongOwl
- The
Sad State of Web Browsers
- Using
Reverse WebSocket Connections in Go to Reach Services Behind
NAT
- SongPocket
4
- Fullscreen
- Frozen meals
are actually great
- KWIC,
quickly
- NordicFuzzCon
2025: a great strange positive experience
- A More
Modular reqwest
- The Hierarchy of
Controls (or how to stop devs from dropping prod)
- “As Code”
- Avoid
the nightmare bicycle
- The Lo-Fi Art
and Human Tools Era
- Blue
Ghost
- Investing
- More
Good Programming Quotes, Part 6
- Is
Rust a good choice for business apps?
- The “Good”
Internet
- Ёбаный
стыд
- High
Ownership, High Urgency
- Big Trek from Big
Tech
- My
tricks and accessories for working ergonomically on a laptop while on
the go
- When Imperfect
Systems are Good, Actually: Bluesky’s Lossy Timelines
- Demystifying
monads in Rust through property-based testing
- You
don’t need Python to build AI products
- Instapaper2RSS
- Вайб-кодинг
- Как не
превратиться из хорошего программиста в плохого менеджера
- Afflict The
Comfortable
- Prompting
LLMs is not engineering
- Reactive Haptics
- Затаскивать
проекты, а не людей
- Now that’s a blue
sofa
- Диванный магнетизм и
абсурдная радиация
- Three
Observations
- Programming
Conference – Jfokus Stockholm 2025
- Smuggling
arbitrary data through an emoji
- Lessons
from two broken household appliances
- Welcoming
Ghostty Subsystem Maintainers
- Message me
whenever
- Free
will quite clearly doesn’t exist
- End-to-end
Шифрование
- The
Snacks & Cereals of 2024
- [ПРИВАТНАЯ
СВЯЗЬ MEMBRANA – ГОТОВА]
- Открытия
2024
- Перестал вести учёт
расходов
- 451 градус
по Фаренгейту
- 2024 in
review
- Optimizing
Jupyter Notebooks for LLMs
- Мій 2024
- Сумерки
OpenStreetMap
- ROSE-8 in
customasm
- Building
Bauble
- Saying
Goodbye to Twitter
- How I manage my todos as a
CEO
- SongPocket:
replacing the engine
- Hey 2025!
- Reflections
- How I
program with LLMs
- Reading
tens of thousands of Redis Streams at the time
- Linux is
free and your mind is valuable
- Writing
Your First Nix Overlay
- A
very interesting interview with a successful trader
- Making
shavings
- A
Wintery Jaunt up Ben Lomond
- Benchmarking
RSA Key Generation
- Как прошёл мой
2024
- 2024 in
Review
- The UK
Online Safety Act
- My name is the name I
use
- Putting
Curveball in maintenance mode
- Прощай,
Пандора
- The
Shell is a Program
- 2024.
Год, когда начало получаться
- Ghostty:
Reflecting on Reaching 1.0
- Питер, 2024
- Launch:
Teleplayer
- Конечные и
бесконечные игры
- Improved home
printing
- Казань,
Чебоксары и Йошка, 2024
- Иремель,
2024
- Duncarnock
Fort (The Craigie) 360 Drone Photo
- “Organizational
Ecology” as a protocol to build Political Power
- frood, an Alpine initramfs
NAS
- Self-guaranteeing
promises
- There is no
path
- If Not
React, Then What?
- Question
Best Practices
- Apple
заблокирoвали подкаст Эхо Москвы
- Against best
practices
- Автори
двох кращих книг року
- A
bare-minimum ActivityPub server from scratch
- Дневник
фотонаблюдений — ноябрь 2024
- Bring
politics to work.
- Launch:
Spool
- Walking
behind her
- The Charter City
Problem: Lessons from Próspera
- Making ZK
Accessible on Solana
- Listen
to the engine noise
- Jia Tanning Go
code
- Digging Into
PlantStudio, a Bit Late
- Vintage
Computing Festival Berlin 2024, Report
- Come
to the light-dark() Side
- Generators
with UnpinCell
- Self-hosting
workshop in Initlab
- Tech
startups scene in the UK - and Tom Blomfield
- In
the future using top-level await might be cause a backwards
compatibility break in Node
- UnpinCell
- In
search of the simplest all-in-one blade sharpener
- Accumulated Test
Vectors
- Oodi -
a public library in Helsinki
- How
to run recurring virtual meetings efficiently
- No, You Can’t
Model That
- Incremental
processing with Watchman — don’t daemonize that build!
- Hiking in the
Yukon
- Doug Engelbart or:
How We Learned to Stop Commanding and Love the Mouse
- Rewriting
Rust
- On
Bookmarks, Lists and the Habit of Reading Later
- Focusito:
как из моей прокрастинации появился помодоро таймер для Mac
- Jetstream:
Shrinking the AT Proto Firehose by >99%
- Последний
пост
- Talk Less in
Meetings
- SVG, тригонометрія
та стрілки крутого повороту
- The 8 Mile
Method
- Thank
Goodness I’ve Written Some Ad Music
- [Video] Nix
explained from the ground up
- Tight
Aggressive Entrepreneurship
- The Startup
Designer
- New feed entry point
· Tinkoff
- Vulnerability
Avoidant
- Big IDGAF Energy
- AI game
experiment (init)
- Quote-unquote
“macros”
- Dunning
you, Kruger me.
- 6 Open Source
Tools to Query OpenStreetMap
- CrowdStrike’s
Impact on Aviation
- Pinned
places
- RC Week 3 —
Realignment
- Hash-Based Bisect
Debugging in Compilers and Runtimes
- Ten years of
Overcast: A new foundation
- When is it
okay to cast types with
as
?
- How HLS Works
- Как
на самом деле запоминать всё, что прочитал
- The 2024
Trump-Biden Debate
- What can we remove?
- Run
Meetings like a DM
- Эфир
про сквозную аналитику с Максимом Епифановым
- Introducing
SpaceShoes
- Learning
to Live with AI
- OAuth 2
- Отладка
через статистику
- Nephew of all
demos
- Review:
The Em Travel Backpack by Mokobara.
- Goa,
India
- Tactile Controls In A Digital
World
- Zig’s
New CLI Progress Bar Explained
- Курс по
С
- Eradicating N+1s: The
Two-phase Data Load and Render Pattern in Go
- Oh,
It’s This Guy Again
- What Does a Great Cup of
Coffee Taste Like?
- Safe terminal escape
codes
- UI
Density
- Known
Purpose and Trusted Potential.
- One Idea One
Week
- Faster and worse:
рекомендую
- Software
Engineer Portfolios
- Complicated
Sticks.
- Thread -
the tech we can’t use or teach
- Six definitions of
love
- Micro-dosing
Caffeine
- The Notifier Pattern for
Applications That Use Postgres
- Web APIs:
Enriched DX By Disallowing Unknown Fields
- How
I’m doing the Internet in 2024
- Rewrite
Search
- Woodworking
as an escape from the absurdity of software
- The
polish paradox
- Programming
as Art, Not Business
- Ищу
Sales & Marketing Operations Coordinator себе в команду
- The xz attack shell
script
- Приглашение
на Burning Man 2024
- fixed gear
text editors
- Is Chihuaha a
Dog?
- Crows, a Rust and
WASM based load testing tool
- Redis
Renamed to Redict
- Sabbatical
- Two Month Update
- Sverige
News
- A Copy
of a Copy of a Copy: the Story of FDA Medical Device Clearances
- The only
thing I want AI to help me automate are its own users
- Как я боролся со
спамом в Telegram и что из этого вышло
- The
hater’s guide to Kubernetes
- On
Commoditization, Pricing, and Assets
- PARA
Кэла Ньюпорта: как ведёт заметки автор книг «Цифровой минимализм» и «В
работу с головой»
- Microblog:
TestMain can cause one to question reality
- Adding
Keyboard Shortcuts to a 24 Year Old Government Website with
Userscripts
- Большое
лодочное приключение. Из Рединга в Лондон, сквозь шторм и мель
- All My
Thoughts After 40 Hours in the Vision Pro
- The
Internet of Evil Toothbrushes
- jsonfile: a quick hack
for tinkering
- Why
We Can’t Have Nice Software
- Chess
puzzle book generator
- How to
Learn Nix, Part 49: nix-direnv is a huge quality of life
improvement
- Do
More With What You Have
- Fitbit/Google
need to do better.
- Patch
terminology
- Дети и
деньги
- On love &
relationships
- Alan
Wake 2
- Starfield
- Мысли о
продлении жизни
- Пять
недостатков цеттелькастен
- Дайджест 19
- Chrome
Extension To Hide Microtransactions in Steam (Open-Source)
- xargs: an example
for parallel batch jobs
- Improved
Youtube RSS/Atom feed
- Design
career paths
- Can
Rust prevent logic errors?
- On
Buddhism
- Stocketa
- Переписал
сайт на SvelteKit
- Сервисы
и программы, за которые я с удовольствием* плачу
- Cloudflare
DNS
- Comments
in stories
- Жизнь—агент
создания знания
- The
complex simplicity of my static websites
- Batch PDF
Editing
- Malaysian fuel
prices and open data
- Multi-layered
calendars
- Large
Language Foobar
- Явный дизайн
в разработке программ. Предварительные выводы
- The Aura of
Care.
- Fulcrum
- ***
- 10 Thoughts From
the Fourth Trimester
- Generative
AI and AI Product Moats
- Making
myself uncomfortable again
- MutexProtected:
A C++ Pattern for Easier Concurrency
- Excellence
is a habit, but so is failure
- Hummingbirds are
Evil! Procrastination, Laziness and Play
- Short: WiP
- Rust to
WebAssembly the hard way
- Linky
- FrogFind
- One
Thing
- Еще
один сценарий для waiting time paradox
- Remaking Old
Computer Graphics With AI Image Generation
- Спасибо,
пока!
- Как я искал (и нашел)
работу в США
- Generalizing
Secret Santa with integer programming in Julia
- Orientalism - to
Fetish and Back Again
- Dear Oracle, Please
Release the JavaScript Trademark
- Как я
выучился на разработчика в Яндекс.Практикуме
- City
Worker Exchange Program
- Display
Items
- Campaign
ideas
- Mystery
of link imbalance #2: как можно починить MRU-пул
- NodeJS packages
don’t deserve your trust
- How DNS
works
- The
Overcast Redesign: Part One
- Deep
Neural Nets: 33 years ago and 33 years from now
- Implementing a
size-bounded LRU cache with expiring entries for my DNS server (in
Rust)
- Linguistic
Relativity and the Tyranny of the Compiler
- Что стоит на
моем Mac в 2024 году
- The
power of defaults
- Printf(“%s
%s”, dependency, injection).
- Browser
plugin: Readable.
- 5000x faster
CRDTs: An adventure in optimization
- Видео-тур по
лодке: в гости заглянул Константин Пинаев (moscowlondon)
- A
from-scratch tour of Bitcoin in Python
- Short
Story on AI: Forward Pass
- Robinhood
или как начать инвестировать в акции
- A
few bytes here, a few there, pretty soon you’re talking real
memory
- The
story of the one line fix
- Как
выбрать внешний монитор для MacBook и не пожалеть о покупке
- Whoops… 000.txt
- Minimalist HTML
- Revel in Its
Difficulty
- Ad-Hoc
Data Visualisation in the Terminal with gnuplot
- Concurrent
Compaction in Automerge Repo