October 2004 Archives

Bob DuCharme

AddThis Social Bookmark Button

Related link: http://www.xml.com/pub/a/2004/10/27/deviant.html

In a new XML-Deviant piece in XML.com, Edd Dumbill does a Herculean job of distilling an xml-dev thread that currently adds up to 97 messages without having quite petered out yet. The general topic is whether any new standards work can make it easier to represent links in XML at a more sophisticated level than HTML a/@href links do. I think it’s generally agreed that XLink’s lack of traction shows that it didn’t succeed at this goal.

What do we mean when we say “linking”? How does this term relate to hyperlinking? What metadata should be included in a link? How much, if any, of this metadata should be related to link presentation? Is the “hyper” in “hyperlink” a presentation issue? Is linking something to specify in data or as part of a data model? What role can stylesheets or RDF play? These questions have been around for a while, and it’s interesting to see the arguments and counter-arguments of various XML luminaries as they hash through the current ideas about these topics. Check out Edd’s summary, and if you’re really interested, try dipping into various places in the complete thread.

Timothy Appnel

AddThis Social Bookmark Button

I just attended Scott Knaster's iPod Parlor Tricks
session at the Mac OS X Dev Con where he was able to obtain an iPod Photo
on loan from Apple just to show. At the end of the session he plugged in the device to the project and stepped through a slideshow of photos with the device. Nice. We knew that though.

Recounting the demo to Derrick Story with Scott, it occurred to me that a photo slideshow is not much different from a presentation. That functionality could be used to make the iPod Photo a (ultra) portable presentation device. No need to lug around a laptop – just plug in your iPod and go. (OK its a bit pricey for that function, but perhaps you can convince your boss to sign that espense form with it.)

Scott pointed out to me that Keynote can export to QuickTime. Gordon Meyer had joined in the conversation and mention QuickTime Pro can break a QuickTime movie into stills. Other ways of creating a presentation deck to be turned into images were discussed. Gordon also pointed out with a naviPod you could probably control it remotely. Sounds really promising. Alas it couldn't be verfied.

Scott was bummed (as were we) that the device turned into a pumpkin at 5PM and had to return before he could play with it some more.

Thoughts?

Timothy Appnel

AddThis Social Bookmark Button

Related link: http://www.timaoutloud.org/archives/000376.html

I've made it out to the west coast to attend to O'Reilly Mac OS X DevCon (quite happy to be here and to present) and listening to the first keynote by Chris Bourdon on the new features of Tiger, Apple's next version of Mac OS X. I like what I'm seeing a lot, but one slide bothered me as being a bit uncharacteristically off. It said something like RSS support – RSS 0.9x, RSS1, RSS2 and Atom. I'm glad to see this support of course, but Atom is not RSS. Rather then pick one over the other, it seems to me the term syndication would be more accurate and encompassing while being a bit less geeky for normal folk.

What is the right term for RSS and Atom support in applications?

David A. Chappell

AddThis Social Bookmark Button

I recently found another shining example of why overnight batch processing as a means for integrating applications is bad for business. Chapter 9 of my ESB book talks about how the latency and margin for error associated with this common business practice can be costly to a business. A recent experience really hit home for me.

I’m currently in the midst of a doing great deal of traveling due to conducting a 10 city Seminar series tour entitled “SOA Best Practices: An Architect’s Forum”, which is sponsored by BearingPoint (more).

This story starts out on a sour note, but ends on a positive note.

One week of this travel was particularly hectic in that the seminar series covered 4 cities in 5 days. The overall trip spanned Boston, Chicago, Denver, Dallas, and Atlanta. Due to some logistical issues, I could only use my airline of choice for 4 of the 5 legs of the trip, with the return trip from Atlanta to Boston on a separate airline. So far, so good. I was scheduled to depart on a Monday and return on a Friday. Also good.

Because of some last minute scheduling issues, I needed to change one of the flight times the day before I departed Boston. Due to reasons that I did not understand at the time, the travel agent told me that they needed to re-issue the ticket, and it had to be a paper ticket rather than an electronic ticket. Not fully realizing the consequences of that, I quickly shrugged it off and said “whatever”.

Early Monday, I made my usual phone call to my airline of choice in order to request an upgrade. They told me that I could not do that because the entire 5 leg trip had been booked on 1 ticket, that ticket had been booked through the “other” airline. Argh!

As I got closer to the airport that day, I also realized that the because I now have a paper ticket, I also can’t just walk up to the self-service check-in kiosk to get a boarding pass…I need to stand in that long line and go talk to a person. Also not good. I figure that’s OK for now, because I’m simply going to go to the ticket agent and have them switch me over from this paper ticket to and electronic ticket, allowing me to whisk my way through each airport for the rest of the week without stopping at any ticket counter.

After all, I’m in the system. They should just be able to do that…..Right?

