Just Shelley

Ca wars

Recovered from the Wayback Machine.

update Day 2 of car in the shop. I just called and the mechanic did start looking at the problem. I didn’t talk with him, but the office person. The mechanic did find a problem with the battery, but that’s not causing the problems. However, when he was starting to track for the short, the battery light went out. According to the office person, he needs the light on to be able to track the problem.

So she sits in the shop for day 3. I’m a little worried this is the start of a never-ending problem.

I have a 2002 Ford Focus with close to 80,000 miles on it. I have rarely had problems, and take good care of it.

Last weekend, when coming home from a walk, the car started to sputter when I stepped on the gas, and the radio went out. I didn’t think anything of it, because I didn’t have any dash lights on.

I stopped by the store and when I started to leave, the car wouldn’t start. The engine would turn over, but it wouldn’t continue running. Again I noticed that the radio also failed, though the lights and electrical windows were working.

As my roommate was on the phone to the tow, I tried the engine one more time and this time she caught, but barely. Still, we were able to get to the garage, though the car died permanently just outside the repair area.

The garage said the alternator was bad, putting out only 9 volts. The old battery, oddly enough, was still good. They replaced the alternator with a re-manufactured unit, and I paid an extraordinarily hefty repair bill and took off.

The next day, as I took off for another walk, I got the battery light. I drove it immediately to the garage, and they tested everything, couldn’t find a drain, and couldn’t get the light to come back on. I took off again.

The next day, the light came on, briefly, but now I’m getting a clicking sound in the dash, typically when I’ve been accelerating, and then have taken my foot off the gas. Yesterday and today, the battery light comes on intermittently. When I’m parked, and the light comes on, there’s a distinctive drop in the engine idling speed.

Before I take this into the garage again, do any of you recognize any and all of these symptoms? They all sound like alternator, and i know that re-manufactured alternators can be bad out of the box, but I would have assumed the garage folks tested this when they tried to find out why the battery light came on. I’d like to have a little more knowledge under my belt before going in, so that I can better question the mechanics, especially if they come back with “Well, we couldn’t find anything”, again. Or worse, come back with another problem needing a repair I just can’t afford.

Any and all suggestions would be welcome.


A battle of Beliefs: RDF, Natural Language Processing, and the future of the web

Last Week in HTML has been practicing its wicked ways, and pulled a quote from a comment I made to a post at Sam Ruby’s

Ian is wrong. Absolutely, completely, and dead wrong.

rather than Ian shouting out “Hurrah!”, he says we must have five different solutions to the five problems, because to do otherwise is to…what? Give up control? Fail to meet the Guinness Book of World Records for largest, most pedantic specification ever derived by man?

At first glance, this seems a repetition of an argument that is growing thin with overuse, but the recent discussions in the RDFa mailing list, about RDFa in HTML5, provides a clear demonstration of the basic disconnect between the parties. Enough so to make it of value to re-visit the discussion, again.

On the one hand, you have RDFa, which is a serialization of RDF, which is a formal data model providing support for a universal form of structured data. On the other hand, you have those whose ideology for the future of the web is based on natural language processing. This is an old, old battle and one we’ve been fighting since RDF was first proposed—prior, really, as I remember working ideological differences between natural language processing, as compared to structured data techniques, in various projects at Boeing in the 1980s.

One would think, then, considering the age of the debate that we wouldn’t fight this old battle in the lists for HTML5. Why? Because it exists above and beyond just HTML5. It is a debate about the fundamental nature of the web, at its most general and profound level, while HTML5 is really nothing more then the next generation of HTML. However, we are fighting this macro battle out in the micro lists of HTML5, but deceptively so.

Those who support RDFa have been continuously asked to provide use cases for RDFa, and have created a wiki page to record these use cases. But each time the use cases are proposed, we’re given a response that the use cases are inadequate, and different sets of criteria for how these use cases can be “improved”. It is frustrating to the RDFa adherents, stumbling about in the dark hoping to hit exactly the right “fit” in order to satisfy these never-ending requests.

In the new thread, though, the underlying ideological differences are peering out through the fabric of technical obfuscation, and we see the real purpose behind the demands for RDFa to justify its existence in HTML5. We’re not being asked to justify RDFa in HTML5; we’re being asked to justify RDF, and beyond that, we’re being asked to justify the concept of structured data. Not just once, but for every instance of a use case.

Ian Hickson writes in one comment in the mailing list thread:

