• : Function split() is deprecated in /hsphere/local/home/guruj/guruj.net/modules/filter/filter.module on line 1200.
  • : Function split() is deprecated in /hsphere/local/home/guruj/guruj.net/modules/filter/filter.module on line 1200.
  • : Function split() is deprecated in /hsphere/local/home/guruj/guruj.net/modules/filter/filter.module on line 1200.
  • : Function split() is deprecated in /hsphere/local/home/guruj/guruj.net/modules/filter/filter.module on line 1200.

The getting of wisdom

Although very verbose, The REST dialogues discusses why the REST paradigm provides important benefits when writing web applications, and how SOAP and/or RPC web applications can be rewritten to utilize REST principles. It's only up to Part 3 (of 9) -- I'm going to keep an eye out for the next one!

On much the same note (but much shorter), S stands for Simple pretty concisely sums up why I don't want to touch SOAP with a 20 foot pole.

Quality E4X articles

Unfortunately E4X documentation is very thin on the ground, even on the official Mozilla Rhino site, which has left a lot of developers either scrabbling through source code or relying on examples.

An invaluable article on the principles and practice of E4X can be found on the DevX site.

Entities in E4X

Note to self (since I keep forgetting the magic incantation) -- this is how you declare entities in E4X XML documents under Askari (my scripting-optimized version of Rhino):

js> var x = 
  <?xml version="1.0"?>
    <!DOCTYPE x [<!ENTITY nbsp '&#x20;'>]>
  <x>test&nbsp;non-breaking space</x>;

js> print(x);
test non-breaking space

js>

Building natural KM communities

Dave Snowden is one of the best known figures in the emerging field of Knowledge Management. His articles are generally very thought-provoking and easy to read, not to mention refreshingly devoid of the jargon that is too frequent in KM articles.

His article Natural numbers, networks & communities contains one of the best descriptions of what commonly goes wrong with KM experiments, and the best way to naturally encourage their success. I would encourage you to read his whole article, but important lessons to take away from the article are:

Using UL to create wrapping image galleries

One of the most annoying things about HTML is that it is not easy to create an arbitrary set of objects which automatically wrap to the next line once the screen width is filled.

It turns out that the best way to do it is a combination of unordered lists (the UL tag) and some CSS. I've known about this for a few years now, but I keep forgetting how it's done. So, for posterity, here is a sample suitable for use in image gallery layouts.

The Real Tax Story

 

These figures are taken from the Australian Bureau of Statistics document 5506.0 - Taxation Revenue, Australia, 2004-05.

The lines for the Commonwealth Government and ACT Government are highlighted.

VS card browser

A neat little AJAX-style application for browsing cards and creating decks for the UDE collectible card games "Marvel" and "DC", collectively known as Vs:

http://dwarf.guruj.net/vs/browse.html

Google feeds from anywhere, without a Google Account

Google Reader gets better and better by the day. One of its newer features is the ability to create a "clip" of any shared RSS feed and embed it into your web site.

The problem is that you have to use your Google Account to subscribe to the account, tag it, and then share that tag. This is a problem is you are wanting to monitor frequently-modified RSS feeds that aren't strictly "news" -- eg. module updates, weather forecasts, and so on.

Well, it's not official, but by tinkering with the JavaScript code a little, you can build a set of Google scripts that will convert any RSS feed into a nice little package. For example, this displays the latest forecast for Canberra, Australia:

(Courtesy of rssweather.com)

The URL format is pretty straightforward to decipher. Use the Google Reader interface if you want to experiment with more options.

UPDATE: Here's the Google wizard for the clip creator. You will need a Google Account to access the page, though.

Abakt - not just for backups

Abakt is a thoroughly competent, free backup manager, but it can also be used to manipulate file and directory structures through it's very flexible filtering mechanisms.

For example, one useful trick I've found is to add this filter over a development directory if I want a copy of my code without all the '.svn' directories. Excluding a directory matching a mask isn't specifically mentioned in the documentation, so I'll reproduce the pattern here:

  FilterSet:

  Action:    Exclude
  Path Mask: *\.svn\*|*

Yahoo! Mail Beta rocks

I know I can be a bit of a Google fanboy, so here's props where it's due: the new Yahoo! Mail Beta is really, really good.

Like really good:

  • AJAX-y features that make the app more usable rather than just being flashy (awesome drag and drop)
  • Tabbed interface that allows you to click on actions and different folders without losing that email you spent 20 minutes composing

It's effectively a DHTML Outlook clone -- probably even better than the Outlook 2003 webmail interface, and that's sayi

Syndicate content