You are viewing page 161 of 220.

Coffee: How Do I Love Thee?

By Timothy R Butler | Posted at 8:12 PM

My good friend Eduardo is presently on vacation, and invited several people, including myself, to guest blog on his site over the time period of January 14-February 1. So far, two of my other friends and fellow bloggers, Josiah and Ed, have posted some interesting posts that are most definitely worth checking out.

Today, I finally posted a piece over there, which I thought I would link to from here. It is a piece honoring everyone's favorite brown liquid — coffee. Take a look and join me in celebrating the world's most perfect form of caffeine.

Request for Comments: Pingback NG

By Timothy R Butler | Posted at 12:14 AM

Trackback
Trackback is older than Pingback and is dominant primarily because it was advocated by Six Apart (MovableType). Now, with the winds blowing in WordPress' favor (at least from what I can see), I wonder if Trackback will eventually be marginalized, since Pingback is automatic in WordPress, whereas Trackback is not.

The flaws in Trackback, in my opinion, are as follows: (1) the pinging process uses the HTTP POST form data mechanism rather than XML-RPC and (2) there is no notification of what form the link takes on the site initiating the trackback. The first is a flaw that seems to be caused by a desire for simplicity. To send a form via Perl using Trackback, all we need to do is call LWP::UserAgent and feed it the form item names and contents. Easy, but not that much easier than feeding a properly formed XML-RPC document to LWP::UserAgent using the same POST method. This creates a situation where we send information in one format (URI Encoded form data) and receive a response in a different format (XML). The second flaw probably wasn't obvious when the spec was originally created, but is now clear; since I know what entry is being linked to but not the actual URL leading to that entry, my blogware must scan the initiating site's page for every possible format my URL might be in, if I wish to verify that linkage has taken place. Adding another parameter to the trackback spec (it could be optional for backwards compatibility) that contained the form of the link that the initiating blog was asserting it was using, would allow for an easy rectification of this issue.

Pingback
Pingback's problems are bit more annoying than what I have listed above. First, since the only two parameters of the spec are the initiating blog entry's URL and the destination URL (which, does, at least, solve my second complaint concerning Trackback), we are confronted with a big problem on a dynamic web site. The pingback client might tell me that http://site/blog/entry/22 is being linked to, but if I support multiple URL formats to request a given document (either directly via the blogware or indirectly via mod_rewrite), I must perform pattern matching to figure out exactly what http://site/blog/entry/22 links to. This isn't a problem in cases where the pages are static, such as some of those that Pingback seeks to support, but it is the problem in the case of blogware. This is not a problem with Trackback, since the trackback server can be different for each page (thereby identifying which document is being linked to), but it does rear its ugly head with Pingback, since the goal is to have one Pingback server for all documents on the site.

Therefore, I would propose that an additional, optional attribute should be added: Pingback-ID. This would be a text string that could be in any form and could be provided in the HTTP headers, just as X-Pingback supplies the pingback server location. A pingback enabled site could push this additional X-Pingback-ID header just as easily as the primary Pingback header, and it could specify, in the form of the server's own choosing, how to properly identify the page. The form of the string could be the local path to the document, an article ID number or perhaps even something encrypted so that the server could insure that it received an unmodified copy when the string is sent back. Even in the case of pingbacks to static documents, the server could pass along a Pingback-ID to insure that the real file being linked to is easily identifiable, should its actual location be obscured by mod_rewrite, for instance. The format would not need to be specified in the Pingback spec, since only the server needs to understand what the string means. Once the client pulled in this information, the resulting XML-RPC ping could contain this parameter in addition to the standard parameters of the pingback.

The second flaw I see in Pingback is that it does not include any useful information about the initiating site. Optional parameters ought to include title/site name and a text excerpt/description, in the same manner as a Trackback. Without this, the Pingback server must go and attempt to pick out useful substitute information from the initiating site if we want to include pingbacks with trackbacks in the comments section of a blog (as WordPress does and I have also done in SAFARI). While this works, it can produce less useful results than if we are fed the proper information by the author of the source document. By making this optional, we would avoid making the Pingback spec any more specifically tied to blogs than it already is, while greatly enhancing its ability to be a suitable mechanism for blog-to-blog communication.

Conclusion
Pingback's flaws, in my estimation, make it harder to implement in a manner that provides the Trackback-like functionality it is being used for in WordPress and other blogware, and frankly, limits its usefulness even in broader deployments, due to problems such as the aforementioned inability to easily determine what the destination URL links to on a server that uses mod_rewrite or otherwise is non-static.

That said, Pingback is consistent in its usage of XML-RPC, and therefore is preferable, in my estimation, to Trackback in the future. An improved, Next Generation Pingback spec (or “Pingback NG,” for short) could easily remove the most problematic parts of the system, creating a spec that was simple and efficient to implement in blogware, like Trackback, while remaining more flexible than Trackback in where it can be applied.

Useful links:

Another Favor

By Timothy R Butler | Posted at 7:57 AM

I believe I have pingback and trackback fully implemented (both the client and server). Both work against my test implementations of themselves, as well as against my test WordPress installation. That said, testing on the same server doesn't provide all the variables that could be involved. Thus, I am asking anyone who would be willing to please pingback or trackback against this entry — especially if you use MovableType (but even if you don't!). Five juicy asisaid points are yours for the taking if you do so, just for making me feel better about my code.

Note: I have it setup so that it only accepts one trackback/pingback from a given entry, so if you try to do both a pingback and a trackback, you'll find it only accepts whichever one is sent first. Also, I have everything in place for automatic detection of both types of pings, however, if your blogware needs to be manually fed a Trackback URL, you'll find one on the permalink'ed version of this page.

Thanks for your help! And thanks, once again, to Christopher, Josiah and Eduardo for their volunteering on my last call for help. Without the help of you three, I may not have gotten this far so soon.

Oligopoly Versus Monopoly for the Future

By Timothy R Butler | Posted at 1:19 AM

For the moment, neither Apple nor Microsoft are in any position to exercise anti-competitive behavior (the only part of being a monopoly that is illegal), simply because digital music is still a minute chunk of the market. But, both companies are behaving the way they usually do, so we can pretty much guess what things will be like once digital downloads become the dominate form of distribution by analyzing the two companies' track records.

Apple is a vertical kind of company. They create as much as possible in house so that it works in a simple and elegant fashion. You'll pay a bit more and you shouldn't wait for compatible clones, they ain't happing. That isn't the Apple way. This is the same as many other segments of the industry — for instance, the electronic gaming industry, where you would never expect a Nintendo Gamecube to be able to run Sony PlayStation 2 software. You could probably expect a lawsuit to occur if Nintendo even tried, just as Sony sued Connectix in the late nineties for making a Virtual PlayStation. And that's perfectly reasonable and legal.

Microsoft has a very different approach, partially because Microsoft is only a software company (normally, at least), unlike Apple, who has always been mostly a hardware company. Microsoft has always sought to open the hardware portion of the business up, because they aren't in that business. Yet, Microsoft is the company that has violated the Sherman Anti-Trust Act, quite likely for a reason that is lost on no one: they do not make the hardware, but by establishing a firm software monopoly, they have essentially taken all but a facade of control away from individual hardware makers. HP, Dell, Gateway and others who are beholden to Microsoft cannot afford to make Microsoft mad, lest they be cut out of volume discounts and development partnerships. This is true, even in the post-DOJ v. Microsoft world.

How does this factor into music? It factors in perfectly. Apple has chosen to keep FairPlay close to home, licensing it only to a fellow member of the PowerPC AIM trio (Apple/IBM/Motorola). Apple did, apparently, also approach Sony last year, only to be turned down, but essentially, Apple doesn't license stuff. The closest you'll likely see, I believe, would be more HP-like deals where Apple will co-brand iPods like PalmOne did in the past with Palm PDA's. Apple never tries to hide this. Microsoft, on the other hand, is on track to create the same kind of abusive monopoly in media players that they have in computers — all they have to do is topple the Apple iPod phenomenon. Think about it. Try to name one major media player, other than the iPod, that doesn't use Microsoft technology. You won't think of one, save for the dismal failure that is the Sony MP3 player.

That's right. Part of your purchase price for a Creative NuVo, Rio, Dell DJ, RCA Lyra, iRiver, etc. goes back to Redmond as licensing for Windows Media support, now known as PlayForSure. Likewise, think of online stores and try to name just one that uses something other than Windows Media, save for iTMS and Sony's store. This is very important. Microsoft has essentially secured control of both sides of the equation just like Apple has done with the iPod/iTMS, only there remains a facade of competition that will become increasingly hollow, presuming Microsoft manages to secure a majority share of the market.

Given that Apple seeks only to control its own platform, and not everyone else's, we can be confident, I believe, that even if the iPod remains the dominate player, Apple will never secure a real monopoly, simply because the iPod will not be the best player for every single person. However, Microsoft's plan allows for a very real ability to create another abusive monopoly, since Microsoft seeks to play the role of puppet master rather than actor on the stage of multimedia.

The media player war is only the beginning. Both Apple and Microsoft are trying hard to get their competing formats accepted as part of the next generation DVD standard. Whomever holds this will likely be given easy passage to dominance in the majority of multimedia on TV, the computer and elsewhere. While a win for Microsoft will usher in an era of the proprietary Windows Media Format, Apple's entry is only partially proprietary. It is true that the PlayFair DRM is proprietary, but AAC, the format of iTMS, is based on the open standard MPEG-4. In fact, the parts of QuickTime that Apple is advocating for DVD playing are also components of MPEG-4. What Apple has done with media formats is much like what it has done with Mac OS X. It has a proprietary element, but Apple has also willingly used an open foundation in both cases (MPEG-4 and the now FSF-approved APSL-licensed Darwin, respectively).

