EORM
Keep SQL in your own hands. A lightweight persistence layer that starts with three annotations, where lambda field references hold their ground at compile time; every statement passes through review — transparent, restrained, and sharp enough.
It began with one simple Hello World — turning imagination into interfaces that breathe. What follows are open-source tools refined again and again on Java and Spring Boot.
Keep SQL in your own hands. A lightweight persistence layer that starts with three annotations, where lambda field references hold their ground at compile time; every statement passes through review — transparent, restrained, and sharp enough.
Give your data model version and order. Multi-version ER modeling, visual schema editing, one-click migration DDL; reverse-engineer models from live databases, with permissions down to every single table.
Write JPA queries with method references. Type-safe joins, projections and aggregations; joins are reused automatically, paging and count come along; and when you need it, it is still a plain Specification.
See the lines your code actually ran. The agent plants line probes at class load and records every hit and its timing; the console restores source by commit, colors each line, and branch diffs leave uncovered changes nowhere to hide.
A quiet guard for your APIs. Requests are encrypted with one-time keys, responses are signed, and the Filter handles the negotiation in silence; not a line of business code changes, yet it is protected.
Sending a line of text thousands of miles takes no longer than a heartbeat. Yet I always want it slower — slow enough that you pause for half a second while scrolling, slow enough that between the blinks of the caret you can hear your own breathing.
In my earlier years I worshipped speed: smaller bundles, faster loads, shorter waits. Only later did I understand that speed is courtesy, not the whole of it. What people remember are the details that seem unnecessary: a movement that lands exactly right, a gradient that never steals the show, a border that lights up softly as you come near. They solve nothing, yet they turn a passing visit into the feeling of being hosted.
Speed is courtesy, not the whole of it; style is patience, placed into detail inch by inch. — On “just right”
A web page is the only kind of paper that breathes on its own. It has weight — not in grams, but in the minutes someone chooses to stay; it has temperature — not in kelvins, but in the unhurried patience between the lines. I call these invisible things style. They cannot be compressed, only placed in, one bit at a time: the hesitation of a punctuation mark, the measure of a line of whitespace, and the exact quiet that arrives when you reach the bottom.
That is why this page borrows no framework. Not to prove anything — simply to run my hands along the curve of every line, the way a craftsman treats a piece of wood. Fewer tools mean fuller attention; fuller attention is what lets detail show itself.
There is an advantage to writing at night: the world goes quiet and the screen becomes the only source of light. You type at it, it hands the words back, and neither side is in a hurry. Many ideas develop only in moments of mutual regard like that.
If you happened to pass by, I hope these few minutes feel light to you. You need not remember anything; a single small stir of “so it could be like this” before you close the tab is enough.
The first time a browser rendered text, the world gained one more pixel of possibility.
From static pages to living interaction — learning to tell stories with motion, layout and logic.
Deployed to denghb.com, sharing the work with everyone who passes by.
This page has no form, no newsletter, nothing it asks you to leave behind. If it made you pause for even a moment, it has already done its job.