Články
Poznámky z mé práce: Java a databáze, protokoly a parsery, hudební software a vývoj s malým AI týmem. Články jsou dostupné anglicky a rusky; některé původně vyšly na Habru a pro rok 2026 byly přepracovány.
-
A one-person studio with an AI team
How I build and ship four Android apps and two web apps with AI coding agents: who does what, the rules file that grows from every mistake, checks that agents cannot talk their way around, reviews by a second model, and where people still have to look.
-
How a computer finds guitar chord fingerings
What happens between typing "Am7" and seeing a ranked list of fingerings: parsing the chord name, generating the playable shapes on twelve frets, fitting a hand to each shape, ranking them the way chord books do, naming a chord from a shape, and posing a 3D hand on the neck.
-
Liquibase in a Spring Boot 4 application Habr
Versioning a database schema with Liquibase 5 in Spring Boot 4: changelogs in YAML, ddl-auto=validate, generating a changeset by diffing the database against JPA entities with liquibase-hibernate7, and rollback, including the changelog path trap that makes a rollback silently do nothing.
-
Unidirectional and bidirectional relations in Hibernate 7 Habr
Why a @OneToMany suddenly creates a join table, why @ManyToMany on both sides gives two of them, what mappedBy really does, and why setting only the inverse side saves a null foreign key. Every DDL and SQL statement here was printed by Hibernate 7.4.
-
Learning HTTP by writing a tiny web server in Java Habr
A web server on a bare socket in about a hundred lines of Java 21: the request line, headers, Content-Length, a request body, status codes and virtual threads, then the same with the JDK's built-in HttpServer. What my 2019 version got wrong.
-
Recursive descent parsing, revisited in Java 21 Habr
How to parse arithmetic expressions by recursive descent: a grammar, operator precedence and associativity, unary minus, powers and functions, with a small Java 21 parser built on records and sealed interfaces.