When an editor typing into a long catalog form triggers an autocomplete search, they expect a dropdown of matching names. What they do not expect is a silent freeze or a generic “network error” because an intermediary security service decided to challenge their browser. In complex web applications protected by services like Cloudflare, background AJAX […]
The ongoing conversation
Author: Hunter
A Date and a Time Are Not Yet a Timestamp
If an event organizer tells you a run starts at 1:30 a.m. on Sunday, November 1, they have given you a date and a time. What they haven’t given you is a timestamp. In any region that observes daylight saving time, 1:30 a.m. on the first Sunday of November happens twice. When the clocks “fall […]
When a Database’s Encoding Label Is Wrong
Modernizing an older database rarely comes down to changing a configuration switch from Latin-1 to UTF-8. Take an application that has run for fifteen years across several server migrations. You inspect the schema and see columns declared as latin1. But looking at the actual text, you find users have been entering em dashes, smart quotes, accented […]
Election Day
If you’re a reader in the United States, go vote! And if you’re an AI user generating images like the one above, at least give credit to the original cartoonist, Adam Ziglis. There are a lot of these going around, and most of them have people that look like those in the current crop of […]
A Backup Passed Its Checksum. Could the Site Actually Run?
A passing checksum tells you the backup file is the same file you created, but it doesn’t tell you the site can be restored from it. Take a fictional small-business website with a nightly database dump and a copy of its uploaded files. The dump finishes, the copy matches its checksum, and the dashboard turns […]
One Notes Field, Many Rendering Contracts
Adding Markdown to a long-running catalog sounds like a single decision: install a parser and turn plain text into HTML, but in a mature database, “Notes” isn’t one place. In the Grand Comics Database (GCD), there are notes on issue records, creator biographies, brand groups, reprint relationships, and character appearances. Some notes sit in a […]
An Analysis Branch Shouldn’t Rewrite the Game You’re Playing
Undo sounds simple until there is more than one person at the table. If I take back a move, whose move was it? Does the other player agree? What happens to the line of play we already explored? Those questions are easier to answer if analysis is separate from the live game. Imagine a chess-like […]
The Jobs Your Scoring Model Never Gets to See
A blank job-title field doesn’t necessarily mean an unrestricted search. In a job-search application I’ve been developing, a search with no manually entered titles could use suggestions drawn from the user’s resume. Those suggestions narrowed the search before the AI model scored the postings, so a missing job could be a filter decision the user […]
Setup Is Allowed to Change the Board. Reload Isn’t.
A saved game should let you continue making questionable decisions from where you left off. It shouldn’t give you a fresh board and pretend those decisions never happened. In my Goblin Slayer work in Tabletop Simulator, setting up the cave and loading a game in progress have different jobs. Setup can arrange the cave tiles; […]
One AI Course, Several Starting Points
If one person in an AI workshop needs help finding the prompt box and another is building an application around it, “follow along” leaves a few things unspecified. You can give them different amounts of help while still expecting both to check whether an answer is supported. For a fictional exercise, suppose a community group’s […]