Ramadan Coding

In the month of Ramadan, Muslims who observe fasts don't eat or drink from sunrise to sunset. As a kid, that meant breakfast was two hours earlier.

I never liked sleeping when the sun was out, so I would spend the time on the home PC. A 16 MHz 286 Turbo, with an actual button to toggle the Turbo.

I couldn't play computer games in the morning, because my cousin would be studying next to the computer. So I started studying the QBasic manual, and quickly learned about Gorilla.BAS (Worms or Angry Birds), Nibbles.BAS (Snake on Nokia phones).

Gorillas - my first game in QBasic 

To the joy of my poor cousin, I built a beat-box using the computer's internal speaker. What started with a looped set of beats eventually became a keyboard controlled beat boxer. Man, I wish GitHub was around then.

For x% = 1 TO 10
Print x%
Sound 32000,18.2
NEXT

I coded websites in notepad during middle school, and my own apache web server in university. The web server would text me when my IP address changed (so I could listen to my music from anywhere, lol). I also tried to learn PHP, but that was the only language that I just didn't get. Lucky, I suppose. :)

Another product I built for myself was to connect my MacBook to the university computers (ssh, Xterm, Emacs & some Sun product) to pull all-nighters building from my apartment vs. the computer lab.

There was also a mouse driver, which I built over a semester but it still didn't have the right click. When I later learned Javascript years later, I did the same functionality with three lines of code. I was pissed at how easy it had become. What I was really pissed about was that anyone with a keyboard was now a coder.

Another project was an intrusion detection system for computers (in case someone wanted to steal your precious emails) that looked for anomalies in keystrokes & mouse movements. Just basically looking at variances in typing speed, scroll rates & double click speed to identify an irregular user.

After university and a couple of years of software engineering, I was promoted into 'management' roles where I coded less & less. Got into an MBA program (which was my goal at that time), and got the coveted consulting job.

I coded a mobile app that summer to reduce my mobile bill, by overriding the end button on a Blackberry to show you the run rate e.g. If you keep calling people at this rate, your bill overruns will be $200. Here's a document I found in my email (sadly, no screenshots) although I do recall giving a demo to all my friends one afternoon – Demo Day in 2009.

From the BillMinder business plan which did not include screenshots lol
from the Bill Minder business plan which did not include screenshots lol 

I wanted to live and work in Dubai, and work on serious business problems. I "sold" the prototype & business plan to a friends' friend – My first exit :)

The buyer made me delete all the files & code from my computer which I thought was funny. But he insisted, and I wondered: If I wrote it once, I could write it again. Probably a little better.

Consulting was hard work and incessant travel, and I realized that powerpoint, meetings & emails are unproductive, no matter how high up in the organization.

Powerpoint, meetings & emails are unproductive, no matter how high up in the organization.

As Ramadan approached, I bought an 11in MacBook Air from Copenhagen Airport that fit nicely alongside my work laptop. During unboxing, I noticed it had a Danish keyboard 🤦. I started tinkering again at Suhoor & on flights.

MacbookAir 11" - English Keyboard

That 11in laptop was the computer that we built the first prototype of  what became my startup Kiwi.ai. It was at a hackathon which was an Arduino board with a pulse oximeter over bluetooth to a Ruby on Rails app (again no pictures, lol). What was funny was that I was the only one who could use the Danish keyboard and had working rails install, so we pair programmed without realizing it.

A wonderful DK keyboard layout

Its Ramadan again, and I'm up writing code, and this blog post. Its to document the fun times on my journey as a coder. I've never called myself a coder, but I suppose its never too late.

I'm a non-conformist coder, more a hacker than a software engineer.

I still love building things in Ramadan as much as I did as a kid before school. I code outside Ramadan too, sometimes with my kids.

We built this cool little calculator, code here while pairing in Figma & VSCode.

lovely math - click the image to try it out

If you want to get back into coding, try out exercism.io. It's the easiest way to get started again, and gives you points as you learn a new skill. Also,  https://replit.com/ is the fastest way to build and learn with someone.

Our careers will be longer, and demand for coders will grow further. Talent is distributed all over the world, the internet enables more people to work on their own terms.

Ramadan is a month of giving, so please consider donating, particularly to COVID relief campaigns in India. If you have crypto, consider donating

https://twitter.com/sandeepnailwal/status/1385968554508488709?s=20

Ramadan Kareem to you and your loved ones. I wish you a year full of truth, health & wealth.

Notes:

  1. Maker, hacker, coder, programmer, developer, engineer, ...  are labels for someone who can design & build beautiful software from scratch or by re-mixing existing ideas/code. their common quality is that they are relentless when solving problems
  2. I use coder because it simply means someone who writes code. good or bad depends on how much freedom they have in their role.
  3. In my experience,  freedom : beautiful software
  4. Labels in [1] are in decreasing order of freedom from left to right.
Show Comments