Categories
Weblogging

Tying communication threads together

discussion broke out at Sam Ruby’s talks about weblog popularity. In particular, Jim Winstead wrote:

 

The navel-gazing among some webloggers is pretty monumental, and systems like technorati, blogdex, and popdex reflect that.

 

I agree with Jim. As I mentioned in my own post, Third Generation of Weblogging, following an analogy of human growth to weblogging generations, this last blog generation is similar to our teen years with our fixation on popularity. S/he with the most links, wins.

The hypertext link is still our most direct tool for connectivity, but we need to make links ‘mean’ something other than bland acceptance and hence popularity. We need to start tying communication together and the link is the tool of choice, but we need to start using links effectively.

Of course, this leads me back to my own personal bugaboo: blogrolls. My blogroll replacement functionality is complete except for one thing — the blogroll links themselves. If I pull these links from the main page, delink them all, this action results in one less ‘class president vote’ so to speak for all my blogroll members. This impacts on each weblog’s ranking in technorati and blo.gs most watched and the blogging ecosystem, not to mention Google rank. My decision to not go with a blogroll impacts on other people.

Is it fair of me to implement a new way of doing things in my weblog that influences the participation of each of my blogroll listees? The old “my weblog, my choice” of course takes precedence, except that now we’re seeing twistie little threads of community, sticky strands of webbing that tie us together a tad more than is implied by ‘journal’.

After all, if we didn’t care about interaction within the weblogging community, we wouldn’t implement comments, or trackback, or link to each other, or correspond with each other on the phone or within emails. We’d just write and be indifferent to that which doesn’t impact directly on us — the pure journalist who never sees his or her audience.

(I just realized something — going back to writing in a void is almost repugnant to me now. What have you all done to me?)

Yet at the same time, there is a quality of “recommendation” to blogrolls that I don’t care for, above and beyond the political use of blogroll links; an assumption that blogrolls are made up of people whose weblogs, and indirectly writing and opinions, we recommend. You may not mean this by your blogroll, but that’s how people can, and do, perceive them. Do you want to recommend the weblogs you read regularly? Do you read weblogs regularly that you don’t recommend so therefore you don’t list in your blogroll?

At the Blogstreet site, they define Blog Neighborhoods as:

 

It is a set of Related blogs based on the BlogRoll of the analyzed blog.
For Authors, their Neighborhood is a pool of blogs to track.
For Readers, it helps them to find more blogs similar to a blog they have liked (emphasis added).

 

But, but, but — the weblogs in my blogroll aren’t similar to mine. In fact, many are quite different. Blogrolls are just like HTML elements: there’s an interpretation attached to them that can vary, considerably, from the original intent.

blogroll == em
blogroll == img
blogroll == a
blogroll == blink!

Anyway, the approach I’m considering at this point for my blogroll replacement is a PHP page that lists links to all of the weblogs that are among my significant quotes, with a caveat that no similarity or agreement with the writing is implied by the link — follow at your own risk. If the buzz sheets are smart enough, they’ll follow a link from my main page to this page, and people will get their votes. If they care. This is in addition to the PHP code that will randomly pick a weblog quote for the weblog main page.

What think?

Categories
Writing

O’Reilly twenty-five year anniversary

O’Reilly is celebrating it’s 25 year anniversary. That’s a lot of critters on a lot of covers. Congratulations to the many people I have worked with at O’Reilly, especially Simon, Tara, David, Andy, Linda, Ron, Edd, Nate, Todd, and Derrick

I’m celebrating by finishing the first draft of the last book I’m writing for O’Reilly.

Rah.

Categories
Political

Mein America

I don’t watch much commercial TV, so the ad I saw may be old to most of you. The TV commercial showed a group of men having lunch at a diner, one of whom is complaining about taxes. His companions are obviously uncomfortable with the talk, and a couple in the booth behind the man looked over at him in fear as they quickly leave the booth.

His friends tell him:

“Calm down.”

“Do you want them to ruin your life?”

“They can do that you know.”

At the end of the commercial the words:

 

Freedom. Appreciate it. Cherish it. Protect it.

 

The ad was sponsored by the Ad Council — the consortium of US advertisers that perform voluntary ad campaigns.

At first, I was pleased by the ad, thinking that here is a mainstream organization warning Americans what’s at risk if they continue to give up freedoms in the name of ‘safety’. That was before I explored the Freedom campaign at the Ad Council web site.

According to the Council web page:

 

Developed following the tragedies of September 11th, the Ad Council’s Campaign for Freedom is an unprecedented volunteer effort from the advertising industry. The initiative is designed to assist Americans during the war on terrorism through the development of timely and relevant PSAs. This first round of PSAs has been created to celebrate our nation’s freedom and remind Americans about the importance of freedom and the need to protect it for future generations. According to research, Americans are looking for messages that will inform, involve and inspire them during the war on terrorism. (emphasis added) This inspirational campaign is advertising’s gift to America. All of the ads conclude with the powerful tagline, “Freedom. Appreciate it. Cherish it. Protect it.”

 

