Reading books is one of the best ways to improve your craftsmanship and to become a better software developer. This is a continuously updated list with my favourite programming books, sorted by topic. I link to the ebook version where possible but most books should be available made from dead trees as well.
Abstract Base Classes (ABCs) ensure that derived classes implement particular methods from the base class. In this tutorial you’ll learn about the benefits of abstract base classes and how to define them with Python’s built-in abc module.
Many iOS applications contain an “invite your friends” feature. Ideally this feature should suggest people that the user is likely to invite. This article explains an App Store-legal method of guessing a user’s favorite contacts from their address book on iOS. The method is described in detail and a demo application is available for download.
LaTeX is a great way to create beautiful documents. But its embedded markup makes it difficult to check LaTeX documents for spelling errors. This article explains how to setup and use a program called aspell to spell check your LaTeX documents.
The Raspberry Pi single-board computer is a wonderful little machine. Sadly, its audio output is a bit riddled with software problems and produces crackling and popping noises. In this article I’ll explain how to configure your Pi to get crackle-free audio playback on Raspbian Linux with mpd and PulseAudio.