So, which is worse? An oligopoly where Apple controls its portion of the market, but is never dominate and even uses open standards as its foundation, or a competitively facaded monopoly dominated by Microsoft (and the companies beholden to the same) as one prong in its Trusted Computing Initiative?

To Geek or Not to Geek

By Timothy R Butler | Posted at 9:18 PM

I found this via Christopher. I'm nerdier than I thought. ;-)


I am nerdier than 70% of all people. Are you nerdier? Click here to find out!

More Code Debugging

By Timothy R Butler | Posted at 3:25 AM

http://whatintarnation.net/blog/archives/2005/01/06/blast-from-the-past-ii-my-first-field-trip/ For debug purposes, please ignore.

CNet on Pingback/Trackback.

more testing

Could I Ask a Favor?

By Timothy R Butler | Posted at 3:31 AM

I'm trying to finish my pingback/trackback client implementation for SAFARI. I set up a copy of WordPress to use as a test target, but it isn't working right (my WordPress installation can't seem to locate the test entries I posted on it). Would any asisaid reader using WordPress be willing to allow me to send some test pings/trackbacks to an old blog pos on your site? It would be a lot easier if I was testing against a WP installation that I knew was in working order.

Thanks in advance! I'll provide extra asisaid points — how about 30? — for willing victi… volunteers. :-)

Macmini Co-location

By Timothy R Butler | Posted at 6:28 AM

Yeah, you want one… you know you want a co-located Mac mini server for only $22.95 a month (plus the cost of the system). And as I noted when this was posted to a list I'm on, that is the only reason you'd actually sign up for this service: because you'd like to say you have a co-lo Mac mini.

Don't get me wrong, it is a neat idea — and you saw it first on asisaid — but with a paltry 20 GB bandwidth allowance, that skyrockets in cost if you up it to enough to keep a dedicated server busy, and 24×7 onsite monitoring only available after you give up an additional twenty greenbacks, you'll quickly end up in budget dedicated territory minus all the perks of budget dedicated machines.

Still, it's a neat idea if you want to play around with having your own server, but can't justify the price of something a bit more expensive. I actually like the idea, I just hope someone doesn't think they are getting a bargain when they end up having to add all the upgrades later on.

Personally, I think rather than sending a new Mac mini to this place, I'd keep it at home and make it a media PC. Or a file server. Or a kitchen PC. What would you do with a Mac mini?

Trackback and Pingback

By Timothy R Butler | Posted at 7:15 AM

Here's a question for my readers. Does your blogware do pingbacks, trackbacks or both? I'm trying to decide how to implement such things in SAFARI. It looks like trackback auto-discovery is fairly clunky, and, if I understand Six Apart's design of the same, it merely looks for an XML/RDF tag embedded inside the page — something I believe would not work on, for example, What in Tarnation!?!?!?!, which, to the best of my knowledge, seems to be lacking any XML/RDF information embedded on the article pages.

To continue to examine Christopher's blog (hope you don't mind, Christopher), I do see that he has a properly implemented < link > tag for Pingback auto-discovery on his site. Given this, I suppose SAFARI could automatically pingback every link mentioned in a post, but only trackback if explicitly told to. Of course, the other question is whether I should pingback to sites I also trackback. My dear reader, how does your blogware work on this matter?

Color me confused and boggled about this element of blogware implementation.

Update: OK, so Christopher's blog does have RDF encoded on the front page. But I haven't figured out how to properly find that if I link to a permalink rather than the front page. And that still leaves the question of whether I should pingback and trackback the same link. So, your insight is still much appreciated.

Update 2: It helps to examine more than one blog. As it turns out, Pressed and Ed both have proper embedded RDF information on the article pages. Kevin does not, but then again, I don't think his blog supports trackbacks now that he's moved off of WordPress.

So Christopher, straiten up and get trackback RDF information embedded in your article pages — it's the WITty thing to do. ;-) And, no, don't bother looking in my blog's HTML, I haven't implemented trackbacks yet.

Leave comments about how pingbacks and trackbacks work for your blogware below… I'll be very grateful for your help.

Blank

By Timothy R Butler | Posted at 6:33 AM

My mind is blank at the moment. I can't think of anything good to say and the inspiration mentioned yesterday is certainly elsewhere today (although now that I know what I am doing on SAFARI, I don't need much more inspiration on that, I can use it in other areas!). I am aiming to get a lot done in the next week, maybe that is part of the problem.

You are viewing page 161 of 220.