{"id":21317,"date":"2025-03-05T17:27:28","date_gmt":"2025-03-06T01:27:28","guid":{"rendered":"https:\/\/www.kith.org\/jed\/?p=21317"},"modified":"2025-03-05T17:27:28","modified_gmt":"2025-03-06T01:27:28","slug":"pleasing-progress-on-tools-to-generate-the-hugo-voter-packet","status":"publish","type":"post","link":"https:\/\/www.kith.org\/jed\/2025\/03\/05\/pleasing-progress-on-tools-to-generate-the-hugo-voter-packet\/","title":{"rendered":"Pleasing progress on tools to generate the Hugo Voter Packet"},"content":{"rendered":"\r\n<p>In unrelated news, over the past few days I got my system for automatically creating the Hugo Voter Packet zip files working!<\/p>\r\n<p>I\u2019m pretty pleased with how it went\u2014it was one of those projects where at several points, there turned out to be a simpler\/easier way to do things than I had expected. And the coding and testing process went very smoothly, with no particularly frustrating or hard-to-fix bugs.<\/p>\r\n<p>(The <em>setup<\/em> process did run into some snags, because I didn\u2019t have the right permissions to do various parts of the setup. But those issues all got resolved.)<\/p>\r\n<p>The outline of how it works is that I have a mini Python script that turns a given directory into a zip file<sup>*<\/sup>, and a Makefile that generates lists of the relevant files and determines whether each zip file needs to be updated (and then it calls the Python script as needed). And both of those live on a cloud server rather than on my local computer.<\/p>\r\n<p><sup>*<\/sup> (I did this in Python rather than just calling command-line zip because the Python library handles non-ASCII characters in filenames correctly.)<\/p>\r\n<p>This is a huge improvement over last year\u2019s manual system, in which any time we changed the overview PDF that was included in all the zip files, I had to do several hours of manually uploading and downloading things, a process that eventually exceeded my monthly bandwidth limit for my home internet. (I hadn\u2019t even known that I had such a limit!)<\/p>\r\n<p>I tested the new system using the 2024 Packet files; using the new system, it takes roughly 90 minutes to create a full set of last year\u2019s zip files from scratch. And it\u2019s now an entirely automated process; I can set it running and walk away, and 90 minutes later everything will be done. (Well, and then it\u2019ll take a while for me to manually download and check all the new files and make sure they\u2019re right.)<\/p>\r\n<p>Of course, there may well be snags when we try to use this new system for the 2025 Packet. (We obviously won\u2019t even start receiving Packet files until after the Hugo finalist voting is done, a week and a half from now.) But for now, it\u2019s looking pretty good.<\/p>\r\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[82,68],"tags":[],"class_list":["post-21317","post","type-post","status-publish","format-standard","hentry","category-awards","category-programming"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.kith.org\/jed\/wp-json\/wp\/v2\/posts\/21317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kith.org\/jed\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kith.org\/jed\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kith.org\/jed\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kith.org\/jed\/wp-json\/wp\/v2\/comments?post=21317"}],"version-history":[{"count":1,"href":"https:\/\/www.kith.org\/jed\/wp-json\/wp\/v2\/posts\/21317\/revisions"}],"predecessor-version":[{"id":21318,"href":"https:\/\/www.kith.org\/jed\/wp-json\/wp\/v2\/posts\/21317\/revisions\/21318"}],"wp:attachment":[{"href":"https:\/\/www.kith.org\/jed\/wp-json\/wp\/v2\/media?parent=21317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kith.org\/jed\/wp-json\/wp\/v2\/categories?post=21317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kith.org\/jed\/wp-json\/wp\/v2\/tags?post=21317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}