Robert Hahn

inspired by integration

I'm always interested in infrastructure that brings people together and facilitates communication. I'm currently exploring social software, markup & scripting languages, and abstract games.

Home | In This Site … | Google Thread
noted on Thu, 28 Aug 2003

Simple Pleasures

My wife and I have decided to teach our daughter the days of the week. Everday brings a smile to our faces, because when we tell her what day it is, her face just lights up, she claps her hands, and exclaims “Oh, boy! Oh, boy!”

noted on Thu, 21 Aug 2003

Escaped Markup Considered Harmful

Norm Walsh wrote an article on why escaping markup, particularly in RSS feeds (mostly because this format suffers from that abuse more than any other) is a Bad Thing.

Norm, I agree that there must be a stop to escaped markup. You’ve made some points, however, that I must contend with you on. In point 1b, you write:

There are better ways of escaping content. First of all, if the content you encounter is well formed XML, no escaping is necessary. If it isn’t well formed XML, then it must be HTML. No application is allowed to accept a document that purports to be XML but is not well formed. There are well understood ways to turn HTML into XHTML (or well formed XML). I’d even prefer stripping all the markup entirely to this escaped markup “solution”.

Norm, have you given no thought to legacy HTML? XHTML is a relative newcomer, and as such, many people aren’t that familiar with what needs to be done to make their markup compliant with the standard. Also, it’s a lot of work for what visually results in no gain (excepting the RSS feeds) to update your legacy markup so that it’s compliant.

Stripping out HTML markup is likewise not a great answer. If someone designs a feed so that multiple paragraphs if information is sent my way, that is their prerogative, and may very well be done that way because their visitors demand it. If you strip out the markup, then the content will be too difficult to read, and feed viewers will blame the feed provider, not the software.

The idea of base64 encoding content is very interesting in theory. In reality, the people who construct RSS feeds by hand (and I’m sure there are more around than either of us suspect) would find that requirement a barrier too high to surmount.

My personal feeling is that if people feel the need to mark up the copy in the description tag, then if they can’t guarantee well-formedness, then they shouldn’t use an XML-based RSS format for transport. Rather, I’d suggest a YAML-formatted RSS feed. When viewing source, HTML and XML are too much alike for comfort. Mixing the two is too dangerous.

I understand, Norm, the value of making an extreme stand to make a point. It’s like being a magnet to pull a current in a different direction. I’m trying to be pragmatic here. In writing this, I’m trying to see what is a good balance between keeping barriers down for content creators, and giving consumers exactly what they want. I know I want lots of info in my feed reader. And I think it’s critical to deliver it in a way formatted for easy consumption.

noted on Mon, 18 Aug 2003

Well, She Sure Told Me!

This morning my daughter woke up cranky. So, while my wife, daughter and I were standing in the kitchen, and my daughter just finished wailing about some grievance done to her by one of us (totally inconsequential, I assure you), I tried to soothe her by patting her on the head.

“No, daddy! No petting!” she said. “[I’m]* no puppy!”

Right you are, kiddo. Noted and [b]logged.

* My daughter currently tends to speak in the third person, so the “I’m” in this case replaces her given name.

noted on Mon, 11 Aug 2003

How to Make Clothing Fit Better: As Taught by a Toddler

One day, my daughter re-discovered a deflated nursing pillow, and asked for it to be inflated. My wife, tiring of blowing it up by mouth yet again, decided to fetch a pump to pump air into it. My daughter loved this, and set about playing with the pillow.

Later on in the day, my wife went though the kids clothes, putting away the ones too small to fit, and setting out larger versions. This task wasn’t done, as the boxes containing the clothes hadn’t yet been put away.

All this, of course merely sets the stage for this funny story. Please remember that my daughter was, at the time of writing, only 27mos old. Now I can start the story.

I was home and futzing about in the kitchen when my daughter ran in with one of the shirts too small for her. She managed to get her head and one arm in, and needed help with the other one. No problem. Still cool she managed to get 2 out of 3, though. I help her get the other arm in the sleeve, pull down her shirt, and she ran off to watch tv with her mother.

Unbeknownst to me at the time, my wife (her mother) espied her in the shirt and exclaimed, “Oh, I love that shirt! I wish you could still fit in it!” My daughter, upon hearing this, left the room and ran back to me.

