Automating PyInstaller Builds and Code Signing with PowerShell

When developing desktop software in Python, creating a Windows release often involves a few repetitive steps: To make this process faster and less error-prone, I…
Read more →
When developing desktop software in Python, creating a Windows release often involves a few repetitive steps: To make this process faster and less error-prone, I…
Read more →
Publishing project documentation is one of those things that should be easy – but often isn’t. Apple’s DocC makes it simple to generate great documentation…
Read more →
Swift concurrency introduces async/await and async let for handling asynchronous code – but when should you use which? This cheat sheet breaks down the key…
Read more →In Part 1 (How to Set Up Ubuntu Linux as a Secure Kiosk or Self-Service Terminal), we set up a kiosk environment on Ubuntu Linux…
Read more →
Everybody knows them – from fast food restaurants to airports and train stations: self-service terminals with large touchscreens, designed for a single purpose such as…
Read more →
When you’re dealing with sensitive data in your iOS or macOS app, the Keychain is the place to store things like tokens, passwords, and other…
Read more →