Dimitri Glazkov has produced a JavaScript implementation of DOM Level 3 XPath for Microsoft Internet Explorer. Below are some examples of what using XPath from Javascript looks like with his implementation

Now counting all links on your document is just one XPath query:

var linkCount = document.evaluate( “count(//a[@href])“, document, null, XPathResult.NUMBER_TYPE, null).getNumberValue();

So is getting a list of all images without an alt tag:

var imgIterator = document.evaluate( “//img[not(@alt)]“, document, null, XPathResult.ANY_TYPE, null);

So is finding a first LI element of al UL tags:

var firstLiIterator = document.evaluate( “//ul/li[1]“, document, null, XPathResult.ANY_TYPE, null);

Excellent work. XPath is one of the most powerful XML technologies and getting support for it in clientside HTML scripting is should be a great boon to developers who do a lot of HTML processing using Javascript.  


 

The march towards getting the next official release of RSS Bandit continues, until then you can download the latest version.

The biggest changes since the last beta are that two more language translations have been added, Brazilian Portuguese and Polish. This  brings our number of supported languages to six (English, German, Russian, Simplified Chinese, Brazilian Portuguese and Polish). A couple of bugs with Search Folders were also fixed.

I'm currently the one holding up the release. I've finally gotten Visual Studio.NET 2002 installed on my machine and it seems that I should be able to get Visual Studio.NET 2003 installed today. Once done I'll work on the new installer and implement actual synchronization of feed state using a central server of your choice. Lack of this feature is beginning to get on my nerves.


 

Categories: RSS Bandit

April 20, 2004
@ 08:55 AM

From the Duh! department are the following excerpts from the an interview with the author of Sister's Keeper

In her book, Robbins goes undercover at a college she calls “State U.” during the 2002-2003 school year to find out whether the stereotypes—binge drinking, drug use, eating disorders and promiscuity—are true.

NEWSWEEK: What kinds of things did you witness?
Alexandra Robbins: I really hadn’t expected to find the level of "Animal House" campiness that I did in some groups. They had a tradition called boob ranking where pledges had just a lim­ited amount of time to strip off their shirt and bras to examine each other topless so that by the time the clock was up, they were basically lined up in order of chest size in order of the sisters to inspect. Some sorori­ties hold what they call “naked parties,” during which after a few drinks sisters and pledges strip off their clothes and basically run around the house naked, some of them hooking up with each other before they let the boys in.

NEWSWEEK: Isn’t there a constant emphasis on boys?
Alexandra Robbins: From the mixers to the formals to the homecomings to fraternity parties—there’s frequently a race to get dates from a limited pool of acceptable fraternity guys. And white sororities are so centered on relationships with their ceremonies and rituals and songs to celebrate specific relationship mile­stones. By comparison, in at least one white sorority, the award for getting the highest GPA was a bag of potato chips. And you have to wonder what’s the point of a girls-only organization if it revolves around men.

NEWSWEEK: How prevalent are eating disorders?
Alexandra Robbins:
I had heard urban legends about plumbers having to come clean out the pipes ever month or so in sororities because they get clogged with vomit. A lot of girls told me that was true. Eating disorders are so popular that some houses have puking contests after dinner. At State U., every sin­gle one of the 18 sororities had eating-disor­der problems.

The entire premise of the book reminds me of an episode of the Maury Povich show, an excercise in voyeurism.


 

In Christoph Schittko's post about CapeClear's latest WSDL editor he writes

CapeClear recently released a new version of their free WSDL editor. The new version allows adding XML Schemas which, in my mind, was definitely a much needed feature...The only gripe I have is that the new version is no longer called WSDL Editor. Now it's the SOA editor

SOA is now a much overhyped and meaningless buzzword. The entire industry is hyping XML Web Services all over again without pointing out anything of much concrete worth. Microsoft is right up there as well with publications like Microsoft Architects Journal whose last issue had 3 of 5 articles with "Service Oriented" in the title with at least one other being probably the quintessential work on Service Oriented Architecture, Metropolis.

There are basically only 2 people's whose opinions about the mostly meaningless Service Oriented hoopla I consider worth anything. Pat Helland who was talking about service oriented architecures before the buzzword had a name and Don Box because he's the first person I've seen do a decent job of trying to distill the service oriented fundamentals (see A Guide to Developing and Running Connected Systems with Indigo).

Don's fundamentals

  • Boundaries are explicit
  • Services are autonomous
  • Services share schema and contract, not class
  • Service compatibility is determined based on policy

make a lot of sense to me. The only problem I have with Don is that he is working on Indigo which is anything from 1.5 to 2 years from shipping depending on who you're listening to but Microsoft is pimping SOA today. I've talked to him about doing a bit more writing service oriented development with existing technologies and even offered to cowrite if he can't find the time. Unfortunately I've been really really busy (we are short one PM and a dev on my immediate team, speaking of which WE ARE HIRING!!!) so haven't been very good at nagging him to do more writing. Hopefully once we lock down for Whidbey beta 1 I'll have some free time until the beta 2 deluge begins.


 

Categories: Technology

My buddy Josh Ledgard has a posts on the search for the best way to provide online discussion forums on Microsoft technologies for our customers. He has two posts that kick of his thoughts on the issues; MVP Summit Views and Issues with Threaded Discussions and Brainstorming Results of Online Discussion Solutions. In the former he basically states that during the MVP Summit the major feedback he got from MVPs was that they want discussions in an online forum to have all the functionality of NNTP newsgroups and newsreaders provide today (offline capability, watches, authentication & identification, etc) but they don't like the amount of traffic in the NNTP newsgroups. 

Josh's second post mainly tries to address the fact that a number of groups at Microsoft felt that newsgroups are a low tech solution and have ended up creating alternate online forums such as the ASP.NET forums and GotDotNet message boards. This basically has fragmented our developer support experience and is also problematic for product teams since we need to monitor multiple online venues using multiple tools.

My simple suggestion is that the various Microsoft forums should emit RSS that fully supports the Comment API and wfw:commentRss then developers will step up to the plate and create online or desktop aggregators that combine both the NNTP newsgroups and the Web forums. One of the reasons I plan to add NNTP support to RSS Bandit is exactly because I now have to use 3 different tools to monitor our developer forums (Outlook for mailing lists and to get alerts from Web forums, Outlook Express for NNTP newsgroups and RSS Bandit for blogs). There's no reason why I can't collapse this into two tools or even one if one uses something like Newsgator.

Josh and I are supposed to have lunch tomorrow. I'll see what the Visual Studio team is thinking of encouraging in this direction if anything.


 

In his post Or, maybe more strict Phil Ringnalda writes

I've been idly thinking about starting a campaign to get RSS/Atom aggregator authors (and validator authors, as well) to be a little less strict and dogmatic about what feed content is uniformly evil, and must be stripped out in all cases. We have a roughly shared (and mostly unexamined) set of standards, mostly based on Mark Pilgrim's groundbreaking post, saying that you should never allow, among other things, any Javascript, any CSS styles, or any object or embed elements
...
But, the inevitable but: the more you look, the more evil there is in the world
...
Or, say you have a Windows program embedding the IE browser control. You've carefully managed your security zone, so objects are no more dangerous than they are in general, you only display one entry at a time so CSS is no danger, and you've built your own popup blocker so you don't have any reason to strip Javascript. Then I come along again (maybe you should just refuse to subscribe to any of my feeds?), and drop in a simple little paragraph: <p style="height: expression(alert('gotcha'))">.

To the best of my knowledge none of these things is a problem for RSS Bandit. As Phil points out in his post when you embed the IE browser control, you can actually either choose your security zone which is exactly what RSS Bandit does. By default RSS Bandit disables Javascript, ActiveX and Java applets. This is fully configurable by end users because we provide the option to change the web browser security settings use by RSS Bandit.


 

Categories: RSS Bandit

I saw the trailer for the movie I, Robot last night when I went to see Kill Bill Volume 2. For a few seconds into the trailer I thought it was the movie treatment of Caves of Steel, but shortly realized that Asimov's 3 laws of robotics had been turned into scaffolding to hang a stereotypical Will Smith action movie off of (Bad Boys with robots).

They could have done a lot more with the mountains of material Isaac Asimov produced. What a disappointment.

 

 


 

Categories: Ramblings

We are making strides towards getting an official release of RSS Bandit out in the next week or so, in the mean time early adopters can download the latest version.

The biggest changes are that we have incorporated Oleg's Russian translation which brings our number of supported languages to four (English, German, Russian and Simplified Chinese). There is also a Turkish translation that is half done. The ever diligent Torsten has added the following command line option to RSS Bandit

-c[ulture]:? code>', e.g. '-culture:"ru-RU"'  launches RSS Bandit with Russian UI.

There is also the patch we got from Curt Hagenlocher which adds sort arrows to the columns in the list view when you click them. We also now offer maximum configurability of the MSN Messenger-style pop up windows that tell you if your favorite feeds have been updated. You can configure them on a per feed basis or for all feeds, as well as turn them on or off from the system tray. There have also been minor improvements in memory consumption, about 5%-15%.

Another great development is that the RSS Bandit online documentation is filling up nicely. Kudos to Phil Haack for the great work he is doing on this front. I know new users will love having this information at their fingertips.

As before any comments about the beta version should be brought up on the mailing list or discussion board. Bugs should be filed in the bug database on SourceForge and feature requests go to the feature request database on SourceForge.


 

Categories: RSS Bandit

April 14, 2004
@ 05:59 PM

According to Eric Gunnerson we now write Static classes in C#

So, for Whidbey, we allow the user to mark a class as static, which means that it's sealed, has no constructor, and the compiler will give you an error if you write an instance method.

Rumor has it that the 1.0 frameworks shipped with an instance method on a static class.

This would be nice to have in the language. I know it would have helped us catch the fact that the System.Xml.XmlConvert class which only has static methods was shipped with a [useless] default constructor.


 

Categories: Life in the B0rg Cube | XML