Ian Landsman

Home · About Me · Twitter (daily updates) · Most Popular Articles · Search
My primary postings are now on Twitter, please follow me there: @ianlandsman

Winer and Podcasting

Dave WinerDave Winer has a big rant this evening about how he should be given credit for creating Podcasting. I'm a huge Winer fan and have been reading him for several years, but I believe he's just wrong in this case. He should indeed be given credit for RSS on which this is all based as well as given a footnote for helping once Adam Curry got things rolling but not for the actual invention.

I guess the major problem I have with the rant is this line "The iPodder software was the first software to handle enclosures specially for iPods, but Radio UserLand had support for time-shifted enclosures in its first release in January 2002". Nobody disputes this but that doesn't mean he should get the credit. The fact is that the spark that launched Podcasting IS the fact that Curry hooked it into the Ipod. Yes Dave invented the underlying technology and yes if he HAD written a script to make Radio push media files onto Ipods he would be the inventer but he didn't. I just don't see how he can make this leap. The genius is in the fact that Curry took all these existing technologies and then wrote the code to hook them all together and push them to your Ipod.

Here's another: "Even though Adam gives me credit for the RSS work I did, he didn't actually give me credit for the software, or for the podcasts we did at Harvard in 2003, and my own personal podcast stream starting this summer". Again Dave calls his mp3 audio tracks he created this summer Podcasts and expects to be given credit for them but they wern't Podcasts. They were just mp3's like millions created before them. Sure there was an enclosure element in the RSS feed but there was no software, by Dave's own admission, which could take that mp3 and put it on your Ipod without any human interaction.

I'm not trying to take anything away from Dave's contribution but it's just the way I see it.
-----
Created on 10.30.2004 12:10 am · Comments (0)


It’s a Queue

In response to Jeremy's post mine is always a queue. I would also like to add that I have noticed that most people who use email in queue mode also view mail in the preview window, while those who treat it as a stack tend to click on the mail and view it in full window mode.
-----
Created on 10.29.2004 12:10 am · Comments (0)


Hotel Broadband Connections Stink

They just do. It's never just as easy as plug and go. I've had alot of trouble with lodgenet at various Starwood hotels. I was heartened to see Geek News Central let their dollars do the talking. Someone should start a directory of the best internet hotel connections in each city.
-----
Created on 10.26.2004 9:10 pm · Comments (0)


__FILE__ and __LINE__

__FILE__ and __LINE__ are your friends. Not sure why this is but when I first started with PHP I never made much use of these constants, how wrong I was! These babies have saved me hours of painful work since I began adding them to my error handling. They are great for tracking down tricky bugs.

For you new programmers __FILE__ gives the full path name of the file where it's used and __LINE__ of course gives you the exact line your on. You do need to be careful because if you use these in a function they will return the file name of the file the function is declared in and line of declaration as opposed to the file and line where you called the function, which is probably what you really wanted. I often work around this limitation by passing file and line into a generic error handling function. Example:

errorLog('error message',__FILE__,__LINE__);
Created on 10.26.2004 9:10 pm · Comments (4)


HelpDesk Stories: Virgin Trains

Another good example why I don't believe in overly automated helpdesks and am not a big fan of Knowledge bases either. Why can't they just have an email address or a very simple webform?

Anyway, Kevin tries to do the right thing by letting Virgin know their SSL certificate is out of date, but has to jump through 10 hoops to do it. Businesses tend to forget that their helpdesk is their front door. It's often an initial point of contact with existing or potential customers. Does your helpdesk leave a good impression with your customers or are your customers leaving to write blog postings like his?
Created on 10.25.2004 11:10 am · Comments (4)


Safe is Risky

If your not reading Seth Godin and your a small ISV you need to be. He's got the best marketing idea's going, most if not all of which are easily done with the small budget most of us have. I plan on using alot of his ideas as the launch of HelpSpot gets closer. Some of his ideas are already in progress (like taking time out of coding to write this blog!)

