Blog
Meetup Attendees
The Austin CTO Club is now organized on Meetup. When I attempted to use the Pro Dashboard to download a list of my attendees, the file contained a header line and nothing else. Fortunately there is a work-around: Navigate to the event. Select Manage >> Manage attendees >…
Wrapping jq select
In working with large and deeply nested json structures, I had to extract or delete selected elements from the structure based on variable criteria. In jq the path() operator supports this type of operation well. Calling path(..) expands all paths in the input json. Selecting pat…
Jujutsu Improves on Git
The Jujutsu claims to be git compatible for storage, and uses a different approach for managing commit graphs. Instead of an index, it treats everything as a commit. Instead of requiring conflict resolution at commit, it supports conflicting commits. Instead of commit messages, i…
Editing PDFs With qpdf
In my recent survey of tools for working with PDF files, qpdf stood out. It not only extracts information from PDFs, but can convert a PDF to an editable form, and then reconstitute a new PDF after edits. Do you want to remove images from a PDF? Use qpdf to convert the PDF to jso…
The New Programming
In working with a set of PDF files I needed to distinguish areas by typeface name and size. I found PDFBox, which offers very fine-grained capability to alter PDFs programmatically. But it’s a Java library, and my Java is less than fluent. Using Claude and GPT-4o I managed to imp…