At first, the ticket agent seemed perplexed. She said there wasn’t anything she could do. I had a paper ticket, and that could not be transferred to an electronic ticket. I’m thinking – This is an integration problem…. Upon my insistence that there must be something she can do, she calls over a supervisor, and the two of them huddle over the terminal for a while. In the end, all was well with my electronic ticket. They took my paper tickets (all except the one for the “other” airline), and inform me that I’m all set through Thursday! I upgraded using a couple of electronic upgrade tokens, and there I was on my way to Chicago! The next day I arrived at the airport again to proceed on the next leg of my journey, swiped my card through the self-service check-in kiosk, got my boarding pass, and was on my way to Denver. Ahhhh, the joys of automated computer systems.

The following day, I encountered another glitch. Whatever they did in Boston only stuck for 2 days. When I arrived at the Denver airport intending to depart for Atlanta, all record of my electronic ticket had vanished. The ticket agent explained to me that there was nothing they could do because I was booked with a paper ticket, and I had no ticket. They had taken my paper tickets in Boston! I’m thinking…. ….I’m in the system…It knows I’m booked on this flight. Why can’t she just print me a darn boarding pass???? All the while I’m thinking….This is an integration problem…

After 20 minutes at the ticket counter in Denver, all they could do was issue me some replacement ticket coupons that were hand-written, which would get me through the next two legs of my trip.

BTW, I promised that this saga would end on a positive note, and I’m getting there….

The next morning in Dallas, the group of attendees arrived for the SOA seminar. This seminar series is intended for an audience of enterprise architects to get together, learn about the architectural concepts of an Enterprise Service Bus (ESB), and spend some time discussing how to apply the concepts toward building SOAs for the purpose of application integration within their own organizations.

As fate would have it, two of the attendees that I met at the door were wearing a name badge from my favorite airline! (which had recently become my most loathed airline). They both had the title of Architect written on their name badge, and they were my captive audience for the next 4 hours! Excellent. During the morning coffee I cheerfully explained to them my saga of the paper tickets vs the electronic tickets. Well, it turns out this guy is responsible for these systems, and is here to find out about how an ESB can help to integrate them together. As an added bonus, his travel companion was responsible for the systems that interact with their alliance partners.

They validated my suspicions that what I had been experiencing was indeed an integration problem. Furthermore, my perils of the past week were due to the latency and margin for error that is associated with overnight batch transfer. There is a paper ticket system, and an electronic ticket system. They are two separate systems that are integrated through an overnight batch transfer process. Because my travel agent had booked my ticket across two airlines, the re-ticketing process had to be a paper ticket because the time to departure was not enough to time to allot for the next batch transfer process to update my new schedule. Furthermore, I strongly suspect that the reason that my electronic ticket had “disappeared” after 2 days is because whatever the ticket agent did at the ticket counter in Boston on Monday was overwritten when the next batch update ran.

In the end, my airline of choice is still my airline of choice, despite my ticket counter woes. During the morning seminar, there was plenty of opportunity to poke fun at dysfunctional batch transfer integration at the expense of my new friends from the airline (without particularly mentioning them, but they knew what I was referring to ). They each received a signed copy of my ESB book in appreciation for attending the seminar, and I pointed them to especially take a look at chapter 9, which is about the problems associated with integration using overnight batch transfer, and how to refactor toward using an ESB to achieve integration in real time. I’m sure we all look forward to a day that the backend systems of the airline industry can talk to each other more efficiently, with the ESB as the means of doing it. One can only hope.

Dave

David A. Chappell

AddThis Social Bookmark Button

Related link: http://www.eweek.com/article2/0,1759,1677386,00.asp

I spoke with Darryl Taft of e-Week recently about the emergence of JBI and its relevance to the ESB architecture. He did a write-up about JBI here, and included a quote from me in the writeup.

Dave

David A. Chappell

AddThis Social Bookmark Button

Related link: http://www.bijonline.com/PDF/Chappell%20oct.pdf

I recently wrote an article on the subject of JSR-208, a.k.a. Java Business Integration (JBI), and how it relates to the architecture of the Enterprise Service Bus (ESB). The article was published as the cover story for the October 2004 issue of Business Integration Journal, and can be found online here.
Dave

David A. Chappell

AddThis Social Bookmark Button

I recently spoke at a JavaPro Live! conference on the subject of Java Business Integration (JBI), a.k.a. JSR-208, and how it relates to the architecture of the Enterprise Service Bus (ESB). They recorded the session, and have it available for replay here.
http://www.ftponline.com/javapro/2004_10/online/chappell/
BTW, what you see when you replay is a picture of the slides on the screen, along with my narration.
Dave

Edd Dumbill

AddThis Social Bookmark Button

Playing with Skype conferences today, I hit an on idea for the killer Skype app — a Karaoke bot!

The conference facility in Skype is pretty amazing. It showed its power especially when we dialed in a friend over his cellphone using the Skype Out service.

It occurred to me that it would be awesome to make a bot that you could invite to a conference. It would play backing tracks and IM everybody in the conference with synchronized lyrics. Voila — Skype party karaoke!

I’m not sure how easy it is to write bots for Skype yet, but the emergence of a D-BUS API for it sounds very promising.

As a paid-for service, I reckon this could even be quite a money spinner for certain demographics. Enough to pay the RIAA their dues, anyway :)

Any more crazy Skype ideas? Post them here.

Niel M. Bornstein

AddThis Social Bookmark Button

Related link: http://myballot.mil/

I’m no security expert, but if I were in the military and wanted to obtain an absentee ballot for the upcoming presidential election, it would bother me to get the following message while viewing the official website:

image

Switching over to Firefox, you can see that the U.S. Department of Defense is not a trusted certificate issuer.

image

It may be that computer users in the military do trust the Department of Defense implicitly, but I just don’t know for sure.

Who do you trust?

Bob DuCharme

AddThis Social Bookmark Button

We all know people who refer to “the Internet” when they actually mean “the web,” an application that runs over the public TCP/IP network known as the Internet. Twelve years ago, people who referred to “the Internet” (or even, back then, “the net”) usually meant Usenet, another application that’s been running over the Internet since 1979.

Usenet is a collection of threaded discussion groups arranged by topic. Its susceptibility to spam drove much of its activity to moderated newsgroups. (For example, many of the old comp.text.sgml crowd are now xml-dev regulars. This newsgroup had a positive Len rating from 1994 to 1998.) Most people used specialized client applications to read and post to Usenet groups back then, but the DejaNews company turned interaction with Usenet newsgroups into a web application. Eventually, Google bought them out—follow a link to http://www.dejanews.com and see where it takes you. Google could have developed a web-based interface to Usenet themselves; they were really paying for DejaNews’s archive of Usenet postings, which dates back to May 11, 1981 and includes many fascinating historical documents. Today, using Usenet from outside of Google means configuring a client program such as the Mozilla Thunderbird mail reading program to point to a specialized Usenet news server, so using Google is usually easier. (Handy search hint, especially for answers to geeky technical questions: after doing a Google search, if you don’t see a good answer listed, click “Groups” at the top of the result listing to search Usenet postings with the same query.)

I mentioned that Usenet discussions were threaded. Each message has (or should have) a unique, persistent ID, and when you reply to a posted message, your newsreading application usually inserts a “References” field in the header of your new message so that other client programs can let their users follow threads. We’re talking about references to resources using globally unique identifiers that let applications retrieve those resources—in other words, links. This practice, however, is not quite as old as Usenet itself, and I’ve been trying to determine when it began.

If you use Google to look at the original format version of a Usenet posting (as opposed to Google’s slicker default display) you can see the Message-ID field and, if the message replies to another, the References field. You can create a URL that retrieves Google’s copy of any Usenet message, whether created via Google or not, from after May of 1981 by adding the Message-ID value to the string “http://groups.google.com/groups?selm=”. Add “&output=gplain” to the URL to see the version with the headers.

The earliest mention I can find of this References field is 1973’s RFC 733, “STANDARD FOR THE FORMAT OF ARPA NETWORK TEXT MESSAGES(1),” a spec that tells us that “The contents of this field identify other correspondence which this message references. Note that if message identifiers are used, they must use the mach-id specification format.” I assume that “mach-id” means “machine ID,” but can’t confirm this; 1982’s RFC 822, which supersedes RFC 733, substitutes “Note that if message identifiers are used, they must use the
msg-id specification format.” So, we have a way to uniquely identify a resource and a way to identify that resource from elsewhere so that it can be retrieved. This isn’t talking about Usenet, though, but the more generic concept of “Network Text Messages.”

1987’s RFC 1036,
which is explicitly named “Standard for Interchange of USENET
Messages”, lays out some scope for the uniqueness of the Message-ID value:
“The Message-ID may not be reused during the lifetime of any previous
message with the same Message-ID. (It is recommended that no
Message-ID be reused for at least two years.)” It describes the References field as “[listing] the Message-IDs of any messages prompting the
submission of this message. It is required for all follow-up
messages, and forbidden when a new subject is raised.” The plural form “Message-IDs” makes it sound like a one-to-many link to me.

The earliest Usenet posting I can find using a References value is from August of 1982. This makes it the oldest link on the Internet that I can identify. I wish I could blame my inability to find an earlier example on Google’s lack of 1979 - May 1981 postings in their archives, but I can’t find anything between the earliest posting in Google’s archive and the August 1982 posting, although I did find an April 1982 posting that mentions the References header field. Any suggestions?

For more historical background on Usenet, check out Brad Templeton’s reminiscences about the early days of Usenet.

Where does Internet linking (not necessarily hyperlinking) begin?

Niel M. Bornstein

AddThis Social Bookmark Button

We’ve been using NUnit for unit testing for several years now. Although it took a little while to convince everyone, my team strongly believes in unit testing.

Now we’re working on a project for a team in another office, and they clearly do not believe in unit testing. In fact, they are completely opposed to the very concept.

I use the term “anecdotal” to describe their approach to unit testing. It’s part of a larger methodology that we can call “mundane programming”, or UP.