He occasionally does workshops as well, which I highly recommend if you have the chance. I've been to one and it's well worth it. If you can't make that at the very least go out and get his book Purple Cow, it's a must read.
-----
Created on 10.22.2004 4:10 pm · Comments (0)


Data Normalization

"I?m always amazed at the number of people doing database work who don?t know anything about data normalization." - Joseph Scott. Nice little page about DB normilization via Joseph Scott.
-----
Created on 10.20.2004 11:10 pm · Comments (0)


High Performance MySQL

HP MySQL got slashdotted today, I've had the book since it came out. It's already been a real life saver several times. I especially like that it's compact. All the information you need is right in there yet they managed to keep it from being a cinder block. In fact it's been my carry on reading for several flights. Does that qualify me as a total geek? My wife thinks so.
-----
Created on 10.20.2004 3:10 pm · Comments (0)


HelpSpot Update: Mail integration

Now that we've got the general application framework in place, things like authentication, error handling, etc we're moving on to some of the core functionality. The ability to pull messages in from multiple mailboxes is a primary feature of HelpSpot. We have to reliably pull in messages from multiple mailboxes and then have those messages be posted as requests to the general help desk queue or optionally be assigned directly to a particular person. For example, I may have a mailbox called . Since I know Phil always answers desktop questions I can avoid having messages in this box go in the general help desk queue and instead assign them immediately to Phil. This has a huge impact on response speeds. Not only does the question get to Phil faster, but it's also one less request the help desk team needs to review and forward.

This sounds fairly easy to do but it gets complicated fast. The mailbox itself might be pop3 or imap, it could be over a secure connection perhaps it's not always available. We need to write code for all these situations. Once a connection is established the fun really begins. Actually working at this low level with email gives me new found respect for dedicated mail applications like Thunderbird and Outlook. There are just so many pitfalls and possibilities to consider. Of primary concern are determining if the message body is HTML or text, are there attachments, if there are attachments what mime type are they, are they nested, are there inline mime objects as well, etc. Whew.

As I mentioned the other day, PHP could use a little more abstraction in this area. The IMAP extension which handles all this stuff works reliably but it still leaves you with alot of code to write to implement these things and since almost everyone working with mail wants to do the same things it would be better done if pushed down into the C library. Anyway, I'll leave you with a sample of the code you would need to pull out email with attachments in ColdFusion:


<cfpop server="mail.company.com"
  username=#myusername#
  password=#mypassword#
  action="GetAll"
  attachmentpath="c:tempattachments"
  name="Sample">


Created on 10.19.2004 11:10 am · Comments (1)


HD Stories: The Interview

"Still helpdesk and it'll still *SUCK* profusely" - from Shades of Grey
Created on 10.18.2004 11:10 am · Comments (1)


A short review of Textmate

Textmate has taken the OSX coding world by storm over the past few weeks so I thought I'd download it and give it a go. I've been using BBEdit for a long time however I wasn't too impressed with version 8 (especially the terrible alphabetically ordered drawer implementation) and it's really freaking expensive, so I was open to trying something new. So here's my really short review:

Likes:



Dislikes




Overall I like it, especially at the $40 price point. I'm pretty sure most of the problems will be addressed in future versions. I'm going to start using it for development, though I'll still keep BBEdit 7 around for large global replaces or file searching.
Created on 10.18.2004 10:10 am · Comments (1)


HD Stories: Toshiba 2400

"The devil lives inside of a Toshiba Satelite 2400 laptop." - from Voodoo Prophet
Created on 10.18.2004 10:10 am · Comments (1)


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 <cfparam> 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:


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

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.
Created on 10.16.2004 12:10 pm · Comments (2)


GDS

"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.
-----
Created on 10.16.2004 12:10 am · Comments (0)


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 wink
-----
Created on 10.15.2004 10:10 pm · Comments (0)


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.
Created on 10.15.2004 9:10 pm · Comments (2)


Motivation


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!
-----
Created on 10.14.2004 8:10 pm · Comments (0)



> RSS 2.0
> Blog Archives (complete list)
> HelpSpot Mailing List

Copyright © by Ian Landsman

Design by Jakob Nielsen