About
About Me
“Simple things should be simple, complex things should be possible.”
– Alan Kay.
Hi! My name is Amir Rachum and I’m a Software Engineer. Computers are one of the most important aspects of my personal life, as well as professional. They are what I love doing - using, experimenting, getting excited with how cool they are.
You can contact me at amir@rachum.com
I consider Python my main programming language, though in my current job at Google we mostly use C++ (I don’t like it nearly as much). I love Vim as an editor, but it’s 2016 2018 2021, so I use its keybinding with whatever IDE I happen to work with (I like JetBrains’ products, but mostly use Google-internal stuff these days) I love Linux for work and Windows for pleasure (i.e., Civilization V Factorio and RimWorld). When using Linux, I’m a zsh guy, but bash is also fine.
I also use some Java, sometimes for Android development, but it’s been a while. If you put a gun to my head, I might be able to remember some languages I toyed with in University, such as C#, ML, Prolog, Squeak, Tcl or Matlab. Though their paradigms stayed with me, the syntax knowledge did not.
I’m into personal productivity and self improvement. I organize my life with Getting Things Done and I use Todoist to do that. I organize my thoughts and notes with a variant of Zettlekasten using Obsidian.
Methodologies are important to me. Even on one-man projects I’ll use source control (I like Mercurial better than Git, but I’ll use Git for open source because GitHub) and whatever Continuous Integration tool I can get my hands on (Jenkins, Bamboo, Travis-CI). I have several years of experience with Scrum, but I’m not a stickler - the methodology should adapt for the team, not the other way around.
I am a member of PyCQA - Python Code Quality Authority. It is an unofficial organization that is an umberalla for various code quality tools for Python, such as pylint, pycodestyle (formerly pep8), pyflakes and more. I am in the PyCQA due to my ownership of pydocstyle (formerly pep257).
Projects
Pydocstyle - Python Code Linter for Docstrings
Pydocstyle is a docstring linter for Python. It parses Python code and emits docstring convention violations.
It is my largest side project and a big step for me in the open source community. Pydocstyle (formerly pep257) was originally authored by Vladimir Keleshev. I opened some PRs until I was appointed maintainer and finally, received full ownership.
Booksidian - Create an Obsidian note for a book, from the book’s Goodreads page
A Chrome extension for taking easy book notes with Obsidian. This extension allows you to customize the note’s title and content based on the book’s parameters (short and full titles, authors, etc.)
yieldfrom
- A backport of the yield from semantic from Python 3.x to Python 2.7.
It also supports Python 3.x so it can be used as compatibility library for code that supports both major versions of Python.
Cameos
- Demystifying Speed Tooling (Google I/O 2019)
- Get faster with the new Speed report in Search Console on Google Search Central Blog
- Identify and fix AMP Signed Exchange errors in Search Console on Google Search Central Blog
- PyDev of the Week: Amir Rachum on MouseVsPython