I watched the TV commercials (all available at the web site) as a man is arrested for delivering newspapers, another for asking for forbidden books in a library, and church members attending services secretly. All the ads are intended to ‘inform’ the American public about what will happen if we don’t continue to support the war on Terror. All horrifyingly demonstrating the reality of what is happening to this country because of the war on terror.

 

The whole art consists of doing this so skillfully that everyone will be convinced that the fact is real, the process necessary, the necessity correct, etc. But since propaganda is not and cannot be the necessity in itself, since its function,
like the poster, consists in attracting the attention of the crowd, and not in educating those who are already educated or who are striving after education and knowledge, its effect for the most part must be aimed at the emotions and only to a very limited degree at the so-called intellect.

Adolf Hitler, “Mein Kampf

Categories
RDF Writing

Final TOC and home stretch

Next week I’m delivering to my editor the complete first draft of “Practical RDF” for O’Reilly. Yeah, finally. No one has seen the complete TOC, including the tools, APIs and whatever used in the book and I thought I would provide a heads up before the book is released for public review.

If you’re interested, the TOC is duplicated below. If you have concerns about the technology used, or are curious as to why I’m covering one tool over another, or suggestions about tools/apis/topics you feel I should have covered, please leave a comment or send me an email.

Once the book has had a look over by my editor, I’ll be posting OpenOffice versions of each chapter for chapter by chapter review at http://rdf.burningbird.net.

