Sunday, August 14. 2005
The Background
A few years ago I had a Neuros 20GB audio player. It met my two primary requirements: Linux-friendly and capable of playing OGG Vorbis files. I have ripped most of my CD collection to Vorbis format, and the files all sit on Linux at home because that's what Lynn and I use 95% of the time. The Neuros had other cool features, like its built-in FM broadcasting capabilities (a good match for our Mazda 3, which like seemingly every other car in the world does not come with a line-in jack for the stereo and compounds that limitation by not offering a casssette deck as the last hope of audio input), and stereo recording (from line-in, FM radio, or built-in mike). It was very hefty, and its interface was roughly hewn, but it made me happy -- until I flipped my bike and landed on my back, with the Neuros breaking my fall. For the last year and a half I have been salivating over audio players, looking for something that would meet the requirements of the Neuros in a smaller package with a better interface. And for the last year and a half, I have watched audio players add more useless features (like colour screens and stupid games) without a corresponding drop in price and with continually challenged interfaces.
The Setup
With a week at a cottage coming up, I was pressed into action. Well, actually Lynn was pressed into action and picked up a Samsung YH-925 GS as an early birthday present for me at my direction. Sadly, after going through the mandated full charge it refused to communicate with its fatter, older brethren (my server and my laptop).
- Linux recognized that some sort of USB device had been attached, but didn't know how to talk to the YH-925. Apparently it uses a proprietary protocol of some kind, rather than standard USB Mass Storage. That sucks.
- Windows XP didn't even recognize that a new USB device had been attached. That sucks even more.
Because step one of "getting to know your new MP3 player" failed utterly, I started packing up the Samsung and noticed the note in the box that pleaded "STOP -- IF YOU EXPERIENCE DIFFICULTIES WITH THIS DEVICE DO NOT RETURN IT TO THE RETAIL STORE: CALL 1-800-SAMSUNG". I would have called, too, if I hadn't already called earlier in the day to try and find out more about the player. Apparently they keep regular Monday-Friday business hours; of course, most people playing with their new toys are going to be playing in the evenings or on weekends.
The Saviour
Having lost faith in the Samsung, I returned it for the iRiver H10 20 GB MP3 player. The salesman didn't give me a hassle, confided that this was the third or fourth time someone had returned that Samsung model, and gave a thumbs-up to the iRiver as a player that customers seemed to be happy with. I suppose the combination of the Samsung's relatively new presence on the market, as well as the number of people who have returned their Samsung YH-925 players, might account for the lack of reviews or forum posts on the Web.
The Rationale
I had done enough research on the iRiver to know that 1) contact through Linux was possible, although it requires a bit of a hack to force the player to start up in USB Mass Storage mode, and 2) that it was never going to play OGG Vorbis files. Because the cottage trip is coming up fast, I've been reduced to converting all of my OGG files to MP3 format through a nice, lossy OGG -> WAV -> MP3 path. Looks like I have a nice project when I get back from vacation: re-ripping all of my CDs, but this time they're going to FLAC format. Now given that I have a player that does not play MP3 files, which does not talk to Linux by design, and which costs as much as an iPod, you might ask why didn't I just get an iPod?
Well, the store didn't have an iPod in stock. Besides, this thing has an FM tuner and recording capabilities, so I can listen to the CBC and tape my friend's university radio show Educating Ourselves (which I always miss because it airs right in the middle of my commute). And the interface to the iRiver is pretty good, for the minute or two that I've played with it so far. Give me a break, would ya? I've been busy converting and copying files.
And it's a wonderful, wonderful birthday present. Thanks Lynn!
Thursday, August 11. 2005
Until very recently, the entire set of PDO documentation, including the docs for seven different database drivers, was contained within the PDO documentation. While this was fine in the early days of PDO when there were only a handful of users, as PHP 5.1 starts entering the era of release candidates having crystal clear documentation for the peculiarites of each database driver is going to be much more important.
Tonight, as a first step towards that goal, I committed a phpdoc patch that moves the DSN (data source name, or connection string) syntax out of the generic PDO constructor documentation and into driver-specific sections of the manual. As part of that patch, I also implemented a fix for the Functions Reference section of the manual to ensure that the table of contents is organized by the descriptive name of the module, and not simply by the module directory name.
Continue reading "PDO driver docs - the split begins"
Monday, August 8. 2005
One quick highlight from OSCON: on Tuesday night, right after my tutorial, I was lucky enough to attend the Portland PHP User's Group, where they had arranged an all-star PHP line up, including Rasmus, Andrei, Wez, Marcus, Ilia, George, Laura, Adam, Ben, Luke, Shane, John, Stefan, Terry, and Chris-- well-documented by Terry's photos. Oddly enough, a good third of the ensuing discussion actually focused more on JavaScript and AJAX than it did on PHP... ah well, that's what's interesting these days, I suppose, and of course when you have that group of people to talk to you're mining a wealth of information beyond just PHP.
A special moment for me: during the round of introductions of this group of PHP luminaries, a few of the real forces behind PHP (Wez, Ilia, Marcus, Andrei) insisted I introduce myself as well. I was very surprised, very honoured, and managed to mumble something about my early work with PHP at IBM with DB2, writing most of the PDO docs, and saying how much I enjoyed hanging out / working with this great group of people. All very true, but I certainly hope to be able to contribute more to the community in the future.
While at OSCON, I finally met Zak Greant, the EZ Systems developer and former MySQL Community Advocate from Vancouver who Chris Shiflett had mistaken me for at php|tropics. In an apparent attempt to forge his own identity, Zak had shaved his goatee and grown his hair, making him look a lot less like me. However, he ended up looking exactly like Kees, glasses included. Kees ended up having the honour of being called Zak for the duration of the conference
*UPDATED*: Laura Thompson posted a photo of the three of us together.
The presentations, handouts, and solutions for the "Deep Dive with Apache Derby: Perl, PHP, and Python" tutorial I gave at OSCON 2005 are finally online, including a couple of last-minute corrections:
The tutorial (my first solo 3.5 hour teaching session) went reasonably well, although my expectations of what comprises a tutorial apparently differs from the OSCON standard. I had structured the tutorial to be hands-on: after a brief lecture, the attendees were expected to perform exercises like installing Apache Derby, creating a database, setting up a connection through PHP, and the like. I was there to help them through the hurdles.
In contrast, most of the other tutorials were apparently three-hour lectures. I sat in on the end of Larry Rosen's *Law for Geeks*, which appeared to be a great discussion forum -- good format, important subject, great speaker. I followed that up with Monday morning's *Introduction to PostgreSQL*, which, at the one-hour mark, was going painfully slowly... so I slipped out at the break to do a last-minute run through of my own tutorial instead, and fixed a couple of bugs in the presentation materials just in time
My tutorial had about 20 attendees at the start, but I knew it was going to be trouble when less than half of them actually had laptops. Of the laptops, about three had Linux (hurrah -- that matched my tutorial assumptions), a couple had Windows (I had tested everything on Windows, so I knew I could help them through), and one had Mac OSX (completely untested and foreign to me). That ratio was actually rather kind to me; in the rest of the OSCON audience, it seemed about half of the attendees were carrying Mac laptops.
After the break, I was down to about seven hard-core attendees. The attrition didn't surprise or dismay me -- if I was stuck in a hands-on tutorial without being able to get my hands on anything, I would probably leave too. Now, I had asked people to buddy up, but apparently overcoming the fear of strangers was too much to ask (and I admittedly didn't break the ice enough). The other rather frustrating factor was the rather sluggish wireless connectivity and ibm.com's sadistic time-outs playing hell with the 200 MB download required for the DB2 Application Development Client. I ended up copying all of the software onto a USB drive and distributing it manually to the attendees. Despite the frustrations with technology, though, I really felt positive vibes from the audience -- and nobody laid a beating on me in a dark corner after the session
Updated 2005-08-11: Fixed the link to the presentations. Apparently not many people have tried to look at them, or didn't bother to tell me that they were not found 
Updated 2007-11-20: Apparently my host dropped one of the libraries required by the PHP presentation system, so the link to my presentation stopped working. Fixed - thanks to Gordon Agress for bringing this to my attention.
Wednesday, August 3. 2005
Heh -- one day after my OSCON tutorial on Apache Derby: Perl, PHP, and Python, where I focused on the 10.1-alpha release from back in May, the Derby team announced the first Derby 10.1 release. Figures that there would be a flurry of activity after my talk
I also noticed that, following the announcement of Derby's graduation from an Apache incubator project into a full-fledged Apache sub-project, the migration of Apache Derby from http://incubator.apache.org/derby to http://db.apache.org/derby is closer to completion. Great stuff!
I think I'll have to talk with the Derby team about having a bit more of an open and more traditional release process; most open source projects that I've been involved with go with more than one alpha release, and they don't usually wait two months before suddenly declaring the official release. I have to assume that timing for OSCON and the Derby graduation into a full-fledged Apache sub-project played some part in the move, but it would be nice to see a more public discussion of the release cycle for future releases.
|