Archive for February, 2007



22 February 2007

I’m in love all over again. πŸ™‚

We use Subversion. There’s a remote Subversion server, and folks check out files locally and work on them and then check them back in. But if you’re working on a web project where people outside your group need to see and comment on the results of your project, there are extra annoying steps involved — either you have to check out on your development box (with a command-line tool, in our case) and then S/FTP the files back and forth to the local machine (considering that I want to use BBEdit on my Mac for editing), or you have to check everything out to the local machine, and then upload it to the dev server when you check in the project, or run a web server on your machine. Pain.

On the way home from dinner the other night, Rich mentioned SSHFS, and wondered if there might be a Mac client. Wouldn’t you know it? With two quick downloads and two simple installations, I can now mount my development server (it isn’t a WebDAV server, you see) as a drive on my machine, and check my projects out THERE, as though it were right here on my local machine.

It’s just…so…easy. The files you need can be found at

You need first to download and install the MacFuse CORE package. Then restart your Mac. (Weird. But OK.) Then download the sshfs package and drag the icon to your Applications folder. Then run it. Give it your server’s name and your username, and a path on the server where you want to land (when I tried it without a path, it didn’t work properly, so use a path, at least the first time). Then it prompts for your password. Then…

…you are logged in.

There’s not much more to say. Welcome to a whole new world. πŸ™‚


Pipes — Yahoo!’s AppleScript?

20 February 2007

Yahoo! Pipes is getting a lot of press as the latest and greatest web mashup tool. OK, I’ll bite…

So I went over to take a peek. First of all, the whole thing is about as intuitive as AppleScript. Which is to say, you know that it’s “simple” to use, because everyone else says so. But no one will tell you really what it’s supposed to do or how you’re supposed to make it do it. There are lots of examples, but it’s kind of like putting ingredients out on a counter, and giving each ingredient a name and a description of its flavor, but not telling you what food group it’s from, what it reacts with, or how to combine it with the other ingredients in which volumes to make some outcome.

And that’s another issue — the outcome. What does it MAKE? Lists of stuff, I guess. I’m really not sure.

So I tried making my first Pipe. I could have written a UNIX pipe at the command line faster than this. πŸ™‚ But OK. So I want to find all the GoogleBase recipe entries for chocolate lava cake, and mash those up with all the Flickr pictures tagged with chocolate lava cake. I was able to do that after slogging through and finding the Union module (which is useful enough that it should probably be somewhere else, but that’s just my opinion).

But that looked stupid. I had a list of 20 recipes (why 20?), followed by a list of 20 Flickr pictures. I could have just gone and grabbed the individual RSS feeds for these and written ten lines of PHP. But OK. So it’s a visual envrionment and you don’t need to know any programming. Fine. I’ll still play along. Now I’d like to alternate — one Flickr picture and then one recipe, and then the second Flickr picture and the second recipe. I tried everything I could think of. I made sub-pipes. I used foreach operators. But I always got a list of recipes, and then a list of pictures.

Then I decided I’d already wasted enough time. There are no tutorials — just EXAMPLES. Well, ok. Showing me a picture of a bowl of clam chowder isn’t going to help me make clam chowder. Once they’ve got some decent documentation up, maybe I’ll give it a go again. But I’m not a college student who can sit around for half a day trying to use some tool to do something I can already do.

Which brings me to one other really quick point. Go to Pipes documentation page, and come back with a concise definition of what it is and why you’d want to use it. Then go to Google Base‘s doc page and tell me what it is and why you’d want to use it.

Let’s see:
“remix popular feed types and create data mashups” = HUH? What is a ‘feed type’, and how do you ‘remix’ it? Am I a DJ?
“submit all types of online and offline content, which we’ll make searchable on Google” = Oh, it’s like Craigslist, only infinite content types.

Granted, they’re two different services doing different kinds of things, but Google’s approach to explaining it is completely different from Yahoo!’s. On Google’s first doc page, you see the most important questions that new visitors ask — What is it, and why would I use it? I showed you above the ‘what is it’, and here’s the why, “If you have information you want to share with others but aren’t sure how to reach them, Google Base is for you. You can easily submit all types of online and offline content to Base, and if your content isn’t online yet, we’ll put it there.” Well, my mother can understand that!

On Yahoo!’s first doc page, it asks the question ‘What is Pipes?’, but then sends me to an overview for a ‘quick introduction’. OK…I get the answer to the what question (again, as above), but there’s no why. Why? Why do I want to use Pipes? The example it shows me is how to find out how many dog pictures are on Flickr. Hmm, ok, or I could just go to Flickr and type ‘dog’ into the search field, and see how many came up.

Maybe I’m missing something. I’m sure there’s potential out there for this to do something really cool, but until then, I’m going to use it as much as I use AppleScript.