I wouldn’t worry too much about the various solutions in each case — a list of solutions can never be complete, and people will never agree on what consists a pro and a con. What would be useful, though, is an example of how RDFa is expected to solve the problem, e.g. with sample markup showing how the relevant data might be encoded and code snippets showing how the data would then be processed; and a discussion of ways to deal with the likely problems (e.g., for this particular use case: how to deal with authors screwing up and encoding bad data, how to deal with apathy from sites that you want to scrape data from, how to deal with malicious authors encoding misleading data, how to deal with spammers, how to deal with requirements like Amazon’s desire to track per-developer usage, how to enable monetization for producers who are intentionally obfuscating the data today, etc. I expect other use cases will have different problems).

The first set of requests are reasonable and have been demonstrated. I use RDFa in my site to document each post with a formal title, author, date, and set of topics, each of which can be extracted using a PHP API that I’ve installed at my site. I plan on using this data in order to generate my front page eventually. This same data can be extracted with a Firefox toolbar, too, if I’m so inclined, and used to output an RDF document for other’s to consume. The data has also been extracted as part of Yahoo’s SearchMonkey effort, I do believe.

Others have provided examples of the Creative Commons licenses, and FOAF, and other uses of RDF/RDFa. Not only the purpose behind the use but even demonstrations of how the data can be combined across pages. These seem to meet the requests for demonstrating code to both incorporate the RDFa in HTML5, as well as code to pull such data out.

As for authors screwing up and providing bad data, well I have to assume the same mechanisms in place, in the browser, when a person inputs bad data into an alt attribute (if it survives in HTML5) would be in place for bad data in a property attribute. And if the data is coded incorrectly, applications expecting valid RDFa wouldn’t be able to process the data, but that’s little different than applications not being able to process a bad script, or malformed piece of SVG, or even a crappy video file, embedded in the page.

The questions I just responded to are legitimate questions. They serve a purpose, and a person can determine by looking at these questions what needs to be provided to ensure the success of the use case. But then we start getting into murkier territory. Ian asks, how to deal with apathy from sites that you want to scrape data from, how to deal with malicious authors encoding misleading data, how to deal with spammers, how to deal with requirements like Amazon’s desire to track per-developer usage, how to enable monetization for producers who are intentionally obfuscating the data today, …

My god, how do we deal with these on the web today? HTML, itself, fails badly with all of these, so do we give up on HTML? If not, then why are we demanding a state of rigor from RDFa that we’re not willing to apply to HTML5, itself?

If you think this latter set of questions were tongue-in-cheek, perhaps a bit of markup levity, Ian repeats them, later, in the same thread

Do we have reason to believe that it is more likely that we will get authors to widely and reliably include such relations than it is that we will get high quality natural language processing? Why?

How would an RDF/RDFa system deal with people gaming the system?

How would an RDF/RDFa system deal with the problem of the _questions_ being unstructured natural language?

How would an RDF/RDFa system deal with data provided by companies that have no interest in providing the data in RDF or RDFa? (e.g. companies providing data dumps in XML or JSON.)

How would an RDF/RDFa system deal with companies that do not want to provide the data free of charge?

How would an RDF/RDFa system deal with companies that want to track per-developer usage of their data?

One could ask all but the first question about HTML, and not find satisfactory answers. Yet we’re being asked to provide sufficient answers to these questions for a small subset of attributes in HTML5, which would form the basis of support for RDFa. As for the first question, Do we have reason to believe that it is more likely that we will get authors to widely and reliably include such relations than it is that we will get high-quality natural language processing?, this, again, brings us back to a fundamental differences in ideology, natural language processing as compared to structured data, and how can one deal with such profound differences in something like a use case?

To repeat what I said earlier, the issue isn’t about RDFa in HTML5. It is about the existence of structured data on the web. It is the underlying purpose behind RDF. It calls into question a decade’s worth of work, based on the input of hundreds if not thousands of developers and designers. It is questioning the fundamental separation of ideology between the web of the future based on natural language processing and the web of the future based on structured data. But where the structured data folks, those who support RDF, and RDFa, welcome natural language processing as a complementary process, the natural language processing folks seem to see the very existence of structured data woven into web documents to be anathema.

Now, someone tell me how we can break through this wall with use cases?

Dan Brickley chastises those on the RDFa group who see this as a battle, writing

This is not a battle. Battles kill people. It is a dispute amongst technologists who have varying assumptions, backgrounds, collaboration networks and agendas, and who are slowly learning to see each other’s perspective.

