Ram Rachum

"Live as if you were to die tomorrow. Learn as if you were to live forever." -Gandhi

Welcome to my personal site. Here you'll find links to various things I've created over the years.

My blog


PySnooper — A poor man's debugger for Python.

PythonTurtle — A program that helps children learn Python. Over 100,000 people downloaded this software, and I'm very happy I could help so many children get interested in programming.

Combi — A Pythonic package for combinatorics.

Python Toolbox — A collection of general-purpose Python tools.

Git Cascade — Useful extension scripts for the Git version control system.

My GitHub account


General / Philosophy

Making order in chaos: The good way and the bad way

On changing the world

Dialogue about Nibbana

Non-technical articles about technology and entrepreneurship

Technology principle: The toy will win

Thinking of your software as a butler is difficult but important

The miserable programmer paradox

Why making a cool project is a good idea for an aspiring software developer

GUIs kick CLIs' asses

The wall

Feeling smart

My hobby: Following up on entrepreneurs

The value of a startup idea, or "Are startup ideas worthless?"


Python idiom for taking the single item from a list

The next revolution after Git

Is "counting code files" a good alternative to "counting lines of code"?


Transformations for an accelerated observer in Special Relativity

The Relativistic Electromagentic Force


Indescribable numbers: The theorem that made me fall in love with math

Generalizing the concept of median — The medimean, the n-dimensional median, and the n-dimensional weighted median.

A nice proof of Bolzano-Weierstrass

Eyal's Protein Conjecture — in which I tackle a conjecture given by my friend Eyal.


A man and a cat

שברי חלומות (Hebrew)


My performance of Portrait of Tracy

About me

Ram Rachum, born 1986. Born-and-raised Israeli. Python software developer.

A short history:

At age 19 I decided to study mathematics independently, without trying to obtain an academic degree. My goal was to learn mathematics as deeply and as efficiently as possible, as long as I'm still young. I've used books, online materials and video courses from a university, as well as auditing university courses. The freedom from having to conform to academic conventions was very helpful for me in my studies.

After 2 years, at age 21, I came to the conclusion that I've studied enough mathematics. I felt that I have mastered the ability to create a suitable mathematical construct for any problem I might encounter. To that extent my math studies were a success. At that point I felt the urge to apply these skills to something more practical.

Therefore, at age 21 I have started studying physics, independently as well. The goal of my physics studies was to understand the laws of the universe. The learning methods were a bit similar to those I used in mathematics, except with physics it was less about absorbing information and more about creating it.

At the same time I started studying physics I also started programming again, using Python. It was important for me in order to program physics simulations.

I have studied physics for about a year and a half. I've reached some deep understandings and authored a paper. I was disappointed with modern physics' disinterest with objects' positions, velocities and accelerations.

I quickly became proficient enough in programming to make my living as a software developer, mostly in web programming using the Django framework. I was getting gradually more disenchanted with physics and gradually more enchanted with programming— Mostly because of how dogmatic the physics institutions are, and how much more satisfying and profitable it is to be a software developer rather than a physicist.

Nowadays I'm getting into my late twenties. I'm not as interested as I used to be in expanding the limits of human knowledge. It's a bit sad, but I guess it's for the better.

My main interest is increasing my productivity in my day-to-day work and developing my career.

I'm sometimes available for contract development jobs, go here for more details. I give Python workshops. (Hebrew website.)

Why “cool-RR”?

People sometimes find my internet nickname “cool-RR” odd. I assure you I am not a rapper. When I was a child in the 90's taking my first steps on the internet, I wanted to sign up to some chat website and my favorite nickname “RR” was taken. I went with “cool-RR” and I've been using it ever since.

Email: ram@rachum.com

All content in this website is copyright © 1986-2015 Ram Rachum.