Winer and Podcasting
Dave 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.
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.
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:
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.
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?
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.
“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.
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.
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 [email protected] 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:
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:
<br /> <ul>
<br /> <li>
The project drawer. Makes finding and working with your files super easy and logical. A thousand times better than BBEdit 8's.
<br /> <li>
PHP syntax highlighting. It's doesn't yet cover all the syntax (like the imap library), but it looks great out of the box.
<br /> <li>
<br /> <li>
<br /> <br /> <li>
Soon to have svn integration
<br /> <h3>
<br /> <ul>
<br /> <li>
Logo, come on that thing is terrible. How can I set it to be the default app for my text files if I'm going to have to look at folders full of that icon? It's waaay to busy.
<br /> <li>
UI needs some work. Many options are only available by digging around in text files and making config changes. Ugh. Who has time for that? Put everything in the menu's. Also can I have a preferences option? What kind of app doesn't have a preferences option?
<br /> <li>
The find and replace is almost silly compared to BBEdit. Nowhere near enough power. The box is too small, no ability to search outside of the project across other folders, etc etc
<br /> <br /> 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.