introduction

Get ready for some shameless self-plugs as I dive into my personal history. This will be the first and last time.

If you're looking for my CV, then look no further.

I live in Manhattan. Playing music, programming, visiting the American Museum of Natural History and walking through Central Park are just a few of my hobbies. I walk just about everywhere because it's healthy and fun - there's a lot to see in the city.

when floppy discs were floppy

Sometime before the age of 8 I had written my first program. It was on the Commodore 64 and I wrote it on my home computer in an attempt to make my first video game. Well, video didn’t really enter into it. The program randomly selected numbers and printed them on the screen, one per line, as fast as the computer could produce them. “No-whammy, no-whammy, no-whammy, stop!” The random-number generation stopped along with the press of a key and the number at the bottom of the list was the number of points the player received. There was no end to the game or to the amount of fun you could have with it :p My teacher was so impressed that I was able to get out of some lectures for two days so I could rewrite the program on the in-school computer (equipped with a tape drive :) for the students at recess.

Kickstart 1.0

From the '64' I went on to programming the Commodore Amiga with my Amiga Basic spiral-bound reference book in hand. Not only could I impress my friends with that now all-too-familiar robotic computer voice by programming a phonetic language, well before Nintendo could ‘talk’, but I also created text-adventures for fun with my cousin. CFO (Comic book File Organizer) was one of my first attempts to write a program with a GUI. Unfortunately, the first screen with some menu options was as far as I got. The graphic arts were also a hobby of mine. Armed with Aegis Animator, Digipaint and eventually dabbling with Deluxe Video I learned about computer graphics and general software use and design.

learn and earn

Since 2nd grade I’ve matured a lot with respect to my programming expertise, at least :). I've been a professional software developer for almost 20 years now with experience programming on platforms ranging from advanced millwork machinery to Windows desktop applications, including intranet web portals and e-commerce websites. I’ve worked for several companies in Long Island and New York City using technologies such as Microsoft Visual C#, Reactive Extensions, WPF, WCF, ASP.NET, ADO.NET, Visual Basic, Visual Interdev, ASP, COM, DHTML, Direct Animation, JavaScript, VBScript, Managed DirectX, Microsoft Office automation, Sql Server and various source control systems. Currently, Visual Studio 2013 is where I focus most of my time developing applications for my clients using C# and a hybrid architecture consisting of the most relevant OOP, reactive and functional programming techniques. Relational database design and implementation has also been a big part of my daily activities for many years, specifically with Microsoft Sql Server, though more recently I've been investigating distributed algorithms and noSQL instead. My competencies in C# were acquired through experimentation, practice, community forums, public news groups, web sites such as MSDN and some books, all starting with the original .NET Framework beta cd and notepad in the year 2000-ish. The entire surface area of my computing knowledge from the Commodore 64 to .NET has been acquired without the need for any formal education.

However, I completed Erik Meijer's Introduction to Functional Programming course using Haskell in 2015, offered by DelftX (Delft University of Technology through edX).

My certificate of achievement is available for online viewing.

certifications and awards

I'm an MCSD (Microsoft Certified Solution Developer) in .NET and I've earned a few awards from Microsoft (see column to left) for my contributions to their forums and documentation over the years, especially the original Reactive Extensions for .NET (Rx) forum.

community

Open source projects are a hobby of mine. Look for projects that I've started or in which I participate under my aliases:

Answering questions about Rx to educate others and myself is another hobby of mine. I keep lists of my favorite Rx questions and answers and my #RxTip tweets. As noted above, I've earned a couple of awards for my contributions to the forums. Nowadays, new Rx questions mostly appear on Stack Overflow, which isn't my favorite Q&A format, though I'm particpating anyway and I can see the appeal.

For a while I had become a more active contributer to the Microsoft .NET public newsgroups in an attempt to give back to the community from which I've learned so much. But with my new open source projects it's been too difficult, admitedly, to do both. I prefer the open source projects since it's more fullfilling for me to produce free code then it is to produce free answers; however, you still might find me learning to improve my skills as a software developer engineer, and helping others to do the same, in the following news groups: