Showing posts from January, 2007

Skinny user activation

Toolman Tim has written up a short but sweet article on Skinny user activation. It's his attempt at refactoring what every web application requires: user authentication. He attacks the problem from a perspective of Skinny Controller, Fat Model. That's just fancy Rails talk for moving your business logic into the model classes, and cleaning up your controllers. Great work, Tim! Long live OOP!

Portland, Here I Come

Thanks to CD Baby, I'm going to RailsConf 2007 for free! I was one of the Top 20 Rails Contributors during Hackfest 2007. I want to know what Jeremy McAnally did to win first place with 1955 points. That man is a machine.

Some Thoughts on CRUD

I sent a helpful PDF on Rails support for CRUD and REST to a buddy of mine. He asked for some clarifications. Here's what I sent to him.

Try to think in nouns, and not verbs. Nouns are your Model classes, things which you can have instances of (User, BankAccount, Book, Login). That last example, Login, is where (hopefully) the light bulb goes off. Consider if you could only Create, Read, Update, or Delete *things* (nouns). How would you do a login?

One way, the old way, is to add a login method on your user controller. Think about what you're saying. You want to call the method (or *verb*) "login" on User. Already you can see we've left the CRUD methods, and a warning bell should go off.

If a user authenticated via User.login, what artifacts are generated? Are you simply returning a boolean? If so, how do you track logins? How do you ask "When was the last time I logged in?"

To solve the problem, you noun-ify the concept of login. Create a Logi…

There’s Semantics in Them Thar Hills

Bill de hÓra rightfully proposes that it would be very interesting to augment Planet software with scanning tools extracting RDF from uF and republishing the RDF for SPARQL queries or as RSS1.0.

I've often wondered why, or something like it, doesn't use semantic technologies to pull blog posts from the blogosphere that are related to, or about, semantic web technologies, RDF, OWL, etc. What's stopping this from happening?

Isn't the great Use Case of the semantic web to allow for more exact searches of web information? (I'm not specifically talking about Google knowing the difference between an apple (the fruit) and Apple (the computer company)) Why can't I say, "Create a Planet of all blog posts that are about the Semantic Web. Oh, and use only posts from authors who are known by Dave Beckett, Danny Ayers, and those that work with Jim Hendler." Wouldn't that be neat?

Of course, there is benefit in a human edited Planet RDF.

But what…

No One That I Know

Lee rightly asks Who loves RDF/XML? to which I reply, "No one that I know."

Is RDF/XML the core of the semantic web? I think it's easy to argue that the W3C thinks of RDF as the core of the semantic web. The web is made up of documents. Those documents are serializations (representations) or resources. The W3C's Recommended way of serializing RDF is RDF/XML. Therefore, if RDF is the core of the semantic web and it has to be shuffled around the internets, I think it's also say to assume that the Recommended way to do that is RDF/XML.

Clarification: RDF the Syntax Will Not Be Successful

Danny is spot on with his thoughts on Steampunk Semantics in response to my earlier Is Usefulness Inversely Proportional to Specificity? post.

Also, he's very right I conflated a few issues. To that I owe my 2 month old, who requires my Just In Time attention, and thus has me context switching faster than a single core CPU running a Java application.

I'd like to clarify and say that I feel that RDF the Syntax will fail. It's not able to embedded into XHTML in a way that anyone knows about or cares about. Microformats have succeeded here, allowing me to *very easily* embed metadata into XHTML.

Can I generate the same graph of metadata with microformat serialization or RDF serialization? I believe I generally can (though some research here should prove this). And this fact that RDF is also a data model might well be its saving grace.

"But what if I'm not publishing XHTML? How do microformats help me publish metadata?" you say? To which I answer: "Use NT…

Is Usefulness Inversely Proportional to Specificity?

Thinking about microformats and RDF, I'm wondering how microformats might succeed where RDF hasn't. To be clear, success to me is determined by penetration of the metadata format into run of the mill XHTML, and the ease at which someone can inject the metadata right into the XHTML document. In other words, success is awarded to the metadata format that has the lowest barrier of entry.

Will microformats succeed because they can and are so vague? Is RDF asking people to be too specific? Is the usefulness of a metadata markup format for the web inversely proportional to the specificity of the metadata itself?

Case in point. Go ahead and try to define what foaf#knows means. It certainly means something different from one person to another. The specification itself opens itself up to interpretation.

> knows - A person known by this person (indicating some level of reciprocated interaction between the parties).


> We take a broad view of 'knows'

This vagueness is a…

The Semantic Web Will Come, Just Without RDF

It's a relief to hear that Mozilla will add direct support for Microformats into Firefox 3. Through Microformats, you can quite easily markup your XHTML with extra semantics. You can, for example, declare that a particular set of XHTML elements contains a person's address.

Of course, by reading the web page, you'd be able to easily determine if that page contains an address. But can your browser? With direct support for Microformats, it will.

Once your browser understands that an address is present on the web page, you'll be able to easily add it to your address book of choice.

Ah, the dream within a dream. This is data aware browsing, people. If you want Web 2.0 to mean anything other than marketing hype, this is what needs to happen.

Want to try this type of data integration out right now? Give Operator a shot. It extends Firefox 2 to be microformat aware, allowing you to do _actually useful things with microformats_.