She told me she wanted the t-shirt off. No problem. I help her take it off, and she runs away again - back to the family room to be with her mom.

It was also in the family room that the aforementioned air pump was lying. My daughter puts the shirt down on the ground, grabs the pump, inserts the correct end into a sleeve, and commences pumping for a few moments. My wife watched this with some surprise and amusement. Then, with some fanfare, my daughter extracted the hose, held up the shirt, and proudly exclaimed, “Bigger, mommy, bigger!”

If only life was that easy.

noted on Wed, 06 Aug 2003

Electronic Brains

Over at O’Reilly Network, there’s an article in the MacDevCenter covering a small selection of what Giles Turnbull calls electronic brains

It’s an interesting genre of software - interesting because there’s a need for it, but no one seems to want to pay for the software. I think the reason for it is that we’re not sure, generally speaking, what the payoff is, unless you’re already a highly organized person. So what to do with software many people should learn to use, but no one wants to pay for?

This is the kind of software that really ought to be integrated into the OS level - and, arguably, we actually have an ‘electronic brain’ there already. You can store data and pictures on the hard drive; you can organize information into categories (ie: directories); you can search, either by the file name, or by the contents of a file (if the contents are text).

Still, many of todays shipping OS’s don’t make great electronic brains. Since I’m a Mac OS X user, I’ll focus my points relative to that system. So what doesn’t the OS do well in the eBrain department? Well, content-level searches are dog slow for one thing. My home folder is just under 10.5GB’s in size, and performance is great for browsing. However, a search for the word “foo”, which I know I use as often as any geek, took several minutes to complete. This is unacceptable performance.

We need a better, faster way to index our drive contents to make searches faster. Mac OS 9 had this down pat. I’m not sure why Mac OS X is so much slower; perhaps it’s because the file count is so much higher. Perhaps no index is being built. I’d also like to see the ability to modify search results by using an RDF file that maps out some of the relationships between various words, and make it completely user-editable, and completely optional. A really simple version of this file that most users would get would be a list of words and their synonyms or antonyms. So, if I had this file, and in it mapped “Blue Jays” to “birds”, then any search for “birds” would turn up articles on “Blue Jays” - especially if the “Blue Jay” articles didn’t have the word “birds” in it.

I have one other major nit with using OS X as an eBrain: it’s really hard to add metadata to resources like images and music files — in other words, binary data. Well, that’s not really true. Mac OS X comes with iTunes, iPhoto, and iMovie. All these apps allow you to add metadata like the creation date of the file, title, a description, and it goes into, surprise surprise, XML files. I would love to hit Command-F in the Finder that can search, and return, all the metadata from those apps and return the results as common peers to the text searches it can already do. Throw in email and my bookmarks, too, while you’re at it. The iLife apps stores their metadata in an XML file, and email is stored in text files as well. The thing that’s really needed is a smart indexer capable of working with content from these disparate sources.

What I’d love to see ain’t Sherlock Or Watson I’m not searching the web. I’m only searching for stuff on my hard drive. Google can’t find this dream app for me... but maybe someone will write this program soon.

More Related Links

Tim Bray’s On Search, the Series is an excellent series of articles that outline the scope of the problem of searching. My wish list isn’t trivial to implement from scratch, but if you’re new to building search applications, then this should be a good source to tap into.

Want to write up this dream app for me? Got time? Don’t know how to build Cocoa Apps? Maybe this book will help.

noted on Tue, 05 Aug 2003

Who has the biggest?

Setting: my parent’s family room.

Cast: Daughter, Me, Bunny & Frog (the latter two sounding much like me).

Audience: Dad. Mom & wife are fussing over the baby.

Bunny: Where’s my nose?

Daughter: (points to Bunny’s nose) Here!

Bunny: Right! And where’s Frog’s nose?

Daughter: (points to Frog’s nose) Here!

Bunny: Right again! And where’s your nose?

Daughter: (points to her nose) Here!

Bunny: Wow! You’re so smart! So, who has the biggest nose?

Daughter: Daddy!

Stories about my kids.

I have two kids. My daughter is (at the time of this post) just over two. My son is 3 months. If I’m amused by something that happened involving them, then you’ll get to find out about it. Lucky you!

tall ship