In, anecdotal testing, all you have to do is say “gee, it works on my machine.” Or “I tested it and it worked.” Or “I have a friend that said it worked once.”

Now, I realize that it’s not always obvious at first glance that unit testing will save time in the long run. But the sheer hostility of some developers’ response is just amazing.

No amount of cajoling, wheedling, or begging will get them to even try it. Without getting a toe in the door, we can’t give them that conversion experience, where they discover a bug they didn’t know about, or avoid a regression because a test caught a bug.

It takes a certain open-mindedness that some developers still lack.

How do you work with a team that refuses to employee a unit testing framework?

Edd Dumbill

AddThis Social Bookmark Button

Related link: http://www.ubuntulinux.org/

Today’s the official release date of href="http://www.ubuntulinux.org/">Ubuntu Linux, the most
exciting development in Linux distributions since Fedora.

Ubuntu mixes three elements that make it uniquely attractive. First,
it aims to be a cutting edge desktop Linux that works right out of
the box. That means you can find the latest GNOME and
freedesktop.org innovations inside it.

Second, it’s based on Debian GNU/Linux. Ubuntu takes all the rough
corners off Debian, and preserves the diversity, integration and
power that makes it one of the most popular Linux distributions.
Debian will benefit too as Ubuntu developers contribute their changes
back.

Third, it’s based on a distinctive philosophy and good motives.
Ubuntu will always be free of charge. Canonical, its developers,
intend to make money from technical support and professional services.
To show how deep that intention is, Canonical will href="http://shipit.ubuntulinux.org/">ship CDs with Ubuntu on free
of charge to anywhere in the world.

In case you’re wondering how they can sustain it, Canonical is founded
and backed by Mark
Shuttleworth
, a South African entrepeneur with business
sense, deep pockets and a
solid record of open source philanthropy.

Canonical is pretty up-front about its philosophy, too. The front page of the web site explains the Ubuntu name:

“Ubuntu” is an ancient African word, meaning “humanity to others”. Ubuntu also means “I am what I am because of who we all are”. The Ubuntu Linux distribution brings the spirit of Ubuntu to the software world.

border="0" alt="image" />
Ubuntu’s login screen

Aside from these points, does Ubuntu work well? You bet. Preview
releases of Ubuntu have been around for a little while, and there’s
been a great uptake among open source early adopters. I’ve run it
myself on one of my machines and been very satisfied. The install is
easy, with a minimal number of questions to answer, and it’s quick
too. Ubuntu fits a great GNOME 2.8 desktop and a full-featured
Python development environment onto one CD.

On top of that, there’s a large selection of other packages
available, drawn from Debian. Third parties are also already starting
to package software up for Ubuntu where Canonical themselves haven’t
yet provided it. For example, you can find Mono and groovy Mono-based
applications
like Muine and Tomboy at href="http://www.getsweaaa.com/~tseng/ubuntu/debs/">at this
repository.

Now their first release, “warty”, is out, the Ubuntu guys will be
working towards their next. The plan is to release every six months,
providing security support for each release up to 18 months. Like
Debian, they’ll also have their development version, “hoary”,
available for use by bleeding-edge fans.

If you’ve not already tried Ubuntu, do give it a spin. There’s
also a Live CD
available if you don’t have the disk space to hand.

Have you tried Ubuntu? What did you think of it?

Niel M. Bornstein

AddThis Social Bookmark Button

Related link: http://www.oreillynet.com/pub/a/network/2004/10/18/mono.html

My co-author Edd Dumbill has written an article in which he highlights seven cool Mono apps.

One thing I find interesting is that they’re all user apps with pretty GUIs.

One of my interests, though, is what Mono can do in the server app realm. What I’d like to see is a roundup of some of the great server apps that must be out there.

These could be ASP.NET-style apps that run in mod_mono, or they could be simple console apps that do really great things.

I’ll be keeping my eyes open for some of these apps in the near future.

Do you know of any really cool server apps for Mono?

Niel M. Bornstein

AddThis Social Bookmark Button

Related link: http://conferences.oreillynet.com/macosx2004/

I’ve been unlucky enough to be stuck with employers that don’t believe in keeping their employees skilled, so I haven’t been to a conference since 1995 or so. And I haven’t been to a Mac show since MacWorld San Francisco in 93 or 94.

So getting to attend the O’Reilly Mac OS X Conference is a real treat, and I want to take the best possible advantage of it. Derrick Story has posted some tips for attendees, but I’ve decided to outline my plans here.

I’ll be arriving in San Francisco late on Monday night for the conference, which starts Tuesday the 26th. Although I’m staying with family in the City by the Bay, I’m planning to spend as much time in Santa Clara as possible.

On Tuesday, I’m planning to attend the keynotes, of course. But then I’d like to check out Brian Fitzpatrick’s Subversion session and Sal Saghoian’s Automator talk. I’m undecided about the late afternoon sessions right now, and Tuesday night I’ll probably spend some time hanging around and polishing up my presentation.

