Be Kind - Please Rewind Yourself

It's been a long time since I've really smiled while programming.  Fortunately, I've recently had the joy of being able to rewind myself to back when I started programming in 1997.

Let me explain.

At work, we've been looking to hire a PHP programmer that knows their stuff.  Since we've just started interviewing candidates and we already settled once for someone that won't be with us in the development area, I felt it was my duty to have some artillery for the interview process.  I was able to come up with some simple challenges that address core concepts I expect someone to know if they're going to be able to work on our project (thanks to Jeff Atwood and Steve Yegge).

In the midst of all of this, I came across some badly written C++ code that made me think about the joy I had programming in that language back in college.  Now, having access to Visual Studio 2010, you might think I started to work on some simple programs in my long lost love language, but instead I diverted myself and started learning Python. I really recommend grabbing a copy of Invent Your Own Computer Games with Python - Second Edition (available as a free PDF) and spending time just getting re-acquainted with how simple programming can be.  Truthfully, it feels like I'm back in high school learning to program with Turbo Pascal all over again.

Media_httpimgsxkcdcom_ucdmd

Media_httpimgzemantac_xzkyh

New Host + Blog Rekindling

As a PHP / MySQL developer using .NET and SQL Server, I've moved over to WinHost.com from ReliableSite.net.  It's a really solid option for those looking to get the most out of their providers, but be forewarned: there are some things you'll need to get your hands dirty with that you may not be used to (like setting up sub domains via IIS).

Overall, though, for $5 a month, I think having PHP5, a MySQL 5 database, .NET 4 support, as well as a SQL Server 2008 database, is definitely worth the price of admission.

Now my blog is hosted on my own domain, and I've got enough options to make sure that I can explore whatever development paths I desire.

Retrospection

Some people really enjoy the work they do, and while generally that is true for me, I find that there are times where the grass definitely seems greener somewhere else.  Especially when I see things like job postings from Microsoft.

Don't get me wrong, PHP has served me well over many years but there's the major issues I have with it that really causes me to yearn for something better.  If that means learning .Net in my current job position (or on the side, which looks likely), then I seriously need to get to it.  I should also point out that I was forced to learn PHP as a job requirement 5 years ago, just like I was forced to learn Java for a programming class in college I barely squeaked by in.  I should note that I never felt forced to learn C++ as I fell in love with it as I got high A's, and even VB6 was a joy at times.

It seems for all my love of the programming style of Microsoft's languages, I've been forced into other areas - specifically this PHP one.  My first real programming gig was PHP / MySQL on Apache on Xserves.  My second programming gig was initially PHP / MySQL on Apache on Xserves, and has migrated to PHP / MySQL on Apache on Server 2008.  If I can migrate to at least ASP.net / C# / MySQL on IIS on Server 2008, I'll have made lots of progress.

But one thing I've never truly done well is being steadfast in pushing forward in one area when feeling comfortable in another.  Sure, we migrated from Apple Xserv's to Windows Server 2008, but that's because it was my only chance to throw myself a bone, as we needed to get some sort of managed hosting.

PHP works and I'm comfortable, why change?  There's so many reasons why I still use PHP instead of ASP.net / C#. For one, because I feel like starting a rewrite of our current web application is something that can never be completed.  I am only one man (and there is nobody else) and with my current implementation plans on the PHP side of things, I feel like having to redevelop these items plus re-implement the system from scratch could cause.  For two, I'm having a bugger of a time getting .Net 3.5 setup properly on our machines.

Learning new stuff shouldn't be an issue, but it is.  And it's not like I don't have the tools - I have digital copies of C# 2008 and Learning ASP.Net 3.5 with C#. I've gotten into the BizSpark program so I have access to all the developer tools I could ever need, including Visual Studio 2008 (and the soon-to-be-released 2010).  I even have access to some great hosting I hardly utilize over at Reliablesite.net, and to top it all off, we've even migrated to Windows Server 2008 for our production web servers that are utilizing Apache for PHP and MySQL.

Instead of taking charge and leading the way, I've felt small and unimportant in my role at work.  I'm currently struggling with a module implementation that I keep wanting to put off.  The economy hasn't helped as I have tons of responsibilities that have been added during my tenure yet I've gotten only one raise and only when it was a mission critical moment (when my CTO was let go and I assumed many of his responsibilities). And when I'm at work, I'm fully secluded (which is great) but I make up the IT team nearly 100%, so there are no programmer or even techie co-workers anywhere close to where I am relegated to exist.

I guess, in short, it feels like I have been a passenger on this journey, just along for the ride, allowed to offer advice for directions at time, but never fully in control.  I think it's time for me to take the wheel.

Note To Self: Why I Am Using ASP.net with C# Instead of PHP

Here's a few reasons I'm using ASP.net using C# instead of PHP for my zip!Contacts project:

  • I work in PHP everyday, and it's much easier to come home and not have to do the same thing I did all day.
  • I fell in love with coding when I learned C++ back in 2003.  ASP.net reminds of that.

Now, some will tell me that PHP is faster performance-wise, etc, etc.  Well, I can worry about system speed and more later on.  Right now, the primary reason I've chosen ASP.net is that I enjoy it.  Plain and simple.

If I can't get myself excited about the working on the project, it will fail, and this time, that's not going to happen.