My name is Ram Rachum, and I'm a software developer based in Israel, specializing in the Python programming language.

This is my personal blog. I write about technology, programming, Python, and any other thoughts that come to my mind.

I'm sometimes available for freelance work in Python and Django. My expertise is in developing a product from scratch.

GitHub profile

Personal Website

28th September 2014


Another silly Python riddle

Do you think of yourself as an experienced Python developer? Do you think you know Python’s quirks inside and out? Here’s a silly riddle to test your skills.

Observe the following Python code:

    def f(x):
        return x == not x

The question is: What will the call f(None) return?

Think carefully and try to come up with an answer without running the code. Then check yourself :)

Tagged: planetpythonpython


19th March 2014


SmartGit: My favorite GUI interface for Git

I wanted to give a shoutout to one of my favorite tools that I’ve been using for the last few years: SmartGit.

SmartGit is a GUI interface to the Git version control system. (I assume that Git itself needs no introduction, but if you’re not familiar with it: It’s one of the best version control systems used in software development.) Actually, the full name of the software is SmartGit/HG, because it’s also able to handle Mercurial repositories.

Read More

Tagged: planetpythongit


11th January 2014


Support Py2+3 in two separate codebases: How to do it and why it’s great

Lately there’s been a lot of discussion about whether Python 3 is working out or not, with many projects reluctant to move to Python 3, especially big, mature projects that are in the “if it’s not broken don’t touch it” phase.

I still fully believe in Python 3, but this blog post is not about discussing 2-vs-3; I’d like to make my own modest contribution to the Python 3 cause by sharing with you my method of supporting both Python 2 and Python 3 which I use in my open-source project python_toolbox.

When I originally read about the different ways to support both Python 2 and 3, I was appalled. There seemed to be 3 ways, and all 3 had properties that made me not want to even consider them.

Read More

Tagged: pythonplanetpython


24th July 2013


$50 offered to the first person who solves my encryption challenge

I’m a bit disappointed that no one managed to solve my homebrew encryption challenge.

I’m now offering a modest prize of $50 to the first person to solve it, and deliver the plaintext. Contest rules are in the original post.

I’m also hoping that the winner will produce a write-up of how he figured it out, but that’s not mandatory in order to win the prize money.

Fine print: I maintain sole discretion to decide who is the legitimate winner, if any, and how to transfer the money. (Probably PayPal.)

Tagged: planetpython

All content in this website is copyright © 1986-2015 Ram Rachum.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License, with attribution to "Ram Rachum at" including link to
To view a copy of this license, visit: