Categories
Critters Technology

Cats and computers

I’ve been having considerable problems with my Dell laptop keyboard. Several of the keys (SHFT, CTRL, and ‘c’) only work if you pound them, hard, and the ‘a’ key keeps repeaaaaaaaaaaating.

Thinking that the keyboard needed cleaning, I grabbed an index card and started digging around underneath the keys.

Cat hairs. Thousands and thousands of cat hairs. Underneath every key is a little wad of silvery fur. Even after I removed about a cat’s worth of fur, I still had to pound the ‘c’, and the ‘a’ still keeps repeating, because I can’t get out all the aaaaaaaat haaaaairs.

Today the decision about getting a new keyboard was made for me when I clicked the ‘a’ key and the top went flying off across the room.

Categories
Technology Web

Name that space

Recovered from the Wayback Machine.

The fluff about namespaces in RSS 2.0 seems to have boiled down to: the major version number should have warned everyone that this version of the specification isn’t compatible with previous versions. The solution: generate both sets of Userland RSS (0.9x and RSS 2.0) until aggregators can properly work with the namespaces.

Tim Bray wrote in comments at Ben’s:

The best suggestion I’ve seen so far in the thread above is to leave RSS 2.0 with the all the elements in the RSS2.0 namespace, but for publishers to provide 2 different RSS feeds until people get used to it. And then turn off the non-2.0 feeds after a few months. -Tim

First, I agree with Dare Obasanjo — the breakage most likely did occur within aggregators that do support namespaces rather than the reverse; the namespace with RSS 2.0 ‘changed’ and this caused the breakage. However, I disagree with Dare that the solution is to just continue as is and have the RSS generators now create two separate Userland RSS feeds: one for 0.9x and one for 2.0.

How many feeds will we end up with by the time this is done — one for 0.9x, 2.0, and then the RDF/RSS, RSS 1.0 one?

Remember that old chestnut: Poor planning on your part does not make an emergency on mine?

Several things missed with all of this:

  1. Documentation of the namespace support in RSS 2.0 is non-existent, leaving a great deal of confusion about its implementation
  2. Most weblogging tools don’t have the capability of just adding yet another RSS feed, and most webloggers (or others who use software that provides RSS) don’t know how to program enough to generate their own RSS feeds (and those that do, don’t care)
  3. If RSS 2.0 is a major tool release, two weeks to hack it out, implement it, and then shove it into production is a farce — there was no time to allow for third party developers to adapt to the new specification
  4. Focusing on pure technical solutions to what is the result of poor business practices will only postpone these same problems until the next release of something like RSS

However, what I’m saying is not sexy and isn’t full of code. And since I don’t support RSS, it doesn’t impact on me anyway, so why am I talking about it?

One thing I will say, though, is that if RSS 2.0 had been based on RDF/XML, many of the questions arising now about RSS 2.0 would have been answered by the RDF specification, and there wouldn’t be this chaotic scrambling to understand what all of this means (namespace, default or otherwise). RDF/XML is an implementation architecture, and as such, provides a good understanding of what is, or is not, valid XML within the specification. That’s one thing RDF/XML would have provided.

Categories
Technology

PHP/MySQL Help

Recovered from the Wayback Machine.

My system has MySql 2.23.51, Apache 1.3, PHP4, FreeBSD, and I’m running into problems trying to update or insert into MySql with PHP. The update or insert works, but I get warning back:

Warning: MySQL: Unable to save result set

The change is saved, but the application breaks. No error message is generated in log, no error number is returned. I can insert or update using Perl without a problem.

I researched the problem and tried compiling PHP as a shared Apache module — and not. I’ve used PHP’s default MySql libraries, and have also tried local MySql libraries.

I’d sacrifice a chicken at midnight, if I thought this would work. Anyone recognize this problem? Suggestions?

Categories
Technology Weblogging

Consumer rights and RSS

Recovered from the Wayback Machine.

Yesterday was a disappointing technology day. I had hoped to use the position of devil’s advocate at the RSS-Dev group to see if we couldn’t get a firmer definition of what the group sees as its future direction, strategy, as well as specific reasons for use of RDF. I continue to see confusion reign as to a) what the group sees as its purpose, and b) what the group sees as its direction.

Last week, I found I was having a hard time justifying the use of RDF for throwaway syndication feeds. I’ve always felt that if you can’t easily justify something, or provide a solid argument in support, either you don’t understand the need, or there isn’t a need — one or the other. At this point, I couldn’t continue to support RDF for throwaways.

Phil found out in the last two weeks of very hard effort that sometimes RDF just doesn’t work for a specific application. Doesn’t mean RDF is ‘bad’ — I use it for 3 applications at my web sites and it’s wonderful stuff. But RDF isn’t a replacement for XML. Sometimes XML works better. Sometimes plain text works better. If we start developing an attitude of “It’s on the web, so let’s put it into RDF”, we’re guilty of using the right technology for the wrong task, which doesn’t benefit anyone.

Now, I can support RDF for a different type of business, such as persistently documenting each weblog or news item posting, using something that is Dublin Core like, but geared more towards the document sub-unit business. This then could be used for traditional syndication/aggregation, but would primarily be used to literally document our content — for searches, for identification, for whatever. And I tried to get the RSS-Dev group to bite off on this as a possible direction, but in the end I was left with “we’re syndication/aggregation”, or in another case, “we’re RSS and the purpose of this group isn’t justification but tools development”.

