News, articles, and notes
Writing on Delphi, the web, and the seam between them.
Deep dives, opinions, project notes, and conference reports. Updated whenever something is worth saying.
Featured
RTTI Part 2: Reading Types, Properties, and Attributes
In Part 1 we established the idea: RTTI is reflection — code that inspects and manipulates types it didn't know at compile time — and it all starts from two records, TRttiContext (your session with the reflection system) and TValue (a box that holds a value…
- Delphi
- RTTI
- Reflection
- Object Pascal
Read article
Free to read, not free to make. Everything here is published without ads or paywalls, funded by readers.
How to support01 — More recent
See all 86 →What Is RTTI? Delphi's Reflection, Part 1
Here's a question that sounds impossible at first: can a program inspect its own code while it's running? Can it look at an object it's never seen before, ask "what properties do you have, what are they called, what types are they," and…
- Delphi
- RTTI
- Reflection
- RTL
- Object Pascal

DateUtils, Part 2: Time Zones, UTC, and ISO 8601
There's a category of bug that's almost a rite of passage. The app works perfectly on your machine. It works in testing. Then it ships, and a customer three time zones away reports that appointments are an hour off, or a report shows…
- Delphi
- DateUtils
- Time Zones
- UTC
- ISO 8601

DateUtils, Part 1: Modern Date and Time in Delphi
Date and time code has a way of quietly humbling even experienced developers. You need "the first day of next month," or "how many days until the deadline," or "the same time yesterday," and you find yourself reaching for DecodeDate, doing…
- Delphi
- DateUtils
- Date and Time
- RTL
- Object Pascal

From TBitmap to JSON and Back Again
Last time we took base64 apart. We established that binary data can't go into JSON because RFC 8259 requires UTF-8 and most bytes in an image aren't valid UTF-8; that base64 solves it by regrouping 24 bits into four 6-bit values mapped…
- Delphi
- JSON
- REST
- APIs
- Base64

Base64: The Thing Everyone Uses and Nobody Explains
By now this series has established what JSON is made of — six value types and one recursive rule — and we've spent a whole post on the first thing that list doesn't include: dates. The fix there was a convention. A date becomes a string in…
- Delphi
- JSON
- REST
- Base64

Objects Aren't Data — Serialization Is How They Pretend
Every post in this series so far has had you building JSON by hand. In part three we walked through all three ways the RTL lets you do it — the object model, the reader/writer pair, the fluent builder — and every one of them had you naming…
- Delphi
- JSON
- REST
- APIs
- RTTI

02 — The archive
79 more articles, back to 2023.
Every article ever published, grouped by year and month.
