Posts

March 8, 2016
Round-up and comparison of several popular and free transactional email services and Mandrill alternatives.

February 21, 2016
This is a simple and effective method how to serve Wordpress pages blazingly fast: produce static HTML files with WP Super Cache, and serve them directly with nginx. WP Super Cache (on Github) is an …

December 14, 2015
Let's Encrypt is a new certificate authority backed by Mozilla, Akamai, EFF, Facebook and others, which provides free SSL/TLS certificates. This is an overview and comparison of 10 popular clients.

November 28, 2015
In this tutorial we’ll be using py2app to create a standalone OSX application from a Python 2 or 3 source code with a simple Tkinter user interface. "py2app is a Python setuptools command which will …

November 23, 2015
String encoding and decoding as well as encoding detection can be a headache, more so in Python 2 than in Python 3. Here are two little helpers which are used in PDFx, the PDF metadata and reference …

November 22, 2015
Machine learning algorithms regularly utilize GPUs to parallelize computations, and Amazon AWS GPU Instances provide cheap and on-demand access to capable virtual servers with NVIDIA GPUs. GPU …

November 13, 2015
Great talk and engaging live coding session “Python Concurrency From the Ground Up” by David Beazley at PyCon 2015! Recommended 47 minutes watch. A few selected quotes: The fact that he walked in and …

October 26, 2015
I just released PDFx version 1.0, a Python tool and library to extract metadata and URLs from PDFs, and to automatically download all referenced PDFs. The project is released under the Apache license …

October 12, 2015
This post is about using Retrofit 2.0 (beta) to consume HTTP based APIs. Retrofit is a great and popular API client library for Java (and by extension also for Android) developed by Square. Here’s a …

December 21, 2011
Another DMCA takedown of one of my Android apps. This time initiated by The New York Times Company for a three year old app titled “NYTimes Article Search”. Instead of having their lawyers send the …

August 12, 2011
Just a year ago Paul Irish and several contributors started working on html5-boilerplate, a popular repository of boilerplate and best practices for creating cross-browser compatible, html5-enabled …

April 5, 2011
I recently started appengine-boilerplate, a repository of often used boilerplate code for Google’s App Engine, which allows to quickly setup new projects without having to re-invent the most common …

March 7, 2011
Short answer: Ask your especially engaged users to rate the app (eg. with a tool such as AppRater). iPhone developer Amro Mousa published a post yesterday with recommendations about how to reach a …

January 29, 2011
Developing servers that scale is usually quite tricky, even more so with Python and the absence of worker threads which can run on multiple cpu cores [1]. A possible solution are worker processes that …

December 27, 2010
This post is a brief technival overview of Unicode, a widely used standard for multilingual character representation, and the family of UTF-x encoding algorithms. First a brief introduction to …

December 20, 2010
Here’s a brief but important advice for Android app developers: starting with your first app, prepare for the situation where a company wants to acquire one of your applications. Use a unique signing …

December 11, 2010
I’ve just learned about a particularly nice Linux shell command: compgen $ compgen -c … list all the commands you could run. $ compgen -a … list all the aliases you could run. $ compgen -b … list all …

December 6, 2010
Today Android version 2.3 (Gingerbread, API Level 9) was released, including an updated Android plugin for Eclipse and the API Level 9 SDK. The release includes some very welcome updates for both …

October 13, 2010
An interesting post about the private torrent tracker what.cd surfaced on HN today, portraying the attempts and final success of creating a highly scalable torrent tracker software. It’s an …

October 13, 2010
This post is about Python, Threads, Multiprocessing, the GIL, and a great talk by David Beazley titled “Inside the Python GIL”. Threads Threads make it possible to execute multiple pieces of code in …