David Shields: having worked for almost five years now as a member of the team that manages IBM’s open-source strategy and its execution, I can claim some expertise in this area. There are no vast secrets here, no grand plan. Here is the strategy as I understand it, and as I have worked to implement it.
David Recordon: Awesome, see their post! OpenID commenting as a beta feature on Blogger, way to go guys! I just tried it out and as you’d expect, it works great. Also really nice to see another site first accepting OpenID instead of providing it.
Brendan Eich: Standards often are made by insiders, established players, vendors with something to sell and so something to lose. Web standards bodies organized as pay-to-play consortia thus leave out developers and users, although vendors of course claim to represent everyone fully and fairly. I’ve worked within such bodies and continue to try to make progress in them, but I’ve come to the conclusion that open standards need radically open standardization processes.
The W3C HTML Working Group needs a CarterPhone. Clearly, Brendan is talking about ES4, but the issues he brings up are general.
I’m posting this in case I’m not the last person to realize this. While I’ve used the Unix sh longer than DHH has been alive, I either never realized or have long since forgotten that it supports here documents. Example:
ruby <<EOD | sort | uniq -c | sort -n
Dir['*'].each do |name|
puts name.split('.',0)[1] || '<null>'
end
EOD
Dare Obasanjo: My weekend project was to read Dive Into Python and learn enough Python to be able to port Sam Ruby’s meme tracker (source code) from CPython to Iron Python. Sam’s meme tracker, shows the most popular links from the past week from the blogs in his RSS subscriptions.
More recent code can be found here. Fetches titles from HTML, handles etags, matches both www. and non-www. versions of a URI. Handles people who point to things multiple times. Allows you to group people who tend to all “vote” in bulk. Note: I consider the alternate link to be a vote too, which gives a small bump to people who post original content vs links.
I’d also recommend that you invest some time into converting from a simple regular expression to a real HTML parser. You’ll need it anyway for titles.
Jay Goldman: On November 6th, 2007, Facebook launched a series of new tools to help advertisers target the 54 million people now regularly using their site. They’re still throwing around a 3% weekly growth rate and have a target of 60 million active users by the end of the year, so it’s not hard to picture the day in the not-so-distant future when hospitals Facebook babies before handing them over and the little bundle of joy comes with a neural implant that pokes their parental units when the diaper is full. [via Simon Willison]
Michael Pavone: I’ve started another little reverse engineering project. Google hasn’t released any documentation on their new VM so I decided to get some the hard way. Well, hard is relative here. A decompiled Java class is a bit easier to read than a disassembled 68K binary. Anyway, I’ve managed to write some documentation on the dex file format used by the VM. I hope to have some documentation on the actual instruction set used by the VM in a few days
In Characters vs. Bytes, Tim Bray mentions the Gothic letter faihu. Whether such a character will display properly in your browser depends on what operating system you use and what fonts you have installed. Whether or not you can handle such characters programmaticly, however, depends on what programming language you use.
Kevin Lawver: This was a surreal experience... Dan led a sing-along with a bunch of W3C folks, including Tim Berners-Lee, the inventor of the web, and lots and lots of folks who invented important pieces of it (like CSS, HTML, XHTML, etc). Fun, fun, fun.
com.google.android.xmppService.IXmppService.createXmppSession: Creates a XMPP session to the server, using username and password for the login. createXmppSession starts a new XMPP session if there isn’t one for the username, connects to and logs into the GTalk server. If there is already a running XMPP session for the username, then createsXmppSession just returns the running session.
Don Box: I have to say that the authentication story blows chunks. Having to hand-roll yet another “negotiate session key/sign URL” library for J. Random Facebook/Flickr/GData clone doesn’t scale. Personally, my dream stack would be ubiquitous WS-Security/WS-Trust over HTTP GET and POST and tossing out WSDL
I’d suggest that the root problem here has nothing to to with HTTP or SOAP, but rather that the owners and operators of properties such as Facebook, Flickr, and GData have vested interests that need to be considered.
Planet CreativeCommons is based on Venus. Unsurprisingly, given their mission, they visibly highlight the license under which each of the entries are published. The Universal Feed Parser and Venus take great care to ensure that license and rights information is present in the Atom feeds that are produced, but this is the first time that I’m aware of this data being exposed in the HTML page itself.
Mark Pilgrim: What follows are instructions for building and installing MySQL 5 on Ubuntu. These instructions should work perfectly on both Feisty (7.04) and Gutsy (7.10).
Priceless.
From what I hear, people have had trouble with Leopard and Vista. By contrast, and like others, I found that the default font for Firefox wasn’t to my liking on one of the three machines I installed Gutsy on.
Ben Laurie: I’ve been running a team at Google for a while now, implementing capabilities in Javascript. Fans of this blog will remember that long ago I did a thing called CaPerl. The idea in CaPerl was to compile a slightly modified version of Perl into Perl, enforcing capability security in the process.
Hopefully like the work of Douglas Crockford [via Patrick Logan], the parser itself is (or will be) written in Simplified JavaScript.
This could be a useful, as an option, for CouchDB. I don’t yet see the value for allowing even a sanitized subset of scripts through the UFP to Venus.
Steven Lees: We will remove the “unpublished” element from the spec, i.e. we will remove sections 1.2.9, 2.6 and all of section 4. We decided that the concept of unpublished belongs at the application level, rather than the base SSE specification. We will include information in the SSE implementer’s guide that describes how applications can implement “unpublished” behavior on top of SSE.
It seems to me that SSE + RFC 5005 complement each other. RFC 5005 can help you identify which entries have changed, and SSE can help you identify what changes were made to those entries.
Sometime yesterday Jay Young's default feed switched back to RSS 2.0. The world didn’t end, and not everybody cares about such minutia, but Jay clearly does. Jay may be a minority, but this enhancement would enable Jay and others like him to simply drop in a plugin such as this one, activate it, and be on their way.
The patch does not change the default feed format from RSS 2.0. Perhaps that could be considered for a release like WordPress 4.0, and a plugin could be provided at that time to enable users to select the venerable RSS 2.0 feed format, but in any case such a change would require a separate ticket, as this patch does not do that.
Tim Berners-Lee: HTML is a big community, but there are others communities. Smaller communities are more in need of uri-extensibility than bigger ones.
For the past month, eight feeds hosted by blogs.sun.com were not updated on planet.intertwingly.net, a victim of a poisoned httplib2 cache. A victim of a permanent redirect. The evidence can be found here. Eventually, such feeds would have been viewed as inactive for 90 days, but luckily in this case I caught the problem earlier.
There is a bug in Ruby 1.8.6 that affects documents with a default namespace (even a vestigial one, like those sported by WordPress weblogs) which prevents non-namespace qualified attribute names from working in XPath expressions. The following monkey-patch fixes this:
Brendan Eich: The small-is-beautiful generalization alternates with don’t-break-the-web, again without specifics in reply to specific demonstrations of compatibility.
It is interesting how the don’t-break-the-web meme means different things to different organizations: Mozilla, Microsoft.