Ben Poole

“It is a very sad thing that nowadays there is so little useless information.”

Weblog by month (February 2004)

EditCSS

Fancy editing your site’s CSS in real-time from within a Moz-based browser? Check this out:

EditCSS plug-in.

Via Russell Beattie.


HyperDesign

Take a look at this site (via Matt Raible.). Be sure to go back at different times of the day. It has a nifty bit of XML / PHP tom-foolery going on that means the banner graphic changes throughout the day. I like. In fact, it reminds me of something similar I did years ago with HyperCard. Ah memories... The HyperCard stack in question was intended to be an interactive story book for kids. It had animated page turns, clickable widgets in the illustrations, etc., etc. The opening page featured a bit of scenery from the place featured in the story, and there were three versions of the piccie (very poor in comparison to Dunstan Orchard’s ninety images!), depending on the system clock when one opened the stack. I was so proud of that. A shame I never got beyond page three, but drawing the pictures by hand mouse in ClarisWorks took it out of me.

[smiley BigGrin]

Talking of HyperCard (created by the great Bill Atkinson, now a nature photographer), I trust everyone has been reading the Macintosh-related anecdotes at folklore.org? You don’t need to be an Apple fanatic like me to find these stories interesting, believe me.

Uh, but you do have to be a bit of a geek.


Well I never

During the course of testing the recent site tweaks, I learned something new about the Domino HTTP task — specifically, how the server renders embedded views on the web. It’s puzzled me for some time why Google doesn’t seem to index individual weblog posts on this site (articles and the front page are fine), despite my best efforts with robots.txt and meta tags. Well, all is now clear. I swear I wasn’t aware of this before: if a view is rendered within a $$ViewTemplate form, Domino assumes that you don’t want the content indexed. In other words, this gets inserted at the top of your HTML:

<meta tag="robots" content="noindex">

There’s nothing the coder can do about this, and it overrides any meta tags one may subsequently create. The approach does make sense in general terms — why would anyone want to index an ordinary dynamic view? — but my issue with it is the lack of control over the tag’s insertion. Why do these things have to be “all or nothing”? There are valid reasons for wishing to override this setting. Take benpoole.com: the whole site is predicated upon the concept of the Domino-rendered view. You are reading this content from a view, whether you’re on the home page, or viewing via the permalink. Unlike most Domino weblog designs, readers do not see posts here as conventional Domino documents. So, a dilemma! Thankfully, there is a work-around.

Instead of opening the view within its template thus: .../VIEWNAME?OpenView, do this:

.../$$ViewTemplate%20for%20VIEWNAME?ReadForm

Ugly eh? Same end-result, just nastier URL. However, this is now what I’m doing on this very site. I use Domino Developer Network’s re-direction system already, so no great shakes.

I hope this is useful to someone. Who knows, come the next Google-dance, perhaps people will be able to actually find this wee nugget of information [smiley Smile]


Ch-ch-ch-changes

Following on from some wee changes made at the start of the month, a few more subtle tweaks have occurred chez Poole. Specifically, the arrangement of permalink / category / comment links in weblog entries, and the removal of the myriad link rel bookmarks, useful only to those with site navigation bars (the more permanent links still exist). Everything was done with input from a number of you out there, and special thanks go to Volker for his ideas and mock-ups. There may be a few more changes ahead.

Let me know how this pans out for you...


Lots of RSS

As others have noted, IBM developerWorks has a whole load of RSS feeds available. The page also says:

To ensure that you have all the resources you need to get up-to-date headline feeds on dW’s most recently published developer content, we will soon be expanding this site. In the coming weeks, we will add RSS feeds for:

Good stuff. What is a little more mysterious is how the site team chose the RSS aggregators to recommend: no NetNewsWire? FeedDemon?

Meanwhile, Russell goes for Atom again. Time to watch the comments fly!


DocumentCollection: warning!

Uh oh. I wonder if this is a bug in the Domino Java classes. Here’s one for you to try. This morning, Stefan Kassal posted a query on the Lotus Developer Domain entitled “Max parameter in db.search() in java does strange things...”. I was intrigued and set out to test his claim. Sure enough, an object implementing the DocumentCollection interface behaves in an unexpected way, with potentially catastrophic results. This is in both releases 5.x and 6.5.

Here’s how to try this out. Create some dummy documents using the same form for all, noting how many documents you create. You should then knock up an agent to get a DocumentCollection handle on just some of these documents. See what happens when you call the removeAll(true) method:

	Session session = getSession();
	AgentContext ac = session.getAgentContext();
	Database db = ac.getCurrentDatabase();
	String formula = "Form=\"YOUR_FORM_NAME\"";
	// Number to include in collection must be less
	// than total # of docs in db using form
	DocumentCollection dc = db.search(formula, null, 10);

	// Works as expected:
	int count = dc.getCount();
	System.out.println("Doc count is " + count);
	// Doesn't work as expected:
	dc.removeAll(true);

Eeek! Can’t be right, surely?


Runtimes

