<< October 2004 December 2004 >>

Wednesday 24 November, 2004
#[Arabica]Name tests
Name tests (*, name, prefix:*, prefix:localname) and test harness for the tests (if you see what I mean) committed.
[Add a comment]
Tuesday 23 November, 2004
#Top Tips for Laptop Health
Always ensure your laptop computer is suspended or switched off before you tuck it away in its nice, snug bag, unless you wish it become very warm indeed and start giving off that "softening circuitboard mixed with solder fumes" aroma.
smellygit said Is that learnt from experience then ? [added 24th Nov 2004]
Drove home last night. Turned off engine. Wondered "what's that noise". Tracked it to laptop bag. Was damn near glowing to was so hot. Fortunately it calmed down pretty quickly once I took it out. [added 24th Nov 2004]
John H [e] said Time magazine had an interesting article about using laptop computers on your lap. Turns out that the heat a laptop generates is enough to kill sperm. That's either a good thing or a bad thing depending on your perspective [added 17th Dec 2004]

[Add a comment]
Tuesday 16 November, 2004
#[Arabica]XPath Node tests
Implemented node(), text(), comment(), processing-instruction() and processing-instruction(target). Added CppUnit tests to exercise them. Name tests tomorrow, maybe.
[Add a comment]
#[linkfarm] Telerobotics Using Lego Mindstorms and Java
[Add a comment]
Monday 15 November, 2004
#[Arabica]XPath commits
Bunch of commits today. There are now StepExpression and RelativeLocationPath classes, and I've started to hook them into the parser. I've also made a start on writing grammer rules for all the string literals in the grammar, axis specifiers for instance. That'll make the parsing much easier. This is good progress. Usefulness approaches!
[Add a comment]
#The British Computer Society? It rocks!

On one of the programmer-types mailing lists I read, there's an occasional recurring discussion about the British Computer Society and its relevance. Relevance to the actual working programmer that is. The discussion frequently branches off into, or originally started with, questions about chartered status, the IEE, Eur Ing, interview technique, further qualifications and generally how you can tell if someone's a good programmer or not. The general feeling is that the chartered institutions, and the BCS in particular, don't serve jobbing programmers very well. I'm inclined to agree. I was keen to get on the CEng track when I started working after university, but found the IEE singularly unhelpful because I wasn't in a conventional engineering environment.

Anyway, I'm now prepared to do a complete volte-face on the BCS following the announcement of their 2004 Technology Awards. A bit of software called OKI Print Wizard PRO was a medallist in the Applications category.

OKI Print Wizard was developed for OKI by iSTRAT, so congrats to them. The code was written for iSTRAT by the wonderful peopleperson at JezUK, so congrats to themhim too.

The BCS? It rocks!

anonymous said You are so easily bought :p [added 15th Nov 2004]
That's what I do

:) [added 16th Nov 2004]

[Add a comment]

Friday 12 November, 2004
#[linkfarm] Richard Epstein: Why open source is unsustainable
[Add a comment]
#[linkfarm] Using Customized Schema Constraints
[Add a comment]
#[linkfarm] Extending Struts
[Add a comment]
#[linkfarm] Got Project Automation?
[Add a comment]
#[linkfarm] Introducing Topic Maps
[Add a comment]
#Happy Diwali!

We've all been invited to a Hindu Diwali party this evening. Little Halster's a bit off-colour today, but I really hope we'll all be able to go. Daniel will be thrilled to go to a party with actual fireworks banging off in the garden. On a more personal gutbagish reason, and without wishing to resort to crude stereotypes, there's bound be a ton of tip-top nosh. Hurrah!

Joy, happiness and prosperity to you all.

Garry said We've just had one at work - thanks to the collective of Indian collegues - top notch grub, followed by not so Indian Budweiser beer : ) [added 12th Nov 2004]
Maybe it is - we had Budweiser too.

Hal was still going strong scoffing rice and yogurt at gone 9 o'clock, and it was the Bean who flagged first. Just eaten a big pile of gulab jamon. Feel a bit queasy now :) [added 12th Nov 2004]

[Add a comment]

Wednesday 10 November, 2004
#[elsewhere] No - all workflow sucks!
[Add a comment]
#[elsewhere] Eventually, they'll discover his name.
[Add a comment]
#[elsewhere] Discussion programs chaired by Melvin Bragg must die.
[Add a comment]
Tuesday 09 November, 2004
#Paul and Jez's Stream-a-Poloza

The proposal we made for the ACCU Conference 2005.


IOStreams is one of the lesser known areas of the standard library. While most people are now entirely comfortable slinging around std::vector and std::list, and know the difference between a std::map and a std::set, IOStreams is still rather opaque.

Sure, writing an operator<< isn't too big a deal, and maybe the bold have even come up with a custom manipulator. But streams? Where do they come from? Where do they go?

In a fun filled journey into the Standard Library's dark continent, we will attempt to illuminate the mysteries of IOStreams and reveal the streambufs beneath.

Staring with a quick tour through IOStreams excitingly diamond shaped class hierarchy, we'll introduce the concepts of sources and sinks (i.e. Streams which read from or write to some external destination) and filters/adaptors (streams that modify data in flight). We'll also talk about some of IOStreams little idiosyncrasies – why some buffers might not actually buffer, and why read-only buffers sometimes need to be writable.

By way of illustration we'll be walking through a logging stream. It writes log messages to an arbitrary number of other streams. The destination streams will be a combination of fstreams, stacks of filters, logging daemons on other machines, and whatever else we need.

By helpful coincidence, Boost has just accepted a new IOStreams library which uses the same source/sink and filter concepts. Code we present might be based on it. It would be remiss of us if we didn't at least reference it.

pwax [e] said A good idea would be to explain: why would someone want to use an IOStream anyway? [added 17th Nov 2004]

[Add a comment]
#Unit Testing XSLT Stylesheets

Here's the proposal I sent for the ACCU Conference 2005.


XSLT is now a mature technology. It's widely used in web, document composition, electronic and print publishing applications, among others. Increasingly, XSLT styling isn't the last little bit at the end to create the HTML, but at the core of document creation and processing pipelines. Indeed it isn't uncommon, particularly in publishing applications, to have multiple XSLT transformation steps chained one after the other. XSLT stylesheets are getting larger and more complex, containing significant chunks of business logic.

XSLT, while addressing the specific issue transforming XML, is Turing complete. It's a real programming language, and people are doing real work with it.

Development is easier with automated testing. It's a given. That's why Ant integrates JUnit, and why C++ programmers up and down the land spend hours developing test harnesses because CppUnit just isn't quite right.

How do you test an XSLT stylesheet?

I'd like to present a tool for XSLT testing. Tests are described in an XML vocabulary. The test definitions are cranked through a set of XSLT stylesheets to generate Java source, more XML and yet more XSLT. The Java sources are JUnit test suites which drive the XSLT test procedure. It's all stitched together with Ant.

It's all quite neat from an exposition point of view. It's an application written in more or less equal parts of Java and XSLT. It uses multiple XSLT stages. It needs testing too :) While the code I have is in Java, it can be adapted to C#, C++ or any language where you have an XSLT processor and test harness available.

I think it could make quite a snappy 45 minute session.

Clever clogs will, of course, be aware of XSLTUnit - http://xsltunit.org/ - and it is undoubted rahter a cool piece of work. I'm aiming to be cooler though :) [added 9th Nov 2004]
anonymous said Unit testing is one of those things that everyone says is good, but secretly know it addresses about 10% of real life problems. It's good as far as it goes, but it's a long way from acomplishing what testing really needs to accomplish.

At lest this bloke says so - http://www.pyrasun.com/mike/mt/archives/2004/07/10/18.43.16/index.html [added 9th Nov 2004]

Automated unit testing is good, and you can't really argue with that. I'm not claiming it's the key to world peace. The article you link seems to suggest it's the root of all evil, but I don't see any substance in what he says. He sets up an extremely flimsy straw man, then beats the hell out of it without actually offering any alternative. w00t! Check his 3l33t debating skillz.

It's true that some things are easier to test that others. It's true the your definition of a "unit" can make a significant difference. Systems with a lot of state stashed in databases are a pain. GUIs of all sorts - web apps, Java, whatever - are also very difficult to test.

I'm doing a lot of work where significant things happen in XSLT, and so are more and more other people. Testing XSLT is a tedious, generally extremely manual, business. I'm just trying to make is a touch easier. [added 10th Nov 2004]

smellygit said I don't think that Unit testing is bad in anyway, but it clearly can't be used on it's own. What really matters is if the whole software suite does what the customer wants. A contractor at our place suggested adding unit tests to an existing large application, mostly for 'DTO' objects, along the lines of 'does this setter work'. This cheerfully ignored the fact that pieces of functionality were missing from the product.

I think what that geezer was saying was that some of the 'thought leaders' don't give enough emphasis to the end product vs. using there methodology.

I'm not saying that unit testng isn't a good idea, and if you are programming in XSLT then being able to test it like that is a good thing. Probably more so than it is with Java as the side effects are harder to see. [added 10th Nov 2004]

smellygit said s/there/their/ [added 10th Nov 2004]
The slides now available. [added 4th Oct 2005]

[Add a comment]
Monday 08 November, 2004
#

