hd stories the interview

                    <i>Still helpdesk and it'll still *SUCK* profusely</i>" - from <a href="http://www.livejournal.com/users/alysania/64011.html">Shades of Grey</a>

choosing a development lang php vs cf vs py

Though I’ve already made up my mind as to which language I’m going to use for my companies new software product I thought working through my thought process might be helpful for others. First let me describe the technical requirements.

My software, HelpSpot, is a help desk application for small to medium help desks. As such the applications primary technical specification is that it be flexible. Help desk managers will usually not have alot of say as to what platform their support software runs on. So HelpSpot MUST run cross platform. Now my preferred database would be MySQL, however, MySQL is not nearly as popular on Windows as Linux/Unix/Mac so we need to support SQL Server as well and while we’re there supporting Access is probably necessary. So we’re up to 4 operatings systems and 3 database servers. Whew.

mac setup

OK. Let’s move through these:

Python, Ah this is a beautiful thing isn’t it? Alas though I’ve purchased many books on it and done some small apps I just don’t know it well enough to use it for a professional piece of software. It’s fantastic to program in but I find it’s just always out of reach. Perhaps for the next project.

ColdFusion. I looove CF. Nothing is faster to develop in. Don’t let anyone tell you otherwise, it’s simply the most productive web application programming language available. Need full database abstraction? No problem, need an interactive flash graph with drill down capabilities? How about doing that in 1 line of code! Contact a mail server with 1 line of code and get a query object back with all the message info. What about integration with a bad ass Verity search engine for FREE. Good localization support, utf-8, etc. But……

HelpSpot is going to be download software. HelpSpot needs to run everywhere and CF is a big ticket item. The base version is about $1000 and the J2ee is up to $6K. Hmm. So now the price goes from sub $200/user to $200+$1000 for a 1 user installation. That’s not going to happen. Not to mention that the poor Help Desk managers not going to get the “server guys” to install and support a new app server (at least not without about 400 meetings, which also won’t happen). Limiting the product to existing CF installations takes a big huge chunk out of the potential customer base, which is death for a product like this. Also the CF market doesn’t contain much in the way of downloadable feature rich software. Mostly it’s code widgets or a few general things like forum software. So in the end I have to turn away from CF as well.

This leaves us with PHP. PHP is certainly hot right now and it’s probably the language I’m most proficient in. I’ve used it almost exclusively over the past 2 years. It doesn’t have great localization support, no one line of code to connect to a pop mailbox, no built in fancy flash widgets. It is however very flexible, relatively quick to code in and is installed everywhere. It’s free, at least in the marketing sense if not in the TCO sense and most “server guys” I know will balk less at getting it up and running. It runs cross platform fairly well and supports the necessary DB’s.

I was somewhat hesitant at using PHP because of the current state of the app server. Being as this is a transitional period between version 4 and version 5 that makes things a little more complex. But after reading up on it I think we’ll be able to produce solid code that runs on both 4 and 5 effeciently.

Well I’ve gone on too long. Tune back in as I plan to update the development of HelpSpot as I go. I hope to learn a thing or two from your feedback and comments.

development tips

Alex King posted a nice tip I use alot about imploding an array to make a separated string without having to worry about having an extra separator left on the end.

One thing I’ve noticed alot in PHP is people not initializing their variables. I’m not sure why this is but it’s really important to do. Coming from a CF background before PHP I grew very used to doing this with the extremely easy tag. My replacement for this in PHP is to put the following code at the top of my scripts for each variable, especially ones coming from an external source:

$page = isset($_GET[‘page’]) ? $_GET[‘page’] : ‘home’;

So if the variable page is set then place it in the local $page variable otherwise set it to some default. It’s also possible to expand on this and do some other types of data checking right here, for instance:

<br />
$id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? $_GET['id'] : 0;<br />

Here we’re checking to see both if $_GET[‘id’] is set and if it is numeric. If it isn’t we set to the default of zero.

dual samsungs

Umm I love my dual Samsungs (see below). If your a programmer go out right now and get a dual monitor setup. I just purchased the 2 screens and the G5 about a month ago and it’s best money I’ve ever spent. I’d say my productivity is about double using the new setup. I like to have alot of applications open so having the 2 screens is a real time saver.

I also purchased the AlchemyTV DVR which is great for watching the playoffs while I’m working 😉


“The only advantage Google has over other desktop search is tight integration with their website. While some people seem to be impressed with seeing the word ‘Desktop’ added to the Google homepage, I think the tight integration and blurring of the line between the Web and the desktop will result in confusion and concerns with little gain for Google.” Don Park. I couldn’t agree more.


Well I had a big spiel all planned out for my first posting, but then I read Adam Curry’s latest post (go ahead and read it, I’ll wait. You may need to get caught up on Podcasting if for some reason you haven’t heard about it yet)

I realized right then I had to scrap the entire thing. Why? Because it’s so damn inspirational that I just need to dedicate my first post to him. Which is rather funny in it’s own right, who would think the big hair dude from my youth would be my technology inspiration?

Anyway, alot of this weblog is going to be about working in technology, developing applications for small business, being a small ISV and all that happy stuff. To be successful you need to LOVE what your doing, you need to be motivated, you need to be willing to drive to a local high school and steal (uh borrow) their bandwidth to upload your latest work of art. That’s what it’s all about! If I can move forward with half as much heart and dedication in the projects I’m working on it will be a stupendous achievement. Thanks Adam!