A few weeks back, Joel Spolsky wrote a timely piece entitled Please Sir, May I Have A Linker? bemoaning the current state of affairs with .NET, in its requirement for an installed runtime.

Runtimes are a problem, much like DLLs, because you can get into trouble when application version 1 was designed to work with runtime version 1, and then runtime version 2 comes out, and suddenly application version 1 doesn't work right for some unpredictable reason.

Now this really makes sense, especially with regards something like .NET: Microsoft have a habit of releasing patches and tweaks like there’s no tomorrow after all. Anyway, today I downloaded a wee app that was supposed to install an add-on to my WinXP task bar. But this is what I got upon running the setup executable:

.NET version error

Note the wording: “ ...this setup requires...” — the .NET installer is the culprit here, nothing to do with the damn application!


Rich clients

Back to the Workplace client. Justin links to the Qanyon World Factbook RCP application, which shows off the technology behind the new rich client. Useful stuff. The page details some advantages of the platform thus:

  • Platform independence
  • Native user interface with SWT
  • Eclipse plugin system
  • Easy integration of webbrowser / ActiveX components
  • Great community and industry support
  • Open Source with CPL license

... which is a little odd. Point one is in direct contradiction with the latter part of point four, surely? I mean, who would even think of using something as dodgy and proprietary as ActiveX? [smiley Wink]

More at VoweWiki.


Quick links

Crikey. Things have been getting Atomic over at Russell Beattie’s site: Russ takes issue with Mark Pilgrim. I can kind of see his point too. This whole Atom thing is just fine as a technical notion. It’s the pathetic pontification and grand-standing going on around it that is pure pants. I hold Atom responsible for the degradation of a great site: diveintomark. It used to be really interesting, with plenty of opinion on all kinds of things. Now? RSS and Atom talk. Yawn.

Moving on, some more quick links:

Here’s to the weekend, and — ahem — a lovely St. Valentine’s day...


Go-getters

OK, time for a really anal Notes coding question: do you use Property Get and Property Set in your custom Lotusscript classes at all?

I find that I do, despite my OO heritage (what there is of it) actually being more along the lines of Java, with its getHim() ooh, getHer() methods. What I mean is, I only really got in to object oriented Lotusscript after I got into Java.

It’s a weird one: I’m not convinced that the use of Property actually does much, beyond keeping one’s code consistent with The Lotusscript Way. For example, Notes programmers are used to seeing things like NotesDocumentCollection.Count, not NotesDocumentCollection.getCount(). A small distinction I know, but I told you I was being anal.

So, any takers? Any more persuasive reasons for using Property beyond being nice to Domino people? Indeed, one could argue the reverse postion: maybe we should think about using more get / set methods as we move further down the Java line at the expense of Lotusscript? [smiley BigGrin]


Palms & Apples

Well this isn’t very good news — What Isn’t in Palm OS Cobalt... Yet:

Mr. Slotnick... made it clear that PalmSource isn’t developing a Mac version of the Palm Desktop. As the way the PIM apps work has changed significantly, this means Mac users won’t be able to HotSync without third-party software.

What third party software? Everything I know of is a conduit, not the synchronisation engine itself. I suppose the saving grace could be iSync maybe? I don’t have any experience using iSync, but I know that it’s just a conduit at the moment. SyncML seems to be the way forward, and Apple are publicly committed to the standard for the future, (it’s not a part of iSync 1.3) so who knows...

On a related point, does anyone actually use Palm Desktop? I never have, I just install it to use HotSync Manager.


Eclipsed again

Crikey. Is it me, or are we soon going to see a version of Eclipse that can brew your coffee, fetch your slippers, and walk the dog? This ever-extensible rich client business is bonkers. Software development, debugging, CVS client, data and application modelling, regexp parsing, replacing the Notes client (maybe. Heh heh) — and now help system authorware: is there no end to Eclipse’s talents?

This help thing is really rather nifty, if an old-ish idea. All mainstream operating systems use HTML-format documentation of some sort: hypertext is really suited to this kind of documentation. Using an Eclipse-based help system actually means kicking off an embedded Tomcat server, complete with Lucene search engine. So, yer help’s in HTML format, off you go. The developerWorks article linked-to above is pretty handy. It details creating a help “plug-in” in Eclipse, and then goes on to show how one’s documentation can then become more useful and accessible via Eclipse’s “InfoCenter” technology.

Worth checking out... and who knows, this could be the future of Notes Help [smiley Smile]


Rockall

While you’re waiting for Mozilla’s FTP servers to free up a little, why not surf elsewhere: Rockall’s back! Satire site, The Rockall Times has returned. It’s fitting that the best story on the front page today concerns outsourcing. Splendid.


Firefox 0.8

Via Keith Devens, it’s here: Mozilla Firebirdfox 0.8. Yes, they changed the name again...

Firebird / fox is my browser of choice when it comes to using Windoze, and I can heartily recommend it to any waverers. Once you start, you just can’t stop. Off to download now!


Sneaky

Ben won’t be too happy: I snuck in those pesky ads [smiley Shock]. Oh well, let’s see how this pans out... I have got another child coming you know. [smiley BigGrin]