9 February 2007

It’s no secret, I’m a fan of LAMP (Linux, Apache, MySQL, PHP) development. Not because it’s the most robust platform, or fastest, or whatever, but because it’s seasoned, reasonably fast, and easy to develop for. I can push projects out the door, and they work, and they don’t break.

I use XML, too, and that has lots of advantages. You can express really complex data relationships with XML, and you don’t have to know a thing about relational databases. But if you want to *do* anything with the XML, you have to rely on tools that don’t come natively with your OS. You have to rely on third-party apps that have to be installed by a sysadmin, that are generally not very well documented or supported, and as I’ve seen happen a lot, they break.

We’ve used a lot of XML tools — Saxon, Tomcat, Sablotron, and more recently, eXist. Every one of them has proven painful to work with on some level — Tomcat was so ponderously slow, and kept eating our machine…still don’t know what was up with that. eXist looks really cool — it’ll slurp in your XML and index it, and then you can query it with XQuery (and/or XPath, I think), just like a common relational database. It seems like the perfect solution when someone hands you 2000 ‘records’ in XML. It seems even more perfect when you try to think about breaking the data in those records out into MySQL. Nesting, 0-or-more loops, it can all get really ugly (and if you have any suggestions for HOW to pull XML records into MySQL without doing everything by hand, please do drop me a line).

But it’s SLOW. Only 2000 records (each one really small, fewer than 100 lines apiece), and it takes a full 7 seconds just to do a simple search? *sigh* Why can’t this be easy?



6 February 2007

I was a journalist for almost ten years, but the fun and excitement of a byline never wore off. It’s always fun to publish something that you know other people will read, and that might actually *help* someone…give ’em ideas or something.

This week, Digital Web published a little thing I wrote about a tool that I’ve been using for a while now, the SimpleXML function in PHP. I hope someone finds it helpful.


Cool tools

4 February 2007

I’ve never been a fan of reinventing the wheel. That said, so many of the F/OSS tools you find on the web are ΓΌber-customized, and take enough work to bend to your own will that you might as well roll your own.

Not so with Simile Timeline from MIT. I’ve been using this on a couple of projects, and it really does work as advertised. “Timeline is a DHTML-based AJAXy widget for visualizing time-based events. It is like Google Maps for time-based information…Just like Google Maps, Timeline can be used with zero software installation, server-side or client-side. And like Google Maps, you can populate Timeline with data by pointing it to an XML file.”


Are they *completely* insane?

1 February 2007

I went to a conference about ‘getting online’ in San Francisco back in 1994 or so. I was working at a glossy magazine, and we were investigating the online world. As an editor, I was using AOL for Windows (which had just come out) for research — it was quicker an easier than calling the library’s reference desk forty times a day.

The big question at the time, though, was, “AOL, or HTML?” Do you create a relationship with AOL, and put your content there, or do you strike out on your own and create a ‘web site on the internet?’ I remember sitting next to a woman from HBO, and they were grappling with the same decision our magazine was.

Steve Case wasn’t able to convince me. On the flight back, I sat (in business class, when business class used to MATTER) next to a guy with a book about HTML, and between SFO and ORD, he really sealed the decision for me. I bought my own HTML book shortly afterwards, and to the web we went.

It would have been a bad idea to give up control of our company’s information and image to AOL. The web allowed us to control and change our message whenever we wanted, and I knew that was going to be worth the investment of time that we’d make striking out on our own, doing it for ourselves.

Well, now Steve Case is involved with another venture that wants to help you out. (no, no link) sounds like an interesting idea, helping folks with their medical issues, records, and billing. What? Wait a minute. They want you to PUT YOUR MEDICAL RECORDS ON THE INTERNET? Are they INSANE?

Screen shot from Revolution Health -- we store your faxed medical records on our secure servers

I just don’t know what would compel someone to create a business model based on something like this. We’ve learned time and time again that our financial information isn’t safe online. How many times have you had to change credit cards? Most people I know have had to. Online banking is ‘secure’…but not THAT secure. Difference is, your money is insured, and if someone steals it, you can get it back.

You can’t unpublish data, though. Nosy folks can’t unlearn the fact that you’ve got surgery coming up, or you take medications for anxiety, or you had an abortion, or that you have a genetic predisposition for breast cancer, or whatever else your medical records might reflect.

At World Wide Web 2004 in Manhattan, Tim Berners-Lee talked about the semantic web, and how you’ll be able to link dates with events, and then those events with people, and then those people with information — and while it all sounded really cool, all I could think of is the fact that everyone I went to a cocktail party with could suddenly have access to x-rays of my broken ankle. This new service makes that frightening possibility that much more real.

So, thanks for AOL, Steve Case, but I’m going to sit this one out.