41554 blogs · [ { "id": "01a08786-31ca-71db-a6c4-d2af46b4c769", "title": "The Cost of Failing Closed: What Shipped Across Nine PHP Extensions", "url": "https://ilia.ws/blog/the-cost-of-failing-closed-what-shipped-across-nine-php-extensions", "published_at": "2026-07-27T15:15:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d59329ed", "title": "Malcolm X Is Not a Suffix", "url": "https://ilia.ws/blog/malcolm-x-is-not-a-suffix", "published_at": "2026-07-12T10:06:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d63792e2", "title": "Failing Closed: What Shipped Across Seven PHP Extensions", "url": "https://ilia.ws/blog/failing-closed-what-shipped-across-seven-php-extensions", "published_at": "2026-07-10T09:20:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d6b005bd", "title": "I objected to deprecating metaphone(). Then I read the RFC.", "url": "https://ilia.ws/blog/phonetic-metaphone-deprecation", "published_at": "2026-07-01T09:46:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d6c2246b", "title": "I Forked a Dead PHP Name Parser Because It Couldn't Tell a Credential From a Surname", "url": "https://ilia.ws/blog/casing-aware-php-name-parser", "published_at": "2026-06-24T15:22:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d6c89f0a", "title": "pdo_duckdb: DuckDB for PHP, Behind the PDO API You Already Know", "url": "https://ilia.ws/blog/pdo-duckdb-a-pdo-driver-for-duckdb", "published_at": "2026-06-19T14:31:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d70df3c6", "title": "Lowering the Floor: What Shipped Across Five PHP Extensions", "url": "https://ilia.ws/blog/lowering-the-php-floor-what-shipped-across-five-extensions", "published_at": "2026-06-16T13:35:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d73554e7", "title": "I Generate Too Many UUIDs. So I Wrote a Faster One.", "url": "https://ilia.ws/blog/i-generate-too-many-uuids-so-i-wrote-a-faster-one", "published_at": "2026-06-07T10:07:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d7fc8d87", "title": "phpser: a fast, secure binary serializer for PHP cache workloads", "url": "https://ilia.ws/blog/phpser-a-fast-secure-binary-serializer-for-php-cache-workloads", "published_at": "2026-06-02T14:22:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d8ab7596", "title": "Fastchart 1.X, why I rewrote it after 0.2 release", "url": "https://ilia.ws/blog/fastchart-1-x-why-i-rewrote-it-after-0-2-release", "published_at": "2026-05-21T14:39:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d9637717", "title": "fastjson 0.3.0: A Faster Drop-In ext/json for PHP, Backed by yyjson", "url": "https://ilia.ws/blog/fastjson-0-3-0-a-faster-drop-in-ext-json-for-php-backed-by-yyjson", "published_at": "2026-05-20T07:27:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259d97a93ac", "title": "fastchart 0.2.0: Native PHP Charts, Barcodes, and QR Codes in One Extension", "url": "https://ilia.ws/blog/fastchart-0-2-0-native-php-charts-barcodes-and-qr-codes-in-one-extension", "published_at": "2026-05-11T16:04:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259da181736", "title": "php_clickhouse 0.8.1: Three Releases Later, Stable", "url": "https://ilia.ws/blog/php-clickhouse-0-8-1-three-releases-later-stable", "published_at": "2026-05-01T07:40:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259db105eb3", "title": "Driving TradingView Desktop From an AI Agent", "url": "https://ilia.ws/blog/driving-tradingview-desktop-from-an-ai-agent", "published_at": "2026-04-29T17:56:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259db8487ab", "title": "It's Alive! statgrab Returns After 20 Years", "url": "https://ilia.ws/blog/its-alive-statgrab-returns-after-20-years", "published_at": "2026-04-28T13:11:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259db857387", "title": "php_clickhouse: a native ClickHouse client for PHP, picking up where SeasClick left off", "url": "https://ilia.ws/blog/php-clickhouse-a-native-clickhouse-client-for-php-picking-up-where-seasclick-left-off", "published_at": "2026-04-25T18:08:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259dc3fc927", "title": "mdparser: a native CommonMark + GFM parser for PHP", "url": "https://ilia.ws/blog/mdparser-a-native-commonmark-gfm-parser-for-php", "published_at": "2026-04-12T10:01:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259dcba9263", "title": "php_excel 2.0: The C Extension for Excel That PHP Should Have Had All Along", "url": "https://ilia.ws/blog/php-excel-2-0-the-c-extension-for-excel-that-php-should-have-had-all-along", "published_at": "2026-04-07T14:12:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259dd9a68ea", "title": "Teaching AI Agents How to Engineer", "url": "https://ilia.ws/blog/ai-agents-dont-lack-capability-they-lack-process", "published_at": "2026-04-05T15:22:00+00:00" }, { "id": "01a08786-31cb-72d1-8db7-a259de046a25", "title": "The Persistent Myth: Why Your PHP App Needs Persistent Connection", "url": "https://ilia.ws/blog/the-persistent-myth-why-your-php-app-needs-persistent-connection", "published_at": "2026-01-24T15:00:00+00:00" } ] posts Claim your blog
Back to ilia.ws
Blog · corpus.blog/blogs/ilia.ws/posts

ilia.ws

ilia.ws

2026