On Wednesday, I’ll probably have to skip out of Stewart Copeland’s keynote, which breaks my heart; but my talk is right after his. I’m also sorry that I’ll have to miss Aaron Hillegass’ talk on Best Practices for Cocoa Programmers, as he’s on at the same time as me.

After that, I expect to bounce around a bit. I’ll be in need of decompression and I don’t want to plan ahead yet. At 4:15, I’ll check out Oliver Breidenbach’s How Not to Write Great Mac Software and Dori Smith’s Bluetooth talk.

Alas, I need to return to Atlanta at noon on Thursday, so I won’t be able to attend any sessions that day.

I expect it to be a great experience, and I look forward to seeing you there.

What’s your strategy for making the most of a technology conference?

Simon St. Laurent

AddThis Social Bookmark Button

Related link: http://nothing-more.blogspot.com/2004/10/where-xml-goes-astray.html

Derek Denny-Brown, a key developer of the MSXML parser and a variety of other XML-related tools from Microsoft, takes a look at “Where XML goes astray.” He finds three key areas where XML caused him trouble: allowed characters, whitespace, and namespaces.

Denny-Brown’s core list definitely strikes the heart of difficulties for people writing parsers, though I have my own lists of issues at other levels in XML 1.0 for people exchanging documents.

I also find his comments about where XML has landed to be worth careful consideration:

XML was primarily intended to support taking a stream of text intended to be interpreted as a human readable document, and delineate portions according to some role. This sequence of characters is a paragraph. That sequence should be displayed with a link to some other information. Et cetera, et cetera. Much of the process in defining XML based on the assumption that the text in an XML document would eventually be exposed for human consumption….

XML was not designed with the SOAP scenarios in mind. Other examples of popular scenarios which deviate XML’s original goals are configuration files, quick-n-dirty databases, and RDF. I’ll call these ‘data’ scenarios, as opposed to the ‘document’ scenarios for which XML was originally intended. In fact, I think it is safe to say that there is more usage of XML for ‘data’ scenarios than for ‘document’ scenarios, today.

I’m also impressed by Denny-Brown’s calm conclusion, in which he acknowledges that:

Note that nowhere above do I talk about how XML should have handled these issues. In most cases, when the original decisions were made and they made sense to me. I like to believe that I have learned a lesson or two since, but who knows.

To the extent that XML works as well as it does, it undoubtedly owes its success to years of experience with SGML. All of the issues Denny-Brown raises were new issues specific to XML - especially namespaces - and maybe after a few more years someone can apply more recent experience to XML, doing to the XML family of specifications what XML did to SGML.

How long does it take to work out the bugs in a new specification?

Edd Dumbill

AddThis Social Bookmark Button

Some of my geek toys come and go, others stick around. My P800
smartphone is definitely a sticker. It’s actually getting better with
age. (I’m told this also happens with wine, but I’ve never kept any
long enough.) While the hardware’s not getting any younger, the
sophistication of the third party software has really
improved.

As with any new platform, it takes a while to figure out what the
best ways to use the P800 are. This is something that Symbianware
have really figured out with href="http://www.symbianware.com/product.php?id=tracker4_uiq">Tracker.
Now in its fourth generation, Tracker’s one application I can’t live
without. What’s so special about it? Put simply, Tracker is a
desktop for your phone offering many advantages over the normal P800
applications menu. The default P800 interface is a simple list of
applications, and you can only see data from one of these apps
at a time.

align="right" hspace="8" alt="Tracker screenshot" /> Tracker does
really well at integrating not just application launchers, but views
of your schedule, to-do list and messages. Tracker’s indispensable
feature is the “Today” screen showing an at-a-glance reference to the
most relevant of your personal data. The Symbianware guys figured out
that they could create a better interface than the default P800 menus,
and over time they’ve put this theory to the test. With version 4
Tracker has new interfaces for the messages and calendar that are much
more efficient and better-looking than the ones shipped by Sony Ericsson.

Another improvement in version 4 is really fine-grained control
over the special keys on the phone (jog dial, camera and internet
buttons.) Not only can you map a single press on these keys, but also
a double-click or a press-and-hold.

Of course, part of the reason that Symbianware, a third party
vendor, can make Tracker so good in the first place is that Symbian is
an open platform that tries hard to be hackable. That approach has
turned out to create longstanding advantages for users as well as
developers. I’m still getting more and more from my phone long after
reaching the limits of the applications that actually shipped with it.

New bits for programmers

On the programming side, Symbian have been releasing some href="http://www.symbian.com/developer/development/syslibs.html">new
libraries and code examples over the last year that can be used
update the P800. Among these is Truetype font support, which you can
see in the above screenshot (I copied across the Luxi Sans font from
my Linux box and used the inestimable SMan to change the system font.)

