Just Shelley

New Year: Universal Do Over

Recovered from the Wayback Machine.

Jeneane Sessum isn’t particularly fond of New Year’s Eve, but she still looks for the positive within this year’s end:


Beyond the obvious, I think about this place we’re building online. And I think 2002 was a year of a different kind of love. A different kind of family. A kind of rebuilding, re-creation. Somewhere I said that blogging is a do-over of our childhoods. Getting the family thing right. Getting love right. Even getting anger and arguments and resolution right. I think this past year has proven those words true for me. Something is healthier in here.

I, on the other hand, love New Year’s Eve. It’s one of my favorite times of the year. It’s on this day that I realize that it’s too late to try and fulfill all those foolish resolutions I made last year, so I might as well give them up as a lost cause and come up with a fresh batch for next year.

New Year’s Eve is also the day to remember that whatever happened last year — the hurts, the pain and sadness, the political battles lost, the friends who drift away — happened last year. This isn’t forcing events into forgetfulness as much as it is softening them with perspective. Maybe even a little hope.

New Year’s Eve is the period being put to the sentence that is 2002. It is the Universe’s gift to us — our own personal do-over. Whatever mistakes we made in 2002 belong in 2002, and we will not carry them with us into 2003.

In 2002 we came closer to war with Iraq and now North Korea. Okay, then 2003 is the year that we don’t go to war with Iraq, or with North Korea. In 2002 we watched the world shudder from financial breakdown, an event that was not confined to any one border. Okay then, 2003 is the year that we start, gradually, carefully, hopefully making our way out of the financial bottom.

In 2003 we have a chance to help the environment, to make our neighborhoods better places to live, to read good books, to make new friends, to discover great opportunities, to uncover stories that need to be told, to see new cures for disease, to listen to wondrous new music, to share new words with each other, to fall in love all over again. Next year we’ll touch hands for the first time, and watch a baby’s first steps.

Next year is a another year to once again try to make peace, stop famine, provide hope. Maybe even, as a people, grow up a little. All that anticipation — how can one not like New Year’s eve?

In 2002, I read the words of my friend Chris, as he wrote about his close friend’s death from terrorism. In 2002, Rick died for the worst of reasons, a blend of politics and religion that makes no sense regardless of whose side one is on. Yet into 2003, I hope what Chris brings with him is the memory of the years that he shared with his friend; that he brings with him the bright and unstoppable spirit that is Rick. And thanks to Chris’ sharing of what was probably one of the most difficult times of his life, we all take into the new year an even stronger will to end these tragedies.

leavessm.jpgIf we don’t go into the new year with hope, and determination based on this hope, how then can we possibly build future New Year’s eve’s that don’t close on similar tragedy?

So I sit in my chair, filled with the sense of anticipation that has nothing to do with clocks and countdowns, confetti and fireworks. And I ask you to check your worldly cynicism at the door, face forward not back, and join me in cherishing that which was, but dreaming of that which will be. For you see, next year is going to be a good year. No, next year is going to be a great year.

Happy New Year to all my friends!


With arms wide open
Under the sunlight
Welcome to this place
I’ll show you everything.

Creed, With Arms Wide Open




Best reasons not to blog

Recovered from the Wayback Machine.

Dorothea Salo isn’t blogging much today due to a house cleaning frenzy brought on by a photographer coming from the Chicago Tribute to photograph David because he’s being interviewed on Professor Tolkien’s eleventy-one birthday (David is the Elvish expert in the LOTR movies.)

Well, as non-blogging excuses go, this has got to be one of the better. So Dorothea, you’re off the hook. And rest assurred: I never drink to drive, though I have occasionally been driven to drink.

Water, of course.


Tiny Steps and Big Leaps

Recovered from the Wayback Machine.

Challenged by Clay Shirky, Ben Hammersley has created a special post to collect trackbacks related specifically to the LazyWeb.

What is the LazyWeb? Well, do you have an idea and need help with technical implementation? Do you need specific functionality or an application or utility, but you’re not a coder? Capture the idea as a LazyWeb request and ping Ben’s special site. Chances are the request will be filled before the ink is dry on the page.

Ben’s idea, a demonstration of LazyWeb in action, is great. I agree with Poetic Geek’s delight in the concept, though I’m not sure that I’m “…giggling with girlish delight” over it.

I think we’re seeing a new form of open source development, based on technology developed for the community and its immediate, expressed needs. A case of community searching for technology rather than technology on the hunt for a users.

I would like to see additional efforts associated with this. For instance, it would be great if people would flag weblog posts that provide solutions for LazyWeb requests, or that provide technical help, especially within the weblog community. A case in point is my MT Comment How-To, further refined by other contributions in the comments. By isolating these items we can begin to build online technology centers that are anything but centered — true distributed technology, and true distributed technology documentation. There are just some things that shouldn’t roll back into the dustry reaches of the archives.

