Who's Who - Survey Status Update
mycfml.comI've identified many developers through the archived articles and code samples that I've accrued over the last 28 years. I could use some assistance locating some of these past developers. While reaching out with the historic contact information that I have on hand or identified via LinkedIn and GitHub, I've...
'Who's Who' Survey
mycfml.comI've recently started re-reading the original Steven Levy's 'Hackers: Heroes of the Computer Revolution' book from 1984 and I like how the author paid homage to the pioneers with a dedicated 'Who's Who' section. In my opinion, the past & current CFML platforms (Allaire Cold Fusion, Macromedia ColdFusion, Adobe...
It has been quiet around here lately
kisdigital.comA development folder wipe led to rebuilding this site as Chronicler, a BoxLang/ColdBox 8/CBWire 5 app named after the scribe in Rothfuss's Kingkiller Trilogy. It replaces a static site with a lightweight CMS featuring a CBWire-powered post editor, enabling writing from anywhere. Source release planned once polished.
CBWire: Computed vs Data Properties
kisdigital.comCBWire uses data properties for reactive state that persists between requests and supports two-way binding, making them ideal for form inputs and user interactions. Computed properties are read-only, derived values that are automatically cached per request, perfect for expensive operations like database queries or calculations that depend on data properties.
Using BoxLang to process CSV files and push data to an API endpoint
kisdigital.comA vendor sent bulk data as Excel instead of JSON, conflicting with an API endpoint's small-payload limit. A quick BoxLang CLI script parsed the CSV, handled Excel currency formatting, and chunked the output into 100-row JSON files. A second script POSTed each file to the endpoint with SHA-1 auth headers. Total time: ~15 minutes. BoxLang's command-line scripting made it a natural fit for the job.
Stump the Programmer: The Recursive Shelf
kisdigital.comRobert presents a ColdFusion/BoxLang coding challenge to build a recursive function that converts a flat array of hierarchical category data (using `id` and `parent_id` relationships) into a nested tree structure without using loops. The solution uses `arrayFilter()` to find children of each parent and `arrayMap()` to recursively build the `children` array for each node, with an optional bonus feature to alphabetically sort children at each nesting level using a `sortKey` parameter.