About the Author

Robert Zehnder

admin

I am just this guy, you know?

I'm a senior ColdFusion developer who's been in the CFML trenches long enough to have opinions about all of it — from crusty tag-based components to whatever comes next. Most of my day job is stitching e-commerce platforms together (Shopify, Amazon, eBay, Walmart, and a few you've probably never had to integrate with) so that inventory and orders don't lie to each other.

Outside work I build things nobody asked for. I wrote my own Express.js-style module for BoxLang because there were no alternatives, then used it to rebuild my own blog. I ported Zork. When I'm not writing code, I'm reading Dungeon Crawler Carl, James S.A. Corey, or Rothfuss, min-maxing a City of Heroes build, or doing calisthenics because apparently that's a thing now.

I like systems with real rules and earned progression — in games, in code, in most things. If it's held together with duct tape, I probably built the duct tape myself and documented why.

Feedhouse

Feedhouse gets public pages, comments and Webmentions

Feedhouse now has opt-in public pages at /u/yourname: the shares, highlights and bundles you choose, with an RSS feed and a Follow button. Add a name, bio, avatar and a rel="me" website link for Mastodon verification. Anyone signed in can comment on public shares, while earlier follower comments stay private. You can turn comments off and block people. Public shares also send Webmentions, so authors see who shared their posts. Nothing goes public unless you choose it.

boxlang

Everything Feedhouse Does, From the Boring Parts Up

A tour of everything Feedhouse does, from the boring parts up: adding feeds, folders and keyboard shortcuts, then search, read-later, highlights and stories shown once, then filters for what you never want to see, feed health, a reading-stats table of shame, sharing, bundles and the phone app. Then the good stuff: newsletters with an address of their own and no tracking pixels, and a podcast player that keeps going while you read. No algorithm required.

cfml

Shopify API 2026-10 Changes

Shopify's 2026-10 API is stable. Breaking changes: address edits on unfulfilled orders now recalculate taxes, draft order PriceRule is gone, invalid metafield filters now error instead of being ignored, carrier services no longer auto-join the General profile, and FULFILLMENT_NOT_REQUIRED joins the status enum. ProductVariant.barcode gives way to barcodes. Additions include multi-tracking order imports, Shopify Payments fee details, and a new subscription calculation flow.

cfml

Shopify GraphQL: Order Ingestion & Updates

A reference for Shopify GraphQL order work in CFML. Covers GIDs, cost-based rate limits, and why HTTP 200 means nothing without checking userErrors. Ingestion: webhooks, paginated queries, bulk operations. Updates: orderUpdate, order edits, fulfillmentCreate, orderCreate for marketplace imports. Includes a CFC harness using script-based cfhttp, with one retry on THROTTLED. Notes the 2026-10 address-triggers-tax-recalc change.

boxlang

My blog joined the fediverse

This blog is now on the fediverse as @blog@kisdigital.com. Follow it from Mastodon and new posts, edits and deletions reach your timeline within minutes; replies come back here as comments, and likes and boosts are counted. It's all powered by bx-activitypub, a new BoxLang module on ForgeBox and GitHub: your app answers four questions about its data and the module handles WebFinger, HTTP Signatures and delivery. Here's how it works, what I learned, and what's next.