Please (and I am very serious here) stop using such bloody metaphors to describe what should be a civil and mutually respectful collaborative process. You will not improve anything if you foster this kind of perspective on our shared problems. Battle talk results in a battle mindset. I do not want to hear any RDFa advocates talking in such terms.

Really, enough with the battle stuff. Go find someone who works on HTML5 and be nice to them, find common ground, try out their tools.

Play nice…try out their tools.

I have tried the tools, and in fact just tried the HTML5 validator with the SVG, MathML, and RDFa (minus Curie) preset, and aside from the fact that it tossed my DOCTYPE, didn’t like my profile attribute, some of my meta elements, and the use of “none” as a value for preserveAspectRatio in my SVG, the validator had no problems with any of my RDFa. I would have to assume, then, that we have seen a demonstration of RDFa in HTML5…and found it good? And lo and behold, the RDFa extractors have also found the same page, and the same use of RDFa, to be good. Hands across the water.

But evidently, not sufficient. What else must we do to play nice? Well, Sam has laid out the “nice filter” in comments to his post that began this particular thread

What would it take for inclusion of the RDFa attributes in HTML 5 to be tracked in the W3C HTML Working Group issues list? Given the links I provided at the top of this post, I’d say that pretty much all of the pieces are in place except for a discussion on the public-html mailing list.

What work would be helpful in getting this to be resolved successfully? Fleshing out the use cases addressing as much of these concerns as are relevant.

How can you help? Join the WG and/or contribute to the wiki.

Just so that it is clear, as we move towards summer I plan to become ruthless in clearing out issues which have been raised but don’t appear to have any substantive proposals or support. There is much good work in HTML5 and it would be positively criminal for it not to advance due to procedural maneuverings. I don’t intend to let that happen either.

And this then leads us back to the questions posed by Ian, above. For each use case, must I then justify RDF? Structured data? Must I give details about how spammers will be vanquished, and evil corporations not allowed to monetize such effort? Must I provide a 12-step program in how to lure the reluctant microformat user into the fold? Does the fact that Virgin Mobile misused the Creative Commons license to publish photos of people without getting model releases, mean that the use of RDF/RDFa to document a Creative Commons license can never be a valid use case? After all, it fails the evil corporate use case requirement being demanded of RDFa.

There seems to exist a gentleman’s agreement in these specification email lists, whereby the participants humor absurd questions such as those proposed by Ian. Well, thank goodness I’m no gentleman.

If the RDFa in HTML5 adherents will be required to provide not only justification for RDFa, but also justification for RDF, as a whole, in addition to a dialog and debate about the fundamental differences between natural language processing and structured data with each and every use case, then I fail to see the “niceness” supposedly in play here. It’s difficult, too, to see exactly what we’re supposed to do to bring about this so-called “common ground”. Ultimately, structured data people see natural language processing as complementary, and that there is room on the web for both ideologies. The natural language processing folks see structured data as competitive, and that the web of the future will be based on one or the other, but not both. How do you work through that kind of difference?

Burningbird Technology

Porting from WordPress to Drupal

If you access my Frugal Algorithm site right now, you’ll see a closed for maintenance sign. I am in the process of porting the site from WordPress to Drupal.

WordPress is an excellent application, but I really do find it incompatible with my interests. I miss my Views, and the way that Drupal implements extensibility. I found returning to WordPress to be too constraining, though I think the nature of the constraint is what makes the tool an excellent product for those who want a weblog, without having to bother with other aspects of a content management system.

Trying to support multiple content management systems is not viable. I do have one job I want to finish for a friend, but after that, other than answer general questions for friends, my WordPress days are at an end.

Photography Plants

The Language of Flowers

Recovered from the Wayback Machine.

Yesterday I took what will most likely be my last photographs of the annual orchid show at the Missouri Botanical Gardens. Though the flowers still charm, trying to focus all my attention through the lens while simultaneously avoid stepping on an elderly man, or rambunctious child, has proven too much and I decided yesterday the pictures taken will be my last.

The Missouri Botanical Gardens is celebrating its 150 year anniversary, and the show is focused on the Garden, itself, rather than on some whimsical tale or story. I think better of the show for returning focus to the Gardens, and for its simple and elegant design. In particular, I liked the foyer decoration this year, with its emphasis on Victorian and turn of the century gardens and flowers, centered on a collection of tussie mussies and an antique book the Garden people pulled out for inclusion in the show: the handmade booklet titled, “The Language of the Flowers”, given as a gift from husband to wife. The front of the book contains a lovely little poem, perfect for Valentine’s Day