Perhaps Ben can stretch his LazyWeb post to a complete LazyWeb weblog, tracking LazyWeb implementations and providing a focal point for this effort in 2003? Not that I’m volunteering Ben’s time, and I am more than willing to volunteer to do this myself if Ben would rather. After all — we want to track fulfillment as much as request.

Additionally, I would also like people to start putting their code online. This last week there was a great deal of discussion about the CITE tag and how it can be used to provide specialized processing. Well, that’s great and good, but let’s see the processing? Can we see the code that Mark used. Or Sam’s code? I played with CITE a bit and created some code, which I then packaged for people to download. Not great code. Maybe not even good code. But at least it’s there if anyone wants it.

For instance, the code allows me to reach into Ben’s new LazyWeb RDF/RSS file and pull out existing topics and descriptions, as shown here.

There. I guess that’s my LazyWeb request — put your code online, let us take a peek. We promise if we shoot ourselves with it, we won’t blame you.


Good Enough

Recovered from the Wayback Machine.

Mark Pilgrim does not believe in the Semantic Web. He believes Semantics is hard; that the syntax for the Semantic Web is laughably complex. Mark wants to stay with the “…simple but relatively well-defined semantics of HTML.”

HTML is good enough for Mark, and I say that’s great, because no one wants to force the Semantic Web on Mark.

But HTML is not ‘good enough’ for me. HTML has pre-defined elements and I can’t add to these. HTML comes with a lot of baggage from the past, and I don’t want this. And HTML is primarily about presentation, and I’m not necessarily interested in this outside of my own web pages. Don’t mistake me: I’m not out to re-create the world, or provide tools that allows one to cut through the bullshit and drill directly to the truth. All I want is a way of defining data that is consistent, using a commonly occurring syntax with pre-existing tools that can parse that syntax.

I’ve worked with data since day one of my professional life. I wrote applications that traversed billions of lines of code from Peace Shield in order to populate a data dictionary. I was lead Information Repository modeler for Boeing Commercial. I helped the old Oracle Case tools people design their products. I’ve worked with PDES and POSC and other organizations, to find a way to define data so that it was interoperable between organizations without having to re-negotiate protocols. And I was looking for a magic interoperability protocol long before the web. It started with EDI, but EDI wasn’t good enough.

SGML didn’t work because, bluntly, we didn’t think about using it. HTML didn’t work because HTML was/is about web pages. XML didn’t work because there was no meta-data structure associated with the markup language. Even within RDF there are other serialization formats that aren’t ‘good enough’ for me. Mark points to Aaron Swartz’s RDF Primer that focuses on N3 notation. Aaron really doesn’t care for RDF/XML; N3 notation is ‘good enough’ for Aaron. But it’s not good enough for me.

RDF/XML, with its metadata structure (RDF) paired with a common syntax (XML), is a start on being ‘good enough’ for my needs.

The point though, is that for each of us there are technologies that aren’t ‘good enough’, and you spend your time finding ways to improve or expand or correct the technology until it is ‘good enough’. To Mark, this is improving how we use HTML, which is comendable. But to me, it’s finding ways to use RDF/XML and in the process explain RDF/XML so that others might also find some uses for it. I hope this is also seen as comendable.

Mark’s discussion about Semantic web and HTML is a response, in part, to Dare Obasanjo, who writes:


Given that the W3C thinks XML is the basis for RDF and the Semantic Web it seems the general direction going forward is to move towards replacing a WWW full of HTML documents to one full of XML documents.

If you are for the Semantic Web, you are for an XML Web not for an HTML one.


(I sometimes think that the W3C is its own worst enemy. So many noble goals, based on so many impracticable ideas. We keep telling them and telling them: webbies just want to have fun, but they keep pushing back with the search for truth, and a better way of life.)

Reading Dare’s comment, I can see why Mark feels that technologies such as RDF/XML are being pushed on him. I can see why he pushes back with:


RSS 0.91 is the simplest and most popular of all the RSS formats, it’s one of the simplest XML-based formats you’ll ever find, and 10% of the world’s RSS feeds are still invalid—mostly due to XML formatting rules (escaping ampersands, character encoding issues) that aren’t even RSS-specific. And you want to “move towards replacing a WWW full of HTML documents to one full of XML documents”? Are you sure? Because realistically, all you’ll manage to do is replace a morass of bloated, poorly written, invalid HTML documents with a morass of bloated, poorly written, invalid XML documents. And to tease any meaning at all out of these “semantic” documents, you’ll spend your days writing ultra-liberal parsers to parse invalid XML (or, God help you, invalid RDF/XML), and you’ll spend your nights and weekends decrying “the new generation of tag soup” on XML-DEV.