The book ended up featuring over 50 different tools and APIs, in seven different languages (Perl, PHP, Python, C, LISP, Java, C#, and even Javascript), on three different databases; most of the APIs and tools are currently in alpha/beta state, not to mention the RDF spec itself, now heading towards last call. This was a challenging and rather frustrating experience at times.

Grr.

But, most of the tools and APIs were freely given and open source, supported by people who want nothing more than to provide nifty technologies for people to use.

Grr-eat.

TOC:

 

Chapter 1. Introduction
This chapter will introduce the book, as well as provide a brief history of RDF including current efforts as of the date the first draft of the book.

What exactly is RDF?
A Brief History
RDF and the Semantic Web
Current Specification Efforts
The RDF Specifications
When to use and not use RDF
RDF Controversies
Related Technologies
The RDF Primer

Chapter 2. RDF: Heart and Soul
Focuses on the Concepts and Semantics specifications

The Search for Knowledge
The RDF Triple
The RDF Graph
The URI
RDF Serialization: N-Triples
Datatypes
Talking RDF: Lingo and Vocabulary
Sub-Graphs
Graph and Not Ground
Entailment
Equality
Assertions

Chapter 3. Basics of RDF/XML
The major elements of the RDF syntax are introduced and discussed. Covers the syntax and test cases docs

Serializing RDF to XML
Nodes
Stripped Syntax
Properties
URIs, Qnames, and Abbreviations
The Type Property
RDF Blank Nodes
More on RDF Data Types
RDF Shortcuts
The RDF Test Cases

Chapter 4. Specialized RDF Relationships: Reification, Collections, and Containers
More complex constructs with some semantic challenges.

RDF Containers
Basic Container syntax
Typed node emulation
RDF Collections
What Containers and Collections ‘mean’
Reified Statements
An Example of Reification
The Necessity of Reification and Higher-Order Statements
A Shorthand Reification Syntax
Why Big Ugly?
Why Reify?

Chapter 5 Important concepts from the RDF Vocabulary
The RDF Schema provides the roadmap to creating an RDF vocabulary. The “rules” are covered, with examples to clarify the more complex topics.

RDF Schema: Defining the Metadata
Metadata’s Role in Existing Applications
RDF Schema: Metadata Repository
Core RDF Schema Elements
Overview of the RDF Core Classes
Demonstrations of the RDF Core Classes
Refining RDF Vocabularies with Constraints
RDF Schema Alternatives

Chapter 6. Defining RDF Data Schemas
This chapter provides coverage of defining a custom vocabulary for RDF. Discussion will also cover PICS, as an example, as well as other examples.

What do we mean by Vocabulary
Defining the Vocabulary Business and Scope
Defining the Vocabulary Elements
The PostCon Elements
Prototyping the Vocabulary
Adding in Repeating Values and a container
Formalizing the Vocabulary with RDFS
Another Example: The Dublin Core
An overview of the Dublin Core MetaData Element Set
Dublin Core in RDF/XML
The Qualified Dublin Core elements
Mixing Vocabularies
Using DC-dot to generate DC RDF
When Precision isn’t enough

Chapter 7. Ontologies: RDF Business Models
Why Ontology?
DAML+OIL
RDF and OWL

Section II – RDF Tools
Now that we know what it is, how can we work with it?

Chapter 8. Merging RDF with Other Technologies
Using RDF with other applications.

RDF and Links
RDF and SOAP
Generating RDF with XSLT
RDF and UML
RDF and SVG

Chapter 9. Editing, Parsing, Generating, Converting, and Browsing RDF
Browsers
BrownSauce
Parsers
ARP
Raptor RDF/XML Parser
ICS-FORTH Validating RDF Parser
Javascript RDF Parser
Wilbur
Editors
SMORE — Semantic Markup, Ontology, and RDF Editor
RDF Editor written in Java
Converters
Grove’s ConvertToRDF
Convert RDF to iCalendar (Dan Connolly) – RDF Calendar task force
DMOZ RDF Parser for MySQL

Chapter 10. Jena: A Java-Based RDF API
Overview of the Classes
The Underlying Parser
The Model
The Query
The Iterators
DAML+OIL
Creating and Serializing a model
Very Quick Simple Look
Encapsulating the Vocabulary in a Java Wrapper Class
Adding in more complex structures
Creating a Typed node
Creating a container
Parsing and Querying an RDF Document
Just doing a basic dump
Accessing specific values
In Memory versus Persistent Memory Model Storage
A Brief look at DAML+OIL in Jena

Chapter 11 RDF and the Three P’s

RDF/XML and Perl
Ginger Alliance PerlRDF
Model Persistence and Basic Querying
Serializing RDF/XML
Examining the Schema
RDFStore
The PHP XML RDF Classes
RDF-API
Class Overview
Creating an RDF Model
Parsing and Querying an RDF Model
PHP Classes for XML
Class overview
Rdql
Persistent RDF – rdql db
Python Support
RDFlib
Building a basic Model and Serializing
Parsing a model and queries
TripleStore and ZODB

Chapter 12 Querying RDF: RDF as Data
Basic relational syntax of RDF query languages
Querying with Jena
The Query Language
RDF Query-o-Matic
Querying with PHP
The Query Language
RDF Query-o-Matic light
Inkling–Querying RDF Data using SquishQL
Sesame
RDF Server (rdftp)
Versa RDF Querying Language

Chapter 13. A Brief look at other RDF Application Environments
Whatever works with XML, works with RDF/XML
Overview of Redland — a multi-language -based RDF Framework
Working with the Redland Framework
Redland’s language du jour – C
Using the Language APIs
Perl and Python
Redfoot
RDF and NET
C# RDF Parser
4Suite

Section III – RDF Goes to Work
We know what it is, we know how to use it, now list some of the uses.

Chapter 14. Subscription and Aggregation with RDF/RSS (RSS 1.0)
This chapter focuses on RSS, including how to expose content, including exposing content through userland, other sources. Chapter also covers Meerkat.

RSS: A quick History
RSS 1.0: A quick introduction
A Detailed Look at the Specification
Channel
Title, Link, Description
Items
Image
Textinput
Item
Extending the Specification through Modules
The RSS Modules
Core: Dublin Core, Syndication, Content
Extended
Brief look at RDF/RSS Aggregators
AmphetaDesk
Meerkat
Aggregating on a Mac
Creating your own RDF/RSS Content
(RDF/RSS isn’t only for news feeds)
Build your own RDF/RSS Consumer
PHP – using an XML API
Python – using an RDF API
Java – using a specialized RSS API
Perl – Ditto
Validating and Converting to RDF/RSS

Chapter 15. Mozilla: User Interface Development with XUL and RDF
Covers Mozilla’s use of RDF to process template data within XUL. Strong enough and significant enough to leave as separate chapter.
The Concepts behind XUL
A Brief Review of the XUL User Interfaces
Dynamic Table of Contents using XUL/RDF
Nested TOC Data

Chap 16. A World of Other Uses
FOAF: Friend-of-a-Friend
DMOZ Directory Outputs and the DMOZ parser
RDF Gateway, a commercial RDF Database
Chandler: RDF within an Open Source PIM
RDF and Adobe: XMP
Creative Commons license
Tucana KnowledgeStore (TKS)
A look at the RDF projects underway at Sourceforge

Appendix A. A Detailed Look at the RDF Grammar

Get permission from W3C to duplicate the RDF Grammar and productions

Appendix B. RDF Resources

URLs and notes to as many RDF resources as we can scrape together

Categories
People

Excuse me?

Recovered from the Wayback Machine.

We all know how much I like irony — almost as much as I like serendipity.

In Meg Hourihan’s latest weblog posting she writes:

 

It’s no wonder we’re seeing an increase in unemployment, people seem to have no idea how to apply for a job these days.

Meg then goes on to detail some of the problems shes had with applications, such as blank emails, obviously generic cover letters and so on. The irony enters the picture when she writes:

 

Of the more than 30 responses I’ve gotten so far, less than 1/3 have even followed the directions to apply.

Of the more than 30 responses… I would say that the current unemployment situation is more accurately reflected in the fact that Meg received 30+ job applications for one position.

Focusing on the actions or lack of actions of the unemployed doesn’t account for the worst unemployment figures this country has seen in a decade, regardless of the Bush Adminstration’s attempts to hide this information. Specifically it doesn’t take into account that the Dot Com explosion resulted in a glut in the technology market that is now resulting in unemployment among technologists that exceeds the national unemployment rate.

Seriously, I imagine that most of us who are unemployed would be glad to send tasteful little ‘thank you’ notes for an interview, if we’re just lucky enough to survive the flood of applications to get to that point.