I was introduced to programming in 1991, during my first year as an undergrad at the Indian Institute of Technology, Bombay. The CS101 course lectures were conducted in a huge auditorium. We never missed these lectures. It was air-conditioned, and the professor dimmed the lights at the start of the lecture. This was a much better place to sleep than the dingy hostel room. The course required us to write programs using Fortran 77 in a computer building, on consoles connected to a mainframe we called “Cyber”. The Cyber building was also air conditioned, and to escape from the sweltering heat of Bombay, all you had to do is find the right nook to hide yourself within Cyber’s maze of cubicles, monitors and rectangular slabs bristling with lights. You were safe as long as you avoided the prying eyes of the security guard trained to eject loitering undergrad riffraff from the building. The other grave danger you faced in Cyber was that someone would steal your footwear, which you were required to leave outside the building. I don’t recall finishing a single assignment for the course successfully, and my final project, a ghastly implementation of the “Snakes and Ladders” game, left a lasting impression on the examiner. This experience should have made me hate programming for good. Thankfully, that did not happen. I eventually discovered the joy of programming on my own by fiddling around with “Turbo C” graphics on 386 PCs at the tiny computer lab in the Metallurgical Engineering department.
My interest in computer graphics continued as I pursed my Masters in Materials Science at Penn State University. Messing around with OpenGL in grad school helped me land a job in California during the big software boom of the 90s. I’ve been working on computer graphics and scientific visualization since then.
Another passion I have in life is electronics. I started writing about my experiments with embedded hardware in 2010, and in 2015, No Starch Press published my book Python Playground - a collection of projects in art, music, computer graphics, simulation, and embedded systems.
From 2016 to 2019 I ran a small consulting firm called Electronut Labs. In three years we built some interesting open source hardware, and custom devices for a number of clients. It was an exhilarating ride, and you can read more about those adventures here.
electronut is a culmination of my interests in programming and embedded systems.
These days I spend time consulting on 3D computer graphics, hardware hacking, and writing.
You can find me on Twitter at @mkvenkit and @electronutlabs.