7:30:39 PM
This is only of interest. This is only of interest if you are running Apache & PHP and want a local search proxy that works in all your browsers, but I've updated my Lazysearch script with slightly easier configuration and clearer (though still minimal) help. You can see what the help looks like here, and try a sample search here. [Forwarding Address: OS X]
7:28:15 PM
Browser Specific Parameter Settings. Today, we discuss how to conditionally set certain HierMenus parameters based on the user's browser, platform, or some other user-specific condition. With a little JavaScript know-how, these can be accomplished via minor adjustments to your HM_Loader.js file. By D. M. Ragle 0624 [WebReference News]
4:01:30 PM
Two Identifiers.
Every Echo entry needs two identifiers, which we'll call, for lack of better names 'post-id' and 'perma-link'. They need to be separate, and they need to be required.
There is still a pretty heavy debate going on in the wiki and in Sam's blog about perma-link versus post-id. Now, I initially was for a single URI that operated as both a perma-link and as a unique id. I have since changed and I'm outlining here the compelling reasons for my change of heart. Also realize that this discussion is in the context of Echo as a syndication format. Echo will also be used as a publishing and possibly a commenting format and the required-ness of these identifiers may be different in those contexts.
Before we start justifying we need some definitions:
- perma-link
- A URI that points to the post on the web. Now that needs some clarification, first URI
is a big concept,
and subsumes many other things, for example all URLs are URIs, which means links of the form
http:,ftp:,mailto:, andfreenet:are all URIs. Also, URNs are also URIs. Secondly, the perma-link should point to the story, not the source. For example, if you write a weblog entry about a story in the NYTimes, the perma-link needs to point to that entry on your weblog and not the story in the NYTimes. The perma-link should be resolvable, for example,http:, but may be non-resolvable, though that is strongly discouraged. - post-id
- An identifier that uniquely identifies the post on the web. Again, that needs some clarification. If you write a weblog entry about a story in the NYTimes, and post it to your weblog under two categories, the post-id will be the same regardless of which category it is published in. Also, the post-id is unique among all the Echo entries ever published, by anyone on the web, for all time. Once an item is published, it's post-id never changes. If you edit your entry, the post-id does not change. If you re-categorize your post, it does not change. Unique across space and time. What if you want to include some link to the source material? That is another Echo tag, possibly in another Echo optional module, that allows for citing multiple sources.
A required perma-link
Perma-link should be required. This is a synidcation format, and the perma-link points back to the thing you are really interested in. The only excuse for not being able to supply a perma-link is that the resource you are describing is not on the web. That's a pretty thin excuse, but for those extremely rare cases, you can stuff a URN or some other non-resolvable URI in this field. But really, if you can generate an XML Echo file that lives on the web that describes your resource, do you really have any excuse for not providing an HTML view of that same data?
A required post-id
Now that you have a required perma-link, do you really need a post-id? This is where I need to show three things.
- While a perma-link is a URI, it may not uniquely identify a weblog entry.
- A method to uniquely identify a weblog entry is necessary.
- Post-id must be required.
1. Perma-links aren't unique The first one is easy if you consider categories. For example, I subscribe to the NYTimes RSS feeds, both the science and the technology feeds. There is overlap, and some stories appear in both the science and the technology feeds. Which means that they show up twice in my aggregator. Similarly MT users can turn on multiple archiving methods, which means that the same story can have mutliple URIs. For each archiving method, the story is the same but sits in a different context. In can sit in a weekly archive, a monthly archive, or in multiple category archives.
But if they are the same story, won't they have the same perma-link? No, the perma-link may point back to the story based on the context. For example, if you are subscribed to an Echo feed that contains just posts from a certain category, the perma-link could bring you to a page that contained just post's from that category, and that's what you want to happen. So it is possible that the same story could have multiple perma-links and that those perma-links show up in different Echo feeds.
2. Uniqueness is required Which brings up to the second question, do you really need a unique identifier? Yes, because this will allow the aggregator builders to track posts and allow the end-user to control whether they see the same item if it appears in multiple contexts. Also, it will allow aggregators to more easily and consistently implement new functionality. For example, with a guaranteed unique id I can track changes to an entry, possibly higlighting differences in versions. I can also more easily and consistenly do threading if each entry has a unique id. I can group Echo entries that are all about the same thing.
On the CMS vendor side, some need a unique id to track items, and the post-id, particulary in the form of a URN, gives them a place to store that information in an easy to parse format.
3. Benfits of being required For the third case, a required element gives a couple of advantages. It makes the specification for Echo easier to write. There are two elements. They are both required. End of story. You don't have to worry about precedence or dis-ambiguation, and it makes for a really simple case for simpler CMS's, just make the two elements the same, and since you are already generating a required perma-link, spitting out the same value in a different element is not a big hurdle to implementation.
Also, if post-id and perma-link are both required this helps support a "view-source" paradigm. If you see both tags in every Echo feed then you can be sure you'll include them in your own feed. If they're optional you might not see a feed with both and subsequently miss out on the advantages.
Summary
Echo needs both a required perma-link and a required post-id. Since both are URIs, if the posts from your CMS only have one URL then just set post-id = perma-link. Sure it's a little redundant, but it's easy to implement. If you have content that isn't on the web, then use a URN for perma-link, but think long and hard about justifying what should be an extremely rare situation. Both supply potentially unique information, with the perma-link preserving the context of the weblog entry while the post-id is the same regardless of the context.
[BitWorking]2:40:49 PM
RSSConnect.
Darshan Singh, managing editor of PerfectXML.com, announced on XML-DEV the release of RSSConnect, an open source .NET news aggregator.
"PerfectXML.com team is pleased to announce RSSConnect: A C# .NET application that primarily allows reading RSS feeds. Other features include: XSLT skins, ability to export to any OLEDB/SQL Server/MSDE database and search this database, check for new feeds, OPML support, Integrated Internet Explorer Favorites view, Web search functionality, and more." - Darshan Singh
RSSConnect has two neat features:
-
XSLT Skins - HTML is rendered from RSS using a user-selected XSLT file inside a Skins directory.
-
Export ot Database - articles can be saved to a database.
I wonder why they stopped there when XSLT file can be specified by the RSS feed itself, allowing each feed to have their own skins?
[Don Park's Blog]4:29:04 AM
Here's a tentative endorsement of Echo. [Scripting News]
1:11:57 AM
XML-RPC Web Services [BlogStreet]
12:50:23 AM
DevX: Learn to Consume RSS Using DevX's New Content Feeds. [Scripting News]
12:39:31 AM
2:06:05 PM
Echo: The future of syndication, archiving and a publishing APIs?. The wiki discussion that Sam Ruby began just over a week ago to develop a common syntax for syndication, archiving and a publishing API continues full throttle. [Meerkat: An Open Wire Service: O'Reilly Network Weblogs]
2:01:39 PM
Link collection:.
[Mathemagenic]Feed on feeds (server side RSS reader) [via Brain off]
Word cleaner (to make clean HTML from Word-generated HTML) [via Blogging from the Barrio]
Teams That Span Time Zones Face New Work Rules by Bill Snyder [via Many-to-many] - worth reading if you are interested how to improve communication in virtual teams
Social Software and Social Capital and summary of the report [via Many-to-many]
Getting up to speed on wikis and Getting up to speed on wikis, part 2 - collections of wiki links by Jim McGee
1:43:46 PM
Etching Echo.
Well, the name for the initiative led by Sam Ruby to create a new syndication format from scratch is ... [drumrolll] ... Echo! Looks like they are going to use it as a brand of sort: Echo API, Echo Enabled, etc. I proposed Wide Open Syndication (WOS-Up!) last night, but most people wanted to go with Echo. Yeah, people will have a lot of fun Googling with 'Echo' as keyword, but then it is a sign of child-like innocence that I like so much in engineers.
[Don Park's Blog]4:13:59 AM
Background: see my 1998 interview with RMS, originally published in Online though I can't find it on the Guardian's site. [onlineblog.com]
6:59:19 PM
SOAP 1.2. You've probably already seen that SOAP 1.2 made it to rec. Here's the W3C's take on why you should switch. Anyone have a list of diff's from the CR version ? [Simon Fell]
4:23:52 PM
Newsmonster: Now with Whuffie. Kevin Burton continues to make improvements to his program NewsMonster, a Mozilla-based RSS reader that uses a Whuffie-like reputation system to rank and suggest items and feeds to his readers. Unfortunately, this doesn't work for OS X yet (weird, considering that it's all Mozilla-based), but Kevin promises that by end-of-week (apparently, he's going to patch some longstanding Moz bugs and submit the changes to the Mozilla codebase).
Discuss [Boing Boing Blog]
4:17:07 PM
comment [] trackback []
Dave Sifry recounts a phone conversation we had last week about RSS and naming, and support from blogging tools. [Scripting News]
2:48:54 AM
comment [] trackback []
stop pinging me you bugger!. via Virulent Meme: How Trackback Really Works: I’ve been about as befuddled as anyone else about this crazy trackback thingy, and these explanations (one, two, three) haven’t really helped. Still, in my attempts to figure out exactly what the hell is going on, I finally thought of an analogy that sort of nearly gets there. [Channel 'trackback']
2:38:28 AM
comment [] trackback []
Rethinking the Application of Trackback. via Big Damn Heroes (Tech): I love Trackback... the Trotts hit a home run when they came up with it. But as we've discussed in the past, the current implementations leave much to be desired. There's little understanding of what TB is, debates over acceptable use, and concerns abo... [Channel 'trackback']
2:29:47 AM
comment [] trackback []
Lists in CSS. via Column Two: Following on from the last blog entry, Mark Newhouse explores a lot of ways of formatting lists using CSS. To quote: In this article, I'll demonstrate how to use CSS to bring unwieldy lists under control. It's time for you [Channel 'blog_network']
2:22:50 AM
comment [] trackback []
Mastering Regular Expressions. gianluca writes "Having always been a heedful guy, I always duly did my homework, going through the lengthy manual pages of a number of regular expressions ... [Slashdot]
12:32:38 AM
comment [] trackback []
Linkage. Now let's standardize and simplify. A well formed blog entry will have
two universal resource identifiers (URI's) associated with it. One, a
permaLink, will identify the preferred external "name" for this blog
entry. The other, a postId, will identify the preferred internal "name".
... [Sam Ruby]
12:31:16 AM
comment [] trackback []
SOAP 1.2 Finalized.
W3C finally signed off on SOAP 1.2 by releasing it as a Recommendation. SOAP 1.2 is a small constellation of four documents:
- SOAP Version 1.2 Primer
- SOAP Version 1.2 Messaging Framework
- SOAP Version 1.2 Adjuncts
- SOAP Version 1.2 Assertions and Test Collection.
Changes from SOAP 1.1 are summarized in From SOAP 1.l to 1.2 in 9 points [warning: it's reads like a sales brochure]. While I am not entirely happy with its content, I am happy to see it finally arrive.
[Don Park's Blog]12:30:10 AM
Adina on the JavaBlogs and Java.net communities:
...The discussion on the Java.net and JavaBlogs shows some classic tensions between a commercial software vendor, which wants to support a community of developers, and developer community, who self-organize, and want support from the commercial vendors.
It will be interesting to see how the communities evolve. Will there be syndication and federation techniques that bridge communities in different locations, or will developers choose affiliations?
Meanwhile, this is a strong sign of commercial interest in the value of weblog and wiki tools in supporting developer communities.
As with the hybrids between independent blogging and traditional journalism, the interesting question isn't the "purity" of any model. It's the process of evolution at work creating new variants. The most compelling new variants will survive.
[via BookBlog]
Community bridging already occurs through RSS and Federation. Java.net RSS feeds are easily added to JavaBlogs. Sure, more can be done. But that's the beauty of these simple blog protocols, they open communities. You wouldn't have this level of discussion and interchange between communities on a Bulletin Board based community.
[Ross Mayfield: On Blogging]11:53:00 PM
Road Map. Road map from here on out? I'm going to pick a topic at a time from the wiki and explore it in depth on my weblog. ... [Sam Ruby]
1:10:49 PM
HTML With Just Five Tags and CSS.
Read about Don Ulrich's adventure into HTML and CSS jungle that resulted in a client-side XSL stylesheet able to render his XML documents into fast loading HTML pages using just five tags: <div>, <span>, <a>, <img>, and <hr>. His XSL stylesheet is here (.XSL). Neato.
[Don Park's Blog]"A while back you pointed to Adventcode and myself [Fireball as a Candle]. You spoke of CSS style coflicting with CSS design. The conversation was about CSS Zen Garden and the inability to read it. I took what you said as a challange to use CSS a tool for construct while maintaining style. AdventCode now uses just 5 HTML tags and CSS to control the XML/XSL output. It is very fast. Using a minimum of HTML tags also allowed me to tighten up the content. Thank You for the encourgement. Yes CSS can do more than look pretty. It can also control content." - Don Ulrich by e-mail.
1:09:45 PM
Hitting the Reset Button.. Could it be possible to reach general consensus on a syndication format and common publishing API for all? Could we put an end to the morass of pointless political posturings, egotistical rants and FUD slinging that have plagued RSS and Weblog APIs? [Meerkat: An Open Wire Service: O'Reilly Network Weblogs]
5:48:43 AM
Funkyness Illustrated.
This is an attempt to remove the ongoing confusion over the funkyness I have accused MT and Six Apart of perpetuating. I hope these examples will dispell any FUD hanging over us.
NOT-FUNKY RSS FEEDS:

FUNKY RSS FEEDS:

As you can see in these examples, funky RSS feeds replace common RSS tags with RSS 1.0 extensions.
Destruction is not extension nor innovation!
MT's default template generates these sort of funky RSS feeds. If they didn't realize the problem before, they should have fixed it by now. All they have done so far are public silence plus private finger pointing at RSS 1.0 proponents.
After watching Dave Winer and others struggle politely, I have used nastyness as a cutting edge to rip through the FUD and intentional silences. Some might say my post was irresponsible, but I believe Six Apart and RSS 1.0 folks are the [Don Park's Blog]
1:11:38 AM
comment [] trackback []
11:46:35 PM
Log Format Roadmap
11:40:45 PM
Wow.
There are moments when if people compromise something great can happen and if they don't the opportunity passes. [Dave Winer]
That moment is now, something great is happening, the place it's happening is Sam's Wiki, and all I can is Wow.
I'm 100% behind this kind of forward motion, and will work to add support for it into Aggie, Bulu, and Pamphlet.
[BitWorking]11:38:42 PM
The URI of a Weblog Entry.
RSS 2.0 introduced the idea of a guid, an identifier that uniquely identifies an entry.
When Sam called for a discussion of the essence of an entry,
the permalink versus guid discussion began.
The discussion has settled down and the concensus seems to be that each entry will be identified by a URI. If the URI has the scheme http: or https: then the identifier is also considered a permalink, i.e. a link to the content on the web.
This is a really good compromise, giving people who want to supply permalinks the ability to do so, while giving tool vendors a wide range of options if they don't, or can't, supply a permalink. It is also forward looking, allowing you to build RSS feeds that point into other networks, such as freenode.
The use of URI's is good because it allows the assigning of a uniqe identifier, that could be a web address, but regardless fits within a proscribed syntax. The best reading of the lot, for implementation details, was the URI specification which includes a regular expression for parsing URIs:
^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(?([^#]*))?(#(.*))?
A litte Python shows how easy it is to parse up a URI, whether is it a web address or not:
>>> import re
>>> uri_regex = re.compile(r"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?")
>>> uri_regex.search("http://www.ics.uci.edu/pub/ietf/uri/#Related").groups()
('http:', 'http', '//www.ics.uci.edu', 'www.ics.uci.edu', '/pub/ietf/uri/',
None, None, '#Related', 'Related')
Now if you don't want to use an http URI then the best bet seems to be the URN, which can be just as easily parsed by the same regular expression:
>>> uri_regex.search("URN:foo:a123,456").groups()
('URN:', 'URN', None, None, 'foo:a123,456', None, None, None, None)
Further reading
In the process of discussing the options, Tim Bray pointed to the URI specfication, which led to a trail of reading for me, including his article on weblog ids, the Official IANA Registry of URI Schemes, the RFC for URNs, and the W3C list of Addressing Schemes. The last one lists both registered schemes and unregister schemes in popular use.
[BitWorking]10:14:44 AM
4:03:09 PM
Flash, CSS, and content. Designer Michael Pick surveys recent Flash work and draws interesting conclusions. [Jeffrey Zeldman's Daily Report]
1:21:13 AM
Java and the Web Community. Sun is doing interesting things with its java.net site, including "community" functions such as weblogs and even Wikis. It's the... [Dan Gillmor's eJournal]
1:05:54 AM
[Workbench]The difference between
and
is subtle,
but very, very important.
7:36:49 PM
Pure CSS2 Drop-down Menus. Drop-down menus without JavaScript? Enterprising designers like Stuart Robertson and Eric Meyer have created standards-based pull-down menus using the :hover pseudo-class to display other elements. By Andy King. 0529 [WebReference News]
3:59:06 AM
RSS Reading via Email. I have tried more RSS readers, than you have had hot dinners. I have finally settled to have something that integrates with my email. Each blog has a folder and posts are filtered into the correct folder. Bob Lee wrote fetchrss to help with this endeavour, and recently released it via the new java.net portal. [Meerkat: An Open Wire Service: O'Reilly Network Weblogs]
3:58:03 AM
Exploring XML and RSS in Flash. In this article we will examine the XML processing capabilities of Macromedia Flash, and create an RSS "movie" along the lines of the wildly popular RSS applet. By Michael Classen. 0602 [WebReference News]
3:54:38 AM
Web services visionary. [Sam Ruby]
1:46:12 AM
3:23:01 PM
small gods. I'm a fan of a design pattern for software where in a very large, complex, rich data-type creates the meat of the application and then over that you pour a gravy of scripting.... [Ascription is an anathema to any enthusiasm]
5:31:45 AM
Kudos to Oliver Wrede for his Newsposter: a consistent source of compelling reading (some German required). Thank you. Danke schön.
3:48:38 AM
5:28:09 AM
The program supports the addition or deletion of any attributes to each outline item, enabling link directories to be created by adding type and url attributes (screenshot).
It isn't as easy as using Radio, where you can hit CTRL-K or CMD-K to add a link to any title, but there may be a way to extend the functionality that I haven't found yet.
Note: JOE has the same problem with undeclared entity references as my OPML Link Publisher application: They break the document's XML well-formedness. [Workbench]
1:31:44 AM
comment [] trackback []
Java.net Weblogs.
Weblogs are important part of Java.net although one needs to stroll around a bit to find them. I usually go here to find new articles. Here are two articles worthy of mention this week:
In Whats up with the JavaSound team?, Jonathan Simon discovers that entire JavaSound team split a while back and now there is just one hardworking guy wearing many hats.
This is ridiculous on a number of levels! How does Sun expect to put out a decent product with a single guy responsible for all of JavaSound? Also, the code was poorly designed to begin with, and Florian can't even really change it! So whats left is a really buggy, poorly designed library that is on every Java enabled PC!
Michael Champion, an old compadre from XML-DEV, answers the question "When does SOAP add value over simple HTTP+XML?" and concludes with:
It's just as "wrong" to blindly reject SOAP as to blindly accept. it.
Right on, Michael.
[Don Park's Blog]1:29:35 AM
Java.net Weblogs.
Weblogs are important part of Java.net although one needs to stroll around a bit to find them. I usually go here to find new articles. Here are two articles worthy of mention this week:
In Whats up with the JavaSound team?, Jonathan Simon discovers that entire JavaSound team split a while back and now there is just one hardworking guy wearing many hats.
This is ridiculous on a number of levels! How does Sun expect to put out a decent product with a single guy responsible for all of JavaSound? Also, the code was poorly designed to begin with, and Florian can't even really change it! So whats left is a really buggy, poorly designed library that is on every Java enabled PC!
Michael Champion, an old compadre from XML-DEV, answers the question "When does SOAP add value over simple HTTP+XML?" and concludes with:
It's just as "wrong" to blindly reject SOAP as to blindly accept. it.
Right on, Michael.
[Don Park's Blog]1:24:55 AM
10:23:48 PM
Worth your time. Truly engaging websites. Beautiful redesigns. CSS mini-tabs. Great reads on the use of weblogs for marketing and PR; design basics, from fonts and color to white space and alignment; how fonts really work in Mac OS X. Desktop backgrounds. Swedish pop bands. And so much more. [Jeffrey Zeldman Presents: The Daily Report]
7:40:32 PM
RVW specs. Alf Eaton has announced the RVW Specs.
RVW is intended to allow machine-readable reviews to be integrated into an RSS feed, thus allowing reviews to be automatically compiled from distributed sources.
He's also using "ENT" to describe the type of subject under review. Exellent! [Paolo Valdemarin: Paolo's Weblog]
3:40:16 AM
comment [] trackback []
Surgical Diversions offers a wide range of nifty Radio scripts and tools. Good value!
3:20:25 AM
comment [] trackback []
4:34:50 PM
MySQL Ascendant. Monty Widenius is the Helsinki-based chief technology officer and co-founder of MySQL, the open-source database software that is becoming one... [Dan Gillmor's eJournal]
4:11:44 PM
TrackBack Addenda. Clarifications, corrections, and notes regarding yesterday's little blurb on TrackBack. [Daring Fireball]
4:10:31 PM
Radio UserLand: This way lies madness. For Chapter 21 of Radio UserLand Kick Start, I'm working on a gateway tool that posts weblog entries via HTTP POST to any Web CGI script, even if it requires cookie-based authentication.
As a demonstration, the tool is mirroring the last five Workbench posts to my Metafilter user page (login required to view).
Radio gets knocked for being maddeningly complicated when you venture beyond the "five minutes to first post" features, and in some ways working with the software promotes Apocalypse Now-style "oh, the horror" moments. However, the fact you can do stuff like this in a few hours' work with under 50 lines of code is really amazing. [Workbench]
4:08:29 PM
comment [] trackback []
Laszlo [Don Park's Blog]
4:04:27 PM
comment [] trackback []
Adam Kalsey has unveiled Simpletracks, a web interface for those without Trackback but still want to ping a Trackback URL. [Der Schockwellenreiter]
3:26:53 PM
comment [] trackback []
LiveJournal Supports Blogger API. [Der Schockwellenreiter]
3:25:28 PM
comment [] trackback []
Mark Pilgrim's suggestion of weeding out the unsafe HTML seems futile. Instead, the script removes all HTML tags and attributes other than a small subset that can't be abused: P, B, I, BR, and BLOCKQUOTE (all without attributes), A (with HREF only), and IMG (with SRC, ALT, HEIGHT, and WIDTH only). I'm hoping the script also has the side benefit of making RSS entries easier to read.
The script works on the text of entries, but I can't find a way to make it work with the storyArrived callback. If anyone has tackled this problem before, I've begin a discussion on the radio-dev mailing list. [Workbench]
12:50:38 AM
comment [] trackback []
1:38:49 PM
Watch java.net. Sun is doing something big with java.net. If Sun is a hornet's nest, they have peeled back much of the skin around the nest with java.net, exposing a wild variety of interesting activities that invite the Java developer community at large to join them through a mixture of weblogs, wiki, directories, repositories, and pseudo-magazines.
End result is, well, confusing. But, it is an enjoyable kind of confusion, not unlike being dropped into a new city being built. If it was a city, I would say the city center is the Java Today page. Drop in and check it out. Unless I misread between the lines, I think there is a new bold attitude at work here. [Don Park's Blog]
12:46:52 PM
|
Theme design: Bryan Bell