Django supports many languages and locales out of the box. An important aspect of locale-aware applications is number formatting and Django provides quite a few knobs and switches, but using them isn’t entirely straightforward.
Being able to effortlessly bootstrap new Django projects and quickly flesh out ideas is very important. It minimizes the effort spent on configuration minutiae, enabling us to focus on the actual task at hand. Haven’t we all felt drained after a long tooling troubleshooting session, wanting to hit the sack instead of writing beautiful code? Let’s see how to streamline things.
End-to-end encryption is a great thing for the web, even if the current system is fundamentally broken. I’m not going to bore you with all the nitty-gritty details, since I’m pretty sure that if you’re reading this we’re in agreement, possibly on both accounts. What’s important is that Let’s Encrypt eliminated the monetary cost of acquiring SSL certificates.
Vagrant can be an absolute lifesaver for developers. It is lightweight, available everywhere (Linux, Mac, Windows), and can do wonders for your productivity by allowing you to easily compartmentalize diverse development environments.
If you’ve never been hit by catastrophe it’s easy to dismiss taking regular backups as a nice-to-have instead of the absolute necessity it is. We need to fix this. We’ll use Duplicity to instrument our backups, which will be encrypted on the server and subsequently pushed to Amazon S3.
Grunt, the JavaScript task runner, is an excellent tool to automate boring, repetitive stuff. With a plethora of plugins, and a thriving community around it, you’ll find it’s a great weapon for your webdev arsenal. I’d go as far as saying that it’s invaluable for any moderately complex web project. Once you spend a bit of time on it, you’ll be able to compile your LESS, concatenate, compress and optimize your CSS, minify and combine your JavaScript files, keep separate builds for production and development, deploy your kids to school after they have breakfast and even more!
Separation of concerns has always been a key issue for me as a developer, often going to great lengths for compartmentalization and clearly defined boundaries. A macro example of this is using VMs for development; it has improved my productivity immensely because the host OS is decoupled from the dependencies of the projects I am working on.
Trying to build a simple VirtualBox Ubuntu image was not without digging around, even though the documentation at Packer would lead you to believe everything is quite straightforward. If you were looking for a concrete example of creating a VirtualBox Ubuntu 12.04 LTS image with Packer, this should be a straightforward guide to get you up and running fast. (Updated for packer v0.10.1)
Consistently finding time and energy to blog is hard. Not only life happens, there is also a strong urge to optimise everything before you even start; finding the perfect tools and processes to, well, put pixels on a screen.