Category Archives: programming

Programming howto’s, tutorials, informative posts about my open source (and closed source) projects, software engineering and design discussions and rants about the industry as a whole.

Unit Testing Sinatra Apps

Testing is the safety harness for your code. They are not magical, and they will not prevent you from missing bugs you did not anticipate. They do however automate the boring chore of making sure various edge cases and special … Continue reading

Leave a comment

Minion Academy

Have I mentioned that the nemesis system in Shadow of Mordor was really cool? Because it was. Playing that game made me wander what else could be done with it. For example, I have always been fond of RPG oracles … Continue reading

Leave a comment

Make Your Web Forms Time Lord Friendly

This was a conversation rolling through my Twitter feed lately: how do we design good web service signup form? One that is unobtrusive, intuitive and inclusive. How many fields do you need? What is the best way to arrange them? … Continue reading


Every time you touch the UI you break someone’s workflow

Let’s assume your app is currently in production, and has a non-trivial number of users. By non-trivial I mean a number that makes it impractical for you to write a personalized apology email to each and every single one of … Continue reading


LaTex: Continous Background Compilation

What I’m about to propose here is a bit unconventional, but it really works for me. I’ve been doing a lot of front and back end web stuff lately and as a result every machine I own or work with … Continue reading


Scraping Reddit’s Json for Cool Pics

Did you know that you can add /.json to any Reddit URL to get a machine readable JSON document you can screw around with? You can test it yourself. For example, go to /r/vim/.json. It works for pretty much any … Continue reading


Building a Jekyll Site

Back in 2009 I got a brilliant idea into my head: I was going to build a site on top of Joomla. Why? I still don’t exactly understand my own thought process that lead me to that decision. I think … Continue reading


3 Tiny Vim Plugins That Will Make Your Life Easier

There is a religious movement within the Vim community which emphasizes purity of the environment and rejects superfluous plugins and advises adherents to meticulously prune their .vimrc to keep it nearly empty and thus clean from impurities. I personally do … Continue reading


Let’s Learn LaTex: Part 7

Let’s talk about embedding code snippets in your LaTex documents. All of us here are programmers (except for those who aren’t) so this is a natural thing we might want to do. Despite being built by programmers for programmers, LaTex … Continue reading


About Code Snippets

This will be an exercise in brevity. Originally I wanted to post this thought on Twitter, but I could not figure out how to compress it into 140 characters. I could have posted it on Google+ but I figured I … Continue reading


Programmer’s Keyboard

This summer Jeff Atwood (@codinghorror) has designed and helped to release a new mechanical keyboard aimed at programmers. It was intended to be a modern replacement for the venerable, yet beloved Model-M. If you haven’t heard a Model M keyboard, … Continue reading


Let’s Learn LaTex: Part 6

In Part 4 we talked about the tabular environment which, as I mentioned, is more or less equivalent to tables in HTML. There is another popular way to typeset tabulated data in LaTex which emulates a feature that simply does … Continue reading

Leave a comment

What is your favorite config file format?

Very frequently applications you write will need config files. Sometimes said files are going to be used to internally preserve the state of the application and only read or written to by the app itself, never being exposed to the … Continue reading


Getting Git

If you visit the internet sometimes, you have probably noticed that every month or so certain “developers” like to have a crying session about git being hard to get. I use the term developers in quotes because it is probably … Continue reading


Private Journaling: Reading

Back in March, I more or less definitively resolved my private journal writing problem when I created I made it primarily for myself and so it was designed to scratch all of my particular itches. It was made to … Continue reading

Leave a comment

Designing Websites for Programmers

Let’s say you have written a programming library or a framework and you want to put it online for all to see. Chances are you are not a web developer or a designer and perhaps you don’t have much expertise … Continue reading


Using Vim for writing Prose

Vim is a great text editor for writing code. Anyone who claims otherwise is either an Emacs user (and you should be OK with that, because Emacs is pretty neat) or a “casual” code wrangler who sometimes dabbles in programming … Continue reading


Ruby Gems and Warhammer

The other day I wrote about my attempts to get back into Warhammer. Today I wanted to touch upon a slightly different aspect of the hobby. The open secret of war gaming community is that models are technically optional. This … Continue reading


Source Code Typography

When you run a blog such as this one you usually learn to live with writers block or you quit early. Or perhaps not “writers block” itself but just lack of good ideas for blog posts. My usual way of … Continue reading


Status Line in Vim

If you are following the recent trends in the Vim community you have probably noted the ever growing popularity of Powerline. As the name suggests, it is a very powerful status line generation plugin, but I don’t think that’s why … Continue reading


Python: Increase Your Zen, Maximize Your Hapiness

The philosophy of Python can be summed up in a single line: python -m this When I first discovered Python it still had that ugly, pixelated green snake logo all over their website, and the documentation was all like “Monty … Continue reading


Writing Vim Plugins in Python

There are few things Vim and Emacs users have in common. One of these things is the fact they can talk together about programatically extending their work environment. You can’t really expect to talk to Eclipse of Visual studio about … Continue reading


Vim: Tabs and Buffers

Lets talk about Vim tabs today, because they seem to be a source of perpetual confusion for new users. Most conventional text editors use tabbed interfaces the same way as web browsers do. You take a file, and load it … Continue reading


Vim Sessions

Vim, like Emacs and most other decent editors (as if there were any other decent editors out there) is an application that ought to only run in a single session on your machine. When using the console version of vim, … Continue reading


Spoilers in the age of Social Media and Ubiquitous Time Shifting

You know what really grinds my gears? Folks who complain about TV spoilers in social media. Quite often I will tweet something about an episode of The Walking Dead or Game of Thrones several hours, or even days after the … Continue reading