Welcome to KISDigital

ColdFusion, Lucee
& BoxLang.

Deep dives into ColdFusion, Lucee, and BoxLang — modern CFML development, runtime internals, and the future of the JVM web stack.

Watching a boxlang-express server: metrics, tuning, and a lighter image

This site runs on one 1-vCPU DigitalOcean instance with no APM vendor — just a self-built page reading JVM metrics directly, and the habit of watching it. Covers which numbers actually matter (GC time ÷ uptime, not raw seconds), a real bug caught along the way (the JVM thought it had 8 cores, not 1), load-testing to find the real throughput ceiling, and trimming the Docker image 60% by dropping CommandBox entirely.

RZ Robert Zehnder boxlang bx-express cli

Request Logging Middleware for bx-express

Robert replaced a synchronous third-party analytics service (which caused outages when rate-limited) with a custom `RequestLogger.bx` for his site. It uses a bounded in-memory queue, non-blocking middleware, and a background scheduled thread to batch-flush rows to SQL every 5s, with periodic cleanup of old records. Doubles as a boxlang-express middleware tutorial covering closures, Java interop (ConcurrentLinkedQueue, dynamic proxies), and defensive error handling.

RZ Robert Zehnder boxlang bx-express cli

Robotics/Force Field Mastermind Build

Bots/FF Mastermind: ranged robot pets + Force Field shields for team defense. Forgiving, solid solo past lvl 22. Prioritize shields, Leadership/Fighting pools, Mace Mastery epic for soft-capped defense + high recharge via LotG uniques. Slotting favors pet survivability over damage. Incarnates lean recharge/defense; Lore/Judgement are playstyle calls.

RZ Robert Zehnder coh gaming

Things may look a little different

I rebuilt this blog on boxlang-express, my own Express.js-style BoxLang framework, moving from a CommandBox droplet to a thin DigitalOcean App container, with static assets on Cloudflare R2 and a homegrown MySQL access log replacing GoatCounter. Also: DismalThreads, my BoxLang/CBWire Reddit-style forum, is getting decommissioned end of month, no real users beyond my own test accounts, though the code may go public on GitHub.

RZ Robert Zehnder boxlang bx-express cli

BoxLang Express Enhancements

BoxLang Express went from basic routing to a full-featured framework across 10 releases (0.1.1→0.1.14): sessions, CSRF, CORS, rate limiting, security headers, uploads, and a SQL-backed session store. Every fix got verified live before being called done, then locked in as one of 149 passing tests. Along the way, express-test grew from a chat demo into a live documentation site, catching stale docs and gotchas that reading alone would've missed.

RZ Robert Zehnder boxlang bx-express cli