The people who use our boards.

Sardorbek Imomaliev

CTO and Co-Founder of ColdEmail.AI

Who are you, and what do you do?

Hi, my name is Sardorbek, Sardor for short. I’m the CTO of a Russian company called I’m also the co-founder and CTO of a newly-baked startup called ColdEmail.AI. (If you do a lot of outreach, we’re probably building the tool for you!) My primary expertise is in Python/Django backend development/DevOps, team management, process optimization, and resolution management. I love learning new things (my current interest is personal finances), contributing to open source, and helping on StackOverflow. I live in Akademgorodok, which is famous in the scientific community around the world for having lots of research institutes, Novosibirsk State University with a strong education system, and beautiful nature all around. Outside of my work, I like to spend time with my girlfriend, hang out with friends, and play volleyball.

What hardware do you use?

Sardorbek's hardware setup

I travel a lot so I’m used to coding without any additional peripherals, but recently I started to spend more time in our office in Novosibirsk so decided to invest in a keyboard to improve my typing experience. I had been eyeing the ErgoDox EZ for almost a year, so I already knew what I wanted. I used my birthday money to get a black ErgoDox EZ Glow with Cherry MX Brown switches, Wing wrist rest, and Tilt/Tent Kit. It is my first mechanical keyboard and I am really enjoying it so far. I have a pretty simple setup which is currently “work in progress”. I work on a 15-inch mid-2014 MacBook Pro placed on a laptop stand that I recently borrowed from a coworker. For a mouse, I use the Logitech G600. It has been with me for almost six years. I chose it because it feels very comfortable in my hand. I hadn’t used it much after I got my MacBook, but now it sits on my work desk beside my new keyboard. There is also an ErgoDox Satellite Silent (fidgeting with it helps me to think) and some usual stuff like my iPhone 7, pens, papers, earphones, etc.

Sardorbek's hardware setup

And what software?

I love CLI (command line interface) and TUI (text user interface) tools, so my primary dev environment is MacOS Terminal with the Zenburn color scheme. My text editor of choice is Neovim which I use in combination with tmux and some other tools like Midnight Commander. Feel free to grab some helpful bits of configurations from my dotfiles.

A bit of a shameless plug 😁: the other tool I use a lot is one I created myself a couple years ago called ptrepl. It speeds up CLI tools by making a REPL (read-eval-print loop) out of them. I was very annoyed with the fact that, a lot of the time, I use almost identical commands many times in a row, or that I can’t have command-specific aliases like in git. After digging around on the internet, I found repl, the OG (original) tool with the same idea. There were already a few similar ones, but they all lacked completion and alias features, so I decided to write a new one. Interestingly, while searching for tools that would help me solve my issues, I started looking into alternative shells and I stumbled upon xonsh. The thing that caught my attention was that it was written in Python and had a Python interface for bash-completion, which was exactly what I was looking for to put in my tool. After some discussion with the maintainers, I helped them decouple this feature from the xonsh source (PR and repo).

I work on multiple projects almost all the time. That’s why I use various internet browsers for different projects; it helps me switch between contexts, bookmarks, and logins more easily. I also install mobile versions on my phone so that I can look up work stuff when my laptop is not with me. I am currently using Safari for my personal browsing and Firefox and Opera for work.

What’s your keyboard setup like? Do you use a custom layout or custom keycaps?

Sardorbek's ErgoDox EZ Glow

I haven’t done any hardware customizations to my keyboard yet, but I plan to add a layer of soft material under the keycaps to make it quieter. I’m just getting into mechanical keyboards, so there’s a lot to learn and to try out.

I am a happy user of the Colemak layout for the last 3.5 years. I always felt that QWERTY was uncomfortable for me, so I started looking for alternatives. I don’t remember exactly how and when my search started, but at first I was planning to try out Dvorak because my colleague had recommended it to me. I didn’t like it because it was too different from QWERTY and would have taken me a lot of time to learn, so I stayed on QWERTY. After about half a year, my annoyance grew to the point I was ready to switch to Dvorak, so I started to research how to make a switch to it without hindering my ability to work. At that time, I found out that there are also other alternative layouts. After reading through the forums and websites, I chose Colemak. I’ve liked it from the start: its design philosophy, wide range of OS support, an active community, and a much easier learning curve. I failed at my first attempt to use it daily — my work performance suffered severely — so I switched back. After a couple of months, I decided to try again, but this time, before using it as my primary layout, I set it as secondary one and started to practice it on TypeRacer every day to get comfortable. Two weeks later, I made the switch and never looked back.

My current keyboard layout (shown in QWERTY because the layout is set in my OS) is aimed at better vim/tmux usage and for lessening finger travel. I am continually improving it and trying out new key placements and hotkeys. The ErgoDox EZ changed the way I approach typing and using a keyboard. I now also use Karabiner modifications on my MacBook keyboard to use the Colemak angle mod. I remapped the B key to Ctrl+B, which is a prefix for tmux, and added Space-Cadet shifts (for cases when my external keyboard is not with me).

Sardorbek's keyboard setup

What would be your dream setup?

I would like to get a Planck EZ and a Logitech MX Ergo because I’m interested in seeing how a 40% keyboard and trackball would help me improve my performance. I try to use a keyboard without a mouse as much as I can, so I spend time learning hotkeys for tools, or creating new ones. I would describe my approach as “Program your programming”. I’m always looking for new ways to optimize my workflow and for better tools to do the job; sometimes I end up creating new tools like “ptrepl”. I don’t have a dream setup, per se. I plan to test out a sit/stand desk so that I can sometimes work standing. I also would like to use my limbs and fingers for text input as much as possible. For example, I would like to have some footswitches to enter and leave vim modes, and maybe learn stenography with Plover.

© 2022 ZSA Technology Labs, Inc.