Other improvements include the start-on-boot registration API, so
third-party apps can be loaded at phone power-on. This is pretty
essential for anything like Tracker in order to provide a good UI
experience. There’s also an API for streaming audio input, now a
must-have on phones, and an improved API for sending and receiving SMS
messages. If I get some spare time I want to look at the SMS API to
see if I can make a special P800-side server for my href="http://usefulinc.com/software/phonemgr">Phone Manager
application, as Symbian OS phones don’t support the usual GSM
extended AT commands for getting at SMS messages.

In short, I’m glad that buying a P800 has turned out to be a good
long term decision. It’s not getting obsolete the same way other
phones do. Though it’s got a few scratches and had a few bumps, my
little silver-blue bundle of bits is still a lot of fun.

It’s not so purpley on the phone itself, honest.

Niel M. Bornstein

AddThis Social Bookmark Button

Related link: http://desktop.google.com/

Editor’s note: Don’t miss Rael Dornfest’s O’Reilly Network article today detailing the new Google Desktop.

I installed the beta Google Desktop on my PC. It seems to rock.

It integrates seamlessly with the web-based Google; any search on the web now shows desktop results as well. Email messages that it finds are displayed in the browser window. It’s supposed to index AOL chat logs as well as all the usual document types.

This is the kind of desktop/web integration that really makes sense to me. I don’t think I’ll ever use Windows Explorer or Outlook to search again!

What do you think of Google Desktop?

Simon St. Laurent

AddThis Social Bookmark Button

Garmin’s most recent outdoor GPS units sport a USB port instead of the strange proprietary connector they used to have. That sounds great, except that Garmin’s gone more proprietary on the protocol they use to send location data over that connection, abandoning NMEA in favor of Garmin’s own protocol - exclusively.

I’ve been editing Mapping Hacks (coming soon), and marveling at the intricate dance between proprietary and open that swirls throughout the entire mapping space. Public data is great to have but often buried under or repackaged as for-pay products, in those countries where it’s available. Mapping formats vary, but often have at least proprietary roots. GPS devices sometimes have their own protocols, but NMEA 0183 at least provided a baseline of openness, a common expectation software developers could rely upon.

While looking through the Amazon reviews for Garmin’s latest Vista C and Legend C, I found some red flags:

However, the USB connectivity will only connect you to proprietary Garmin cartography software, it is NOT NMEA compatible. (Legend C)

It will no longer work with a Macintosh. The software loads and works easily using VPC as did the software for the prior version. However the USB driver provided by Garmin will not work with a Macintosh and there does not seem to be an alternative according to the technical support at Garmin. (Vista C)

Finally, although the Vista C includes a speedy USB port for transferring data to your PC, be aware that many third-party vendors can’t or won’t support it. DeLorme is a primary example. As a separate review of their TOPO 5.0 product states, DeLorme knows they can’t read Garmin USB data, and despite frantic pleas for help from their customers, they have reacted with what can best be characterized as a huge yawn. (Vista C)

Curious, I called Garmin this morning. I didn’t get the name of the lucky recipient of my call, which got angrier as it went on, but he confirmed that Garmin has in fact dropped NMEA support. He was happy to report that their protocol was in fact proprietary. I asked why they did this, and his reply was that “our engineers decided to support Garmin software.” If I wanted that changed, my only recourse was to request a feature or buy a different unit.

I’ll put in the feature request, though I can’t say the phone call gave me much hope that Garmin is interested in any such change. We can, of course, use Garmin’s protocol documentation, but that also has some interesting bits:

Q: The Internet has information about additional protocols and extensions that are not described in the document. Why have these been left out?

A: Part of the goal of the document is to separate what GARMIN thinks is safe versus what is unsafe when
interfacing to our GPS products. Any items left out of the document are considered to be “testing aids” for use by our engineering and manufacturing departments only. As such, we do not require all products to have all testing
aids, nor do we require the testing aids to be implemented in the same way in every product. In fact, there is a wide
variation in these testing aids. Worse, some testing aids may have side effects that are undesirable for anything but
testing…

Q: Where can I find example code (e.g., for converting time and position formats)?

A: We are currently unable to take the time to compile this information…

Q: Where can I find some sample data transfer dumps?

A: We are currently unable to take the time to compile this information.

6.13 of the Garmin specification does provide the PVT Data Protocol, “an alternative to NMEA so that the user may permanently choose the GARMIN format on the GPS instead of switching back and forth between NMEA format and GARMIN format.” That may be the place to focus for people who want to use Garmin units but want to connect them to a broader range of software than Garmin itself provides. Some software already supports PVT, and more may have to unless Garmin has a change of heart.

Why would a manufacturer walk away from a baseline standard?

Niel M. Bornstein

AddThis Social Bookmark Button

Since I joined the modern wireless generation by buying a Sony Ericsson T616 last December, I’ve discovered the joy and pain of keeping my address book synchronized.

It’s more of a pain than a joy sometimes.

Here’s the problem: I want to effortlessly synchronize Thunderbird on three machines, Outlook, and the Mac OS X Address Book, with my mobile phone.

In short, it’s just not gonna happen without some hacking.

