Envelopes - Mailing for human beings

Envelopes is a tiny library I wrote to make working with Python's email and smptlib packages simple and fun.

Fun with PostgreSQL: Tagging blog posts

The other day I was tasked with adding tagging functionality to one of the projects I'm working on. While this is quite basic functionality it comes with a few challenges - from properly configuring relations in the DB and the ORM, through properly handling operations on tags to properly handling connections between tags and tagged entities.

BTHLabs 2.0

Announcing BTHLabs 2.0!

tune-control for Mac OS X

tune-control is a tiny command line program for Mac OS X that makes controlling iTunes or Spotify from shell a walk in a park. I wrote it because I often find myself working remotely on my MacBook and I need a way to control Spotify without physical access to the machine.

Flask-HTAuth

How often do you need to limit access to a Web app to few people? Very often, right? Sometimes it doesn't make sense to implement full-blown users management and authorization. All you need is login and password prompt and credentials storage for a few people. I faced the same problem in an ongoing pet project of mine and decided to go with basic HTTP auth with a plain old htpasswd file storing user credentials.

New portfolio and blog of Mateusz Dembek (aka dembsky)

My fellow designer, Mateusz Dembek (aka @dembsky) asked me to code his redesigned portfolio and blog. Today the work is done and the site has gone live. You can see it at dembsky.me.

ForgeryPy - An easy to use forged data generator for Python

I'm cooking something special, here in my lab. One of things the project requires is generating random and totally fake users, complete with e-mail address, username and other details. Some time ago I've used Forgery Ruby gem to generate such data and it worked quite well. So, I thought I'd port it to Python. A few hours later, here it is.

Weeby StatusBoard: Reloaded

One of my last tasks before leaving Weeby was to release StatusBoard on GitHub. I was very happy to see the app being open-sourced as I had a lot of fun (and did some magic) during its development and wanted to use it outside the company. For more info please see the app's GithHub page.

A case against accessors in Python

I was asked by one of fellow devs why I use accessors for instance vars in Python. Because I'm used to accessors after coding in Ruby and Objective-C, I replied and went with my own business. But today a post by Dropbox about optimizing Python code popped into my head. It states that Python function calls are slow. I coded a small snippet to see how accessors perform compared to just accessing an instance variable. Here it is:

mustache2js

Some time ago I started using Mustache in apps I write to make tedious task of generating HTML in JavaScript easier and more fun. Now, Mustache does the job well and fits my needs. There's one problem, however. When I first tried to use the Mustache template in browser I found that it was pretty much impossible. Somewhere in the Internets I found someone's post where he suggested we should use wrap Mustache code in script tag with text/html type. At first I was like WTF? but then I was like including all the templates in every HTML? srsly? because this method wouldn't work when loading templates from files. I was stuck.