There is a language ‘little known,’
Lovers claim it as their own.

Its symbols smile upon the land,
Wrought by nature’s wondrous hand;

And in their silent beauty speak,
Of life and joy, to those who seek.

For Love Divine and sunny hours
In the language of the flowers.

Though the sophisticate may find the poem overly simple, he or she may change their mind when they look at the book where the poem is contained, and at the page after page of flower names and their meaning, all written out in the gift giver’s best copperplate, and each hand decorated.

Language of Flowers book cover

Language of Flowers pages

Language of Flowers poem

The language of flowers had its roots throughout history, but in Victorian times, flowers and their meanings formed a new language, a secret form of communication between friends, lovers, and would be lovers. One could not say, “I love you” to a maiden, but one could imply his love with a gift of red roses. Whether the rose had its thorns or not provided a separate message, as did the number of petals and leaves. Gentlemen would send entire bouquets of different flowers, all combined to create a complex message, and a favorite parlor game was trying to decipher the message so given. What an elegant form of communication.

In the language of the flowers, an orchid means beauty and refinement, so my gift of beauty and refinement for you.

Orchid from MBG 2009 orchid show

Orchid from MBG 2009 orchid show

Orchid from MBG 2009 orchid show

Orchid from MBG 2009 orchid show

Orchid from MBG 2009 orchid show

Orchid from MBG 2009 orchid show

Orchid from MBG 2009 orchid show

Orchid from MBG 2009 orchid show


When can you use…now if you choose

Continuing the theme of moving forward in web design…

  • Several people have linked or otherwise noted Alexis Deveria’s excellent When Can I use… application. You can select from various options, including specifications or by browser, date, and so on, and you’ll get recommendations about what you can and can not use. I tried it by selecting all browsers but IE, specifications that are in recommendation status, and currently implemented or will be implemented in the very near future. The application recommended SVG, MathML, and serving web pages up as application/xhml+xml. When I added candidate recommendation, then all of the functionality I currently use was listed.
  • Robert Nyman says Stop developing for Internet Explorer 6.0, which echos our effort to generate an IE6 End of Life effort last year. Robert is receiving about the same concerns I received, and along the vein of “But the customer wants…”. This is a far cry from the designer community that existed a decade ago that asked for, nay demanded adherence to web standards. Some would say it is a sign of the times, but as my readings of the Great Depression has shown, it is exactly during times like these when great changes come about.

    If we extrapolated the continuing active support for IE6 to other industries, our cars would only get 5 miles to the gallon, our music would only come from stores on flat discs, books would only be available on paper, and we’d all still be developing CGI applications in Perl.

  • Smashing Magazine has a nice writeup on PHP IDE’s, including comparisons. I must admit to being old fashioned, and still using vi/vim. Vi rules.
  • Michael Bernstein has an ambitious plan to public a new web app every Wednesday. I’m currently playing with 1LinQR. I’m not sure about creating a new web application every week, but I am thinking of creating some form of scheduled output, to add structure to my life.
  • Speaking of structure, I received a suggestion to try the CMS Joomla this week, and am thinking of starting another subdomain for that purpose. I’m finding, though, that supporting multiple CMS applications is becoming an increasingly complex challenge. For example, though WordPress and Drupal, and Joomla, too, are PHP-based, they all have significantly different template systems and frameworks for extensions. I’m having the devil of a time wrapping my mind around the WordPress way of doing things now, as compared to Drupal’s. Then there’s the upgrades: I just finished ones for Drupal, and Drupal modules, and now WordPress is at 2.7.1.

    What I think I’ll create is a shell script that backs up all of my sites, databases and files, downloads whatever is the latest of Drupal, WordPress, and Joomla (if I do try the application), and whatever other applications I use, and then upgrades each, even if the software hasn’t changed. Then once a week I could do a blanket run at my entire site. There shouldn’t be broken bits, but if there is, well, then I’ll have a better idea of the robustness of the applications. Running an upgrade on a site with the same version of software currently installed should result in no change in the application.

    Since today is Charles Darwin’s birthday, call the approach CMS natural selection. No, not survival of the fittest, which really isn’t an evolutionary concept. My script process will naturally select for extinction, those applications that fail.

Speaking of which, Happy Birthday Charles, Happy Birthday, Abe.