But this problem got me to thinking. What’s the one thing all these platforms have in common?

What’s common is what I have in my pocket whenever I use any of my three systems: a BlueTooth-equipped mobile phone.

I think what should happen is that rather than manually synchronizing 5 different address books, each mail application should reach out and query my Bluetooth device in real time.

I don’t know enough about wireless technology to know what would be necessary to make this happen, but I really want it.

Have you ever wished for ubiquitous directory services?

Niel M. Bornstein

AddThis Social Bookmark Button

I’m considering sitting for a certification exam.

Now, I don’t know about you, but I’ve always considered those three or four letters after your name to be mostly meaningless.

Many years ago I studied Oracle administration and tuning, and Novell UnixWare administration. But I never sat for the exams.

With today’s competitive job market, though, I’m starting to think differently.

I’ve got a couple of directions I can go in.

I could go back to Java and go for the SCEA, the Sun Certified Enterprise Architect for the Java 2 Platform, Enterprise Edition. Or I could stick with .NET, and try for a MCSD, the Microsoft Certified Solution Developer.

Either way, we’re talking about a chunk of money and some studying. I’d like to avoid both if it really doesn’t get me anything.

So I’m looking for advice.

Anyone out there who hires developers, can you say that a certification makes a difference when you’re evaluating candidates?

And anyone out there who’s got a certification, do you think it helped you land a great job that you might not otherwise have been offered?

Have you got one of those fancy certifications? Has it gotten you anywhere?

Niel M. Bornstein

AddThis Social Bookmark Button

I found out in a roundabout way that there is now a Fry’s store in the northeast Atlanta suburb of Duluth. Last weekend I packed my son into the car and we took the half-hour drive to Gwinnett Place Mall to see what there was to see.

My only previous Fry’s experience was a trip to the Burbank store in July. (That’s the alien invasion one, if you’re keeping track.)

The two stores could not have been more different in ambience and style, but the basics were the same: lots and lots of geek fodder.

I’ve been told that the Atlanta store, which opened in late August, is actually the largest in the Fry’s chain. I believe it.

I also believe that it must be the shiniest store; every marble surface gleamed, and the staff was resplendent in black and white.

The book section was fully stocked with new and best-selling O’Reilly books. I noticed in particular at least a hundred copies of Digital Photography: Expert Techniques and Adobe Photoshop CS One-on-One. I also noted several dozen copies of Linux Unwired, but, alas, only a single, forlorn copy of .NET and XML and not even one copy of Mono: A Developer’s Notebook that I could see.

My shopping experience included only two low points.

One was the checkout process. Like the Burbank store, there appeared to be a single queue for all the cash registers. I assume this is the standard Fry’s way of doing things.

However, there actually turned out to be two queues, and they were not clearly indicated. One queue went to the front bank of cashiers, and the other went to the rear.

I had a moment of confusion as an employee waved me toward what seemed to be the restrooms. I demurred and headed back to the other side of the queue.

Later I discovered that she had been waving me toward the queue for the back row of cashiers.

It’s nothing a little signage wouldn’t fix.

The other low point was my discovery, two days later, that I could have picked up an 802.11g router for free after rebates.

I’d been needing one of those, too.

Is there a Fry’s where you live?

Kendall Clark

AddThis Social Bookmark Button

Related link: http://www.mindswap.org/~kendall/ev/allpolls.rdf

If you are, like me, a bit of a political junkie; and if, like me, you are an American citizen; then chances are that you are, like me, obsessed with the current US presidential election cycle. Now, mind, I’m not obsessed because I think either candidate is particularly good; in fact, I think one of them is the worst president in US history and the other one is merely awful. No. I’m obssessed because the drama of the whole bloody mess is not only irresistible, but so much of it is being played out all around me.

You see, as a resident of downtown Washington, DC, living 4 blocks from the White House, I tend to take notice of stuff like “suitcase nukes” and “violations of civil rights” and “the Pentagon system of R&D”. I’m just picky that way!

I’m also a Semantic Web researcher @ University of Maryland’s MIND lab, which means it’s my business to know about stuff like RDF, OWL, rules, and how they interact with stuff like HTTP, webarch, REST, WSDL, and on and on.

Take those two great tastes, politics and Semantic Web, and mix them together like chocolate and peanut butter — what do you get? Well, something very much cooler than what I’ve done, but, you know, I always loved that “you got yr peanut butter in my chocolate” commercial.

Back to the point. electoral-vote.com is, to put it succinctly, the single best site for news about the US election I know. Amazing, really. Highly recommended. At any rate, I decided that all of the state election poll data that electoral-vote.com is tracking should be published on the Semantic Web, so that smart folks could do interesting things with it. So on Monday I wrote a bit of Python to fetch (using conditional GET, of course) electoral-vote.com’s comma-separated-values file full of electoral poll data every hour; then it gets converted into
RDF — bright, shiny, bnode-rich RDF:


http://www.mindswap.org/~kendall/ev/allpolls.rdf

