The Relentless Optimism of Software Tooling

At work I've recently had to build and release an Android app many times over, each time with slight bug fixes and updates, for a client to test. I'm hoping to incorporate Fastlane and/or a CI tool to automate this soon, but in the meantime I'm burdened with the banal task of building an APK, signing, optimizing, uploading, and repeating many times over. Although it's the same boring process every time, the amount of software tooling involved is staggering: Gradle, jarsigner, zipalign, and since this is a React Native project, node, yarn, Webpack... you get the idea. Each one of these tools produces dozens or hundreds of lines of logs as well, so for better or worse you learn to ignore the vast majority of tooling output. On this note, I just recently noticed a warning which I had never previously paid attention to:


After jarsigner does its thing, it warns that my certificate expires, and that this may start affecting users... in 2045! (or after revokation). What a vote of confidence that my app will not only be initially successful but users will be signing up in droves to verify the APK's signature 30 years from now. Thanks jarsigner!

Do you have a funny or interesting example of software tooling being relentlessly optimistic? Leave a comment!

Show Comments