Dare’s comment, and the W3C esoteric ideals aside, isn’t that what the move towards XHTML is all about? Moving towards valid and well written XML documents that are based on the HTML vocabulary? Isn’t that the whole point of technologies such as XHTML and CSS: to replace those …bloated, poorly written, invalid HTML documents? To realize the full potential that started with HTML, before we got sloppy?

Innovation and improvements in technology don’t come about because technology is ‘good enough’. They come about because technology is full of holes and no matter what we do we’ll never plug all of them. But we’ll keep trying and we’ll keep improving and in the process, we’ll discover new and exciting technologies, and we start the process all over again.


It’s all angle brackets

In his recent post, Mark Pilgrim writes that he is amazed, bordering on appalled because of reaction to his posting about the CITE tag. I was a bit surprised myself because the posting wasn’t necessarily about revolutionary uses of technology. However, what Mark did do, in just a few words, was hit the hot spot in several debates: XML versus HTML, machine readability versus human readability, the semantic web, RDF, and any combination of these topics. And for the cherry to complete this semantic sundae, he threw in some code. If his post was fishing instead of writing, it would be equivalent to using five different fishing poles, each with a different lure. And did he come home with a catch.

Semantics. People start talking semantics, and each person doesn’t understand what the other people mean by semantics, and therein lies the wonderful irony that seems to weave in and out of the web. Semantics is all about meaning, but eactly what does it ‘mean’? We have no problems with small ‘s’ semantics in the everyday world, but put semantics on the web, and it becomes big ‘S’ Semantics.

Mark uses CITE as an example of semantic markup in HTML. He has a point: CITE does carry with it meaning — that which is marked up with this tag is a ‘citation’. By defining the context of the element, we can, for example, discriminate between hypertext links that are just ‘links’ and links that are associated with citations.

I went back to one of my postings and added CITE to specific URLs that I wanted to designate as citations. With an itty bitty Perl CGI app, I can find all the citations in the page — as shown here. Embed the CITE within a hypertext link and I can also easily associate those citations with the author’s post, as shown here.

By using CITE in conjuction with a hypertext link, I attach special significance to the link, something I can’t really do with just a straight hypertext link tag, as shown here. CITE provides context for the link. Context provides meaning, and meaning is semantics. Works nicely.

However, and you knew there was a however, I am a greedy person. I want to know more, and at some point HTML just doesn’t have the items that can convey the ‘meaning’ that I’m after.

Sure, I can create little bots that go out and scrape HTML and return with all sorts of data. I can then create a huge database and push this data into it. And once I have mined all that data, I can then create these huge, twistie, complex algorithms and set myself up as a competitor for Google. I mean, all that’s missing is someone to do the graphics for me for holidays, and such.

But, you see, that’s not what I’m after. I’d like to be able associate new and even more complex forms of ‘meaning’ to web resources without having to store huge amounts of data, or to create ever increasingly complex algorithms, including finding devious ways of filtering out what amounts to “weblog spam”.

Ultimately, I want to record and find meaning without having to get VC funding, first.

That’s when something like RDF/XML enters the picture. Of course, you knew I was going to bring in RDF/XML — look to your left. The cover on the book doesn’t say “Practical meaning in a loosely connected environment filled with lots of data”. It says “Practical RDF”.

Let’s say I want to be able to find out Creative Commons license information for a specific posting. I could put this information into meta tags, or try and scrape it from the HTML. However, by embedding the information into RDF/XML, which is then embedded in the HTML, I can easily use one of my RDF APIs, such as my RDF PHP-based Query-o-Matic Lite, to pull the information out about the license — such as the required license information. Since I also store the RSS channel information within the page, I can also query this information.

Of course, I could get this RSS channel information directly from my RDF/RSS file, but I’d rather get specific information for a specific resource than my current running list of aggregated items.

The point of all of this, besides having a little fun with Perl and PHP and various forms of markup, is that all of this stuff is data and all of this stuff can record ‘meaning’, at least some forms of meaning. RDF/XML doesn’t replace the ‘meaning’ that HTML provides — it just adds a way to record new meanings that HTML can’t, or doesn’t provide.

I agree with Jon Udell — there’s no need for either/or propositions in the world of Semantic markup. It’s really nothing more than angle brackets, data, and a few rules depending on the specific markup used. Add a smidgeon of code and there you have it — rich, meaningful data. Sure beats the heck out of web consisting purely of Adobe PDF and Macromedia Flash files; all we’d have then is a bunch of loosely connected black holes.

(g’zipped and tarred file with itty bitty Perl CGI apps used as examples — requires HTML::BuildTree. g’zipped and tarred file of RDF Query-o-Matic files. Requires PHP XML classes from Source Forge.)

Archived at Wayback Machine