About Me

I'm a 20-year old software architect and developer living in Tehran, Iran. I love working with bleeding-edge technologies, buying cool gadgets, and listening to music. I regularly answer programming questions on Stack Overflow.

I study Computer Science at the University of Tehran. I'm about to graduate and I'm going to pursue my studies in a research-oriented graduate program.

While I've been coding as a hobbyist since I was 6, it was only after years later that I got the chance to get paid for having fun! I've spent the last 7 years designing and implementing software solutions, and occassionally, teaching and consulting. I enjoy learning a broad range of technologies but professionally, I've been mostly involved in solutions based on the Microsoft .NET platform, in which I specialize. I fell in love in .NET in its early days in 2002 and I closely followed its evolution ever since. I'm a Microsoft Certified Solution Developer.

My interest in computers can be traced back to when I was 4. I used to play games on my dad's  486DX2 (66MHz) PC. Being born in last days of the 1980s, I'm not old enough to have experience playing with punch cards, Apple IIs and other ancient machines but I distinctly remember the days when conventional memory was scarce and I had to spend hours tweeking configuration files and rebooting to free up some memory below 640K to play my games.

I became interested in programming because I wanted to create my own games. I wrote my first program in QBasic by typing in a code snippet from book covering an ancient variant of BASIC that I took from my dad's bookshelf. All I had was a QBasic interpreter as it shipped with MS-DOS and I had no idea that those variants of BASIC were different langauges. The program was supposed to play music. It didn't. Instead, the compiler outputted "Syntax Error". Not knowing BASIC, I started to delete every line with a syntax error and rerun till it ran correctly. It played a few notes with PC speaker. While  the music was absolutely crappy, I was immediately hooked. I taught myself QBasic and batch programming and for a considerable amount of time, they remained the only things available to me, along with the online help as I had no idea where I could get a compiler suite.