Just had my both my proposals for the ACCU Conference 2005 accepted. This is both exciting and nervewracking (but also economic - speakers get discounts). The keynote speakers include Bjarne Stroustrup, so pressure is on to be really quite good. My chum Paul and I will be burbling on about C++ IOStreams, while I'll be flying solo on XSLT Unit Testing. Book your places now Code-fans!

Marvin said I see it's at the Randolph hotel in Oxford. very nice. My brother once saw Jimmy Hill there (through the window i hasten to add) apologies for pointless comment. [added 8th Nov 2004]
Ah yes, the Randolph. The very expensive Randolph. The "did we mention they filmed Morse here" Randolph. The did "the Amatuer Athletics Association was formed in our bar, you know" Randolph. The "did you see that nice Antony Hopkins anywhere" Randolph. The "conferences rooms get very hot in the afternoon" Randolph. Yep, that's the place. Service is jolly good though :) [added 9th Nov 2004]
anonymous said we have the archives of the aaa here at brum, don't you know. sadly i cannot comment on the quality of service at the randolph, unlike Some People :) [added 9th Nov 2004]
Christ, you don't think I actually stayed there? Last year's conference was also at the Randolph, hence my familiarity with both their pleasant and helpful staff and excrutiating (even for Oxford) beer prices.

I dodged their room prices by spending a night on Kal's floor, then when he "had to" go to an ISO meeting in Amsterdam, a couple of nights in a B&B on the other side of Oxford. [added 10th Nov 2004]

smellygit said Do the quotes around had to imply that you sleeping on his floor forced him to go to Amsterdam ;) [added 10th Nov 2004]
Well, that's not what he said, but now you mention it ... [added 10th Nov 2004]
Marv said I do apologise for my mistake. Although, if anyone thought I'd ever stayed at the Randolph I'd be quite flattered. Did I mention that my brother once saw Jimmy Hill through the window of the Randloph? (It's one of our favourite claims to fame by association) [added 10th Nov 2004]

[Add a comment]
Tuesday 02 November, 2004
#[linkfarm] XML Chunk Equality
[Add a comment]
#The Coffee Grounds Colonial Correspondent writes from Cleveland, Ohio
I recently learnt that a colleague of my wife's didn't like George Bush. She didn't believe in the war in Iraq and she was unhappy with the President's domestic policies. She thought Sen. John Kerry was a better man and had better policies. So who is she going to vote for... George Bush. Why? Because George will seek a constitutional amendment to ban gay marriage. The real irony is that this is a black woman.

The tragedy is that John Kerry doesn't support gay marriage, but this ladies preacher has her convinced that anything short of a constitutional ban will result in gay marriage being legalised and that her church will be forced to perform gay marriages or be destroyed. It isn't true. Nobody can force a preacher to marry them, gay or straight.

This is the land in which I live. Where Karl Rove plays the fundamental Christian right like saloon bar piano.

The truth is, that if George is re-elected, the issue of gay marriage will disappear... until the next election.

God bless America

And God help the rest of us.
stu [w] said Perhaps in the next US election, voting will be determined by how your brain lights up a scan when you view photos of the different candidates. That'll sort out the situation you describe above.

Brain scanners can probe your politics

Scientists are using brain-scan technology to study what makes a Republican's mind different from a Democrat's. [added 3rd Nov 2004]

John H [e] said The single issue, "Moral Values" voters carry the day. [added 4th Nov 2004]
prashton said If the population is really large and diverse (as it is in the US) single issue politics tend to be reduced in significance. When one side of an issue becomes motivated (say for stem cell research) it doesn't take long for the other side to organize against it. That seems to me to be quite healthy in a democracy. The alternative is to suggest that because I don't like an issue, no-one else should and therefore we won't discuss it and it will go away. Life doesn't work like that, fortunately. [added 4th Nov 2004]
John H [e] said Moral issues were sited by 22% of the electorate as their reason for voting for a particular candidate, hardly a minority, infact the single most important reason beating the economy, the war in Iraq and homeland security.

Further "Moral Issues" is pretty much code for opposition to Gay rights and abortion. These are such dividing issues that the lines (for and against) were drawn very quickly with little room for discussion and reason.

My point is a country, especially one as large, diverse and globally significant as the US, should have it's leaders selected by a population that has considered all of the issues. That didn't happen. In truth it rarely ever does but that's the price you pay for a democracy. [added 4th Nov 2004]

Fritz [e] said One piece of news I heard today was never mentioned in the runup to the election. The editor of the Wall Street journal said that the Bush administration had taken out loans with foreign banks namely China to finance their massive deficit. What happens when someday the US wants to get up on it's high horse and lecture the Chinese and they turn around and say where's my $$ Bro? [added 7th Nov 2004]

[Add a comment]
<< October 2004 December 2004 >>