I’m including the HTTP headers necessary to do conditional GET, so you can be a good web citizen too.

We’re a long way from automated fact-checking of debates; we’re not even particularly close to computer-assisted, collaborative fact checking of debates (though for this more modest latter goal, all the technology’s in place, we really just need some better social conventions and pressures). But you can use RDF and the Semantic Web to track state-wide polling data.

All props to the person behind electoral-vote.com — it rocks.

Niel M. Bornstein

AddThis Social Bookmark Button

This spring, I expected to travel to the XML Europe conference to present a tutorial based on my book, .NET and XML.

As it happens, the tutorial was cancelled, but I had already begun preparing for the trip. I had bought a laptop.

Although the topic of my tutorial was Microsoft .NET and its XML capabilities, I decided to go ahead and get an iBook. I figured I could use either Rotor, the Microsoft shared-source CLI, or Mono, then pre-beta but working well enough for my purposes.

I have not yet regretted that decision, even though it was more expensive and perhaps not the best machine for the task at the time.

The truth is, although I haven’t used one in my day job since 1996, I’ve always loved the Mac. And I just had to try out Mac OS X and the shiny new hardware it runs on.

Since making my purchase decision, Mono has gone from pre-beta to version 1.0.2, with a Mac version complete with Cocoa interfaces.

Mono on the Mac was good enough for me to write my share of a book about Mono, working interchangeably on the Mac, Windows, and Linux.

In fact, it works so well that I’m going to be doing a talk about Mono on Mac OS X at the O’Reilly Mac OS X Conference in Santa Clara on Wednesday, October 27.

Oh, and the .NET and XML tutorial that was cancelled? I’ll be giving it at the US version of the XML Conference on November 19. Using Mono on my iBook. See you there!

Have you made a leap back to your old favorite?

Bob DuCharme

AddThis Social Bookmark Button

Related link: http://weblog.infoworld.com/udell/2004/10/05.html#a1088

Jon Udell points out the technique for linking to a specific page of an Adobe Acrobat file, and includes an example that goes right to page 100 of the U.S. Energy policy. What a nice surprise—I didn’t think this country had an energy policy!

But seriously, Adobe has documented the syntax necessary to name the page where you want to send the user, along with many other REST-like parameter that control the display of the PDF file. To be honest, my attempts to go to page 100 of the energy policy document went to page 1, but Udell’s link to page 6 of the “PDF Open Parameters” document (as demonstrated by the link in this paragraph) sent my browser there with no problem.

I’ve searched for find an equivalent syntax that let me link directly to a specific point in an Microsoft Word file, but never had any luck.

Meanwhile, Jon continues his valuable work on making it easier to link to points within audio and video files.

Do you know a way to create a URL that links to the middle of a Word file?

Niel M. Bornstein

AddThis Social Bookmark Button

Somehow or other my PC has gotten itself into a state.

It’s a three year-old Dell with Windows XP, and besides the time the CPU fan died I’ve had little trouble with it.

But the other day the spamware got me.

I try to run Adaware and Norton Antivirus on a regular basis, but something particularly pernicious has snuck in there and caused havoc. Now I can’t even log in without being assailed by casino ads, and winlogon.exe crashes on a regular basis.

Given that it has been nearly three years, I’ve decided it’s time to reformat the disk and start over.

But I have two major hurdles to overcome and two logistical decisions to make first.

First, backing up my data. This includes all the photos I’ve taken in the last year and a half with my digital camera, as well as various book-related and personal documents. This shouldn’t be too difficult, if I can get around the winlogon crash. I expect some judicious use of safe mode may be the answer.

Second, I’ve got to find the Windows XP install disks that I’m sure came with this machine. They wouldn’t send out a computer without separate media to reinstall from, right?

Then I need to decide how to partition the disk. This time I’m going to install Linux as well as Windows, and I need to decide how much space to allocate to each OS. It’s a 40 gig disk, and the simple answer is 20 gigs for each OS, but I need to think about it some more before making that decision.

Finally, I need to decide which Linux distro to install. Certain parties are pointing me toward Ubuntu, and I’m leaning towards heeding those calls.

Ultimately, though, it comes down to time. When am I going to get around to doing this? It’ll certainly have to be before the week of October 25, when I’ll be heading out for my presentation at the O’Reilly Mac OS X Conference; since I’ll be taking the iBook with me, I can’t leave my wife without any computer technology whatsoever.

Have any advice on setting up a dual-boot system while juggling the competing demands of a day job, writing, and family life?

Micah Dubinko

AddThis Social Bookmark Button

Related link: http://xformsinstitute.com

I hear lots of anecdotal news of XForms being used all over the place. I’d like to start documenting these in a more organized fashion.

Send me your XForms success stories, and I’ll publish the top entries in a white paper I’m putting together, under an open content license.

Have you put XForms into production anywhere? Have you seen it pop up in any unexpected places? If XForms has made your life easier, I want to hear about it.

Send me your stories, or post them here:

Advertisement