Making a long story short: though I respect many of the individuals involved with RSS 1.0, their effort and hard work and intelligence and capability as well as energy, I can’t continue to support RSS 1.0 or RSS-Dev. Not with this current level of confusion about what the group sees as its purpose.

Unfortunately, not supporting RSS 1.0 is seen as giving victory to Dave Winer at Userland, by forcing us into choosing an RSS 0.9x/RSS 2.0 path. However, I still don’t approve of Dave’s approach to implementing RSS and his unwillingness to give up ownership of it. I can respect Dave’s contribution, and his hard work and effort, and his intelligence and capability, but I can’t support a supposedly ‘open’ spec that’s controlled by one company.

Ultimately, supporting either specification means, to me, continuing to support this competition between the groups, competition which threatens to Never…Go…Away, as can be seen in the comments to Phil’s posting.

Sometimes, when I read these types of comments, I feel as if you and I don’t matter at all; that you and I are nothing more than scraps of meat being fought over by two junk yard dogs. Well, this just peeves me. So, I’m taking the route that’s been available to consumers since the beginning of time: I’m not buying.

I’m not buying into RSS 0.9x. I’m not buying into RSS 2.0. I’m not buying into RSS 1.0.

I changed my RSS 0.91 and RSS 1.0 templates to read the following:

 

RSS not supported here

This weblog does not support RSS 0.9x, RSS 2.0, or RSS 1.0. If you wish to view entries, may I suggest that you visit the weblog, and save your fast skimming for the New York Times and Wall Street Journal.

 

My weblog. My web sites. My choice.

Categories
Web

Who is your audience and what are you trying to accomplish?

Recovered from Wayback Machine.

Just posted the following over at RSS-Dev (edited to remove typos):

There seems to be three separate threads running along the lines of “Who are we and what are we trying to accomplish”, mixed in with proofs and justification of keeping RDF in the mix. How can the energy expended into these threads be coalesced into a determined course?

I asked the question, here and elsewhere, who is your audience? This isn’t marketing or make work. This is a genuine attempt to understand what this group hopes to accomplish other than working with cool technology for the sake of the technology. What is the business of this group?

If RSS, past and current, is based on providing syndication and aggregation feeds, and nothing more, than I agree with those that say RDF adds nothing to the mix, and not because RDF adds complexity — the reason is because the business of RSS isn’t necessarily compatible with the business of RDF.

In the last few weeks, Phil Ringnalda has been working on a application to process RSS 1.0 files and combine this with FOAF to provide a sophisticated interface allowing us to find who has posted or commented on what topic. Yesterday he hit what is probably the core difference between the business of RSS and the business of RDF — the fact that tools generate labels for blank nodes, and that these labels will vary each time the same file is parsed. (See
http://philringnalda.com/archives/002327.php). RDF/RSS (RSS 1.0) has blank nodes.

RDF is a meta-language for describing items that exist in such a way that this data can be processed with the same set of tools and combined with a great deal of confidence that this mergence results in a valid pool of rich data. It is literally a markup version of the relational data model, and as such, is extremely useful and necessary to help with the chaos that XML created. However, there is an implied persistence to the items described with RDF, the same as there is with relational databases. Data may change and be removed, but there is no temporal self-destruct attached to the items.

RSS, as the majority of those who view it (the users, not the tool developers) is a syndication feed — nothing more than recently updated items that can be polled and aggregated. There is no implied persistence. In fact, the business of RSS is based on impermanence.

This is a major difference in ‘business’ between the two concepts. From a database perspective, this is equivalent to using an RDBMS when a flat file of comma-delimited data is all you need.

If this group wants to continue providing a specification that defines syndication feeds, then it needs to consider that RDF not only doesn’t buy the group anything — it can harm the tool developers that use the spec. (Not to mention that trying to use RDF inappropriately can actually negatively impact the acceptance of the RDF specification.)

If, however, this group sees that what they’re working on transcends throwaway syndication feeds, then it needs to formally define exactly what the business is _before_ trying to create a spec that implements it. Hence my questions: who is your audience and what are you trying to accomplish?

Specific instances of technology aren’t an answer to these questions. This isn’t answered by, “Well, we’ll just continue as is and use XSLT to handle any problems in the future” or “We’ll use modules”. If you find yourself answering these questions by referencing technology, then either you’re missing the point, or (more likely) I’m doing a piss-poor job of explaining myself.

What is the problem this group is trying to resolve? What is the benefit this group is trying to provide that no other technology or specification provides? Who is your audience? Not the tool developers — people don’t write tools for no reason. Who are the consumers of the tools developed?

What are you trying to accomplish?

This understanding of the basic business goes beyond a name, though the name of ‘RSS’ is drastically adding to the problem by forcing a type of business on this group that this group really doesn’t want, as well as adding an element of competition that is both unnecessary and harmful.

Perhaps this group really isn’t interesting in throwaway syndication feeds. Perhaps this group is interested in finding ways of describing publication units that may or may not be smaller or bigger than an individual web page, and a side benefit of this is that the data can be used for aggregation purposes. Or not. I don’t know — the group hasn’t told me what the business is.

If you continually have to justify the use of something over and over again, either you’re wrong, or your audience is wrong. In either case, you need to re-focus your efforts, and either find a different audience, or stop beating a dead effort.