{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreif5qyp23kaowx6b5bjxouq25nbfzs5auz5touaimks7dmoa64gkwy",
    "uri": "at://did:plc:vyjlfm46mfv6u4vjp6qtrfx2/app.bsky.feed.post/3mht6jta5chs2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreidg2k33tiuupnstmiowh7hyyvtsbe3gyhfygiytrzynysnhoctrxi"
    },
    "mimeType": "image/jpeg",
    "size": 81260
  },
  "path": "/articles/the-barren-fields",
  "publishedAt": "2026-03-24T06:30:00.000Z",
  "site": "https://thedailywtf.com",
  "tags": [
    "CodeSOD",
    "Learn more."
  ],
  "textContent": "Today, it's not exactly the code that was bad. For some time, a government agency had been collecting information from users using fillable PDF forms. The user would submit the form, and then a data entry clerk would copy the text from the form into a database. This, of course, raised the question: _why_ was someone manually riding the copy/paste button?\n\n**Sally** was tasked with automating this. The data is already in a digital format, so it should be easy to use a PDF library to parse out the entered data and insert it into the database. And it _almost_ was.\n\nSally shares with us, not code, but the output of her program which scanned the fields, looking for their names:\n\n\n    FieldType: Text\n    FieldName: T5ZA1\n    FieldNameAlt: T5ZA1\n    FieldFlags: 25165824\n    FieldJustification: Left\n    FieldMaxLength: 3\n    ---\n    FieldType: Text\n    FieldName: T5ZA2\n    FieldNameAlt: T5ZA2\n    FieldFlags: 25165824\n    FieldJustification: Left\n    FieldMaxLength: 2\n    ---\n    FieldType: Text\n    FieldName: T5ZA3\n    FieldNameAlt: T5ZA3\n    FieldFlags: 25165824\n    FieldJustification: Left\n    FieldMaxLength: 4\n\n\nI could go on, Sally certainly shared many more examples, but you can get the gist. The names were all cryptic five character blobs. They all start with `T5Z`, and followed by \"letternumber\": `A3`, `B9`, `C2`, etc. It has the vibe of being autogenerated; someone just never considered that they might want clear names for the fields, and just let their editor autonumber them, but that has one counterpoint to it: the letter \"O\" is never used. `T5ZN9` is followed by `T5ZP1`.\n\nSally was left scratching her head. Of course, she was going to have to write some sort of lookup that would convert the PDF's field names into database field names, but she expected that the PDF would provide at least _some sort_ of guidance on that front.\n\nI really enjoy that the alt-text for every field is also the field name, which is a clear accessibility \"win\".\n\n[Advertisement] Keep the plebs out of prod. Restrict NuGet feed privileges with ProGet. Learn more.",
  "title": "CodeSOD: The Barren Fields"
}