<< October 2001 December 2001 >>

Thursday 29 November, 2001
#[Arabica] Added a missing piece to the MSXML wrapper today, it will now read a stream passed in the InputSource -
  SAX::msxml2_wrapper<std::string> parser;
  SAX::InputSource is(std::cin);
  ...
  parser.parse(is);
will now work correctly. Up to now it had only worked for system ids.
[Add a comment]
Monday 19 November, 2001
# Lots of fun last Thursday, even if I did have to get up very early and get home very late to fit it all it.

The interview was, well, interesting. First off, I had to call in and see the agent at her office, where she went through the job and what they were looking for again, all the while fixing me in the eye with a don't bullshit me, buster stare. That's was good, actually, because agents don't do enough of that kind of thing, most being happy to staple together wads of CVs and stick them in the post. After expressing a great deal of concern for my wellbeing (you know where you're going?, yes, Lombard Street, yes, sure you'll be alright?, yes), she let me go off to the interview proper.

The bulk of the interview was a technical test. I've done them before and generally find they reveal more about the interviewer than the interviewee. This was a little different, because after the initial pick-the-bugs-out-of-that section, there was some fun stuff like "who are these people - Bjarne Stroustrup, Fred Brooks, Larry Wall, CmdrTaco, Dr Dobbs, Tom DeMarco, etc, etc". The final question asked what was a good way and a bad way to interview technical staff. I laughed and told them their test was too easy.
Hugo the interviewer : You'd be surprised how many people get it wrong.
Me : How many?
Hugo : Lots.
Me : I'm surprised.

I knew I'd got it, if only because I've never been interviewed for a job I wasn't subsequently offered. Ah, if only I wanted to do them all ... They confirmed the next day that they want to see me again next week.

Swapswire turned out to be a short stroll away from GorillaPark, so I wandered over and had a top salady lunch there with Frazer. GorillaPark are the leading pan-European business accelerator for high-tech entrepreneurs, specializing in identifying early stage technology investment opportunities and accelerating them through their critical initial stages of development, but the important part for me was that they have very stylish offices and a free canteen serving good nosh. Actually for a business that bangs on so much about being at the cutting edge of new technology (The concept must be innovative in order to obtain potential "Gorilla status" in the proposed market segment, which means that the idea is revolutionary enough to shake up the market.) I saw far too many Wrox books on Visual Basic lying around for my liking.

Via a lengthy detour and a change of clothes to the Freedom Brewery to met the Aicom boys and the ex-Chrystal boys. Phil, head Aicom bloke, was handing the out the corporate goodies. And what fantastic goodies. I thought getting a JezUK pen would be a bit exciting, but now I know better. Phil was handing out Aicom branded Cybertools. Wow! And he paid for all the jolly good beer we drank, and then he paid for the curry too (although that was a bit iffy). What a Lord! If you need some software consultancy (and I'm not available) go talk to Aicom and maybe they can afford to take us all out again next year.

Ali said Errr and who exactly are any of those people? [added 20th Nov 2001]
angry_john said Hey, why have the grounds dried up [if grounds can actually get any drier] ? What I am supposed to be reading at lunch time damn it ! [added 6th Dec 2001]

[Add a comment]
Wednesday 14 November, 2001
# Interview with these people tomorrow, possibly followed by lunch at this place's canteen, definitely followed by beer and curry with these people, him, him, these people, this chap and others. It'll be linktastic.
[Add a comment]
#[Arabica] Finally got the reference counting sorted out, and a SAX2DOM class too. The SAX2DOM populates the DocumentType node with Entities and Notations, plus the magic reappearing default attributes behaviour for Element nodes will work too.

I think that means that I've hit everything in for DOM Level 2. Hurrah!

You can grap a working copy using the CVS checkout instructions here, and checking out the DOM module as well as the SAX module.
[Add a comment]

# This morning's post.
smellygit said But isn't JezUK ltd a key driving force behind the 'New Economy'? [added 14th Nov 2001]
andrew luke said Definitely Jez do you have the face of a therapist. Drinkclink. [added 20th Nov 2001]

[Add a comment]
Tuesday 13 November, 2001
# Just finished reading Bob Cringely's illuminating history of the early PC industry, Accidental Empires. He covers the rise of Apple, the rise of Microsoft, the fall of Apple, the rise of Microsoft, the rise of Lotus, the rise of Microsoft, the fall of Lotus, the rise of Microsoft and so on. It's an entertaining story anyway, simply because so many of the major figures - Steves Jobs and Wozniak, Bill Gates, Dan Bricklin, Mitch Kapor and chums - are fascinatingly unhinged. Bob intersperses his narrative with vivid metaphors and cogent editorialising, to pep it up even more.

The book was written in 1991, but he flags up the then unnamed millenium bug as a major future problem. He identifies Steve Jobs selfmythologising (Jobs return to Apple was less return of the prodigal that it was return of the Messiah), and Bill Gates's desire to be regarded as the world's best programmer (Gates' official title at Microsoft is now chairman of the board and chief software architect).

In one section I found particularly sharp, he characterises companies as first, second and third wave. First-wave companies are small, highly motivated, and technology focused - the early Apple or Lotus for instance. Third-wave companies have been around forever, like IBM or AT&T, and are characterised by a conservative outlook on things. Second-wave companies are somewhere in the middle. They've established a beachhead with their new tech, but now they need to maintain and grow it. Bob says

Apple chairman John Sculley [hired from PepsiCo] is a third-wave leader of a second-wave company, which explains the many problems he has had over the years finding a focus for himself and for Apple.
He's no doubt having a chuckle over this news item. Anyway, he continues
When the leader is a third-wave type, the start-up is hardly ever successful, which is part of the reason that the idea of intrapreneurism - a trendy term for starting new companies inside larger, older companies - usually doesn't work. The third-wave managers of the parent company trust only other third-wave managers to run the start-up, but such managers don't know how to attract and keep commandos [first-wave engineers], so the enterprise generally has little hope of succeeding.

At the time Chrystal was launched, the then CEO said "If we were still part of Xerox, we'd be killed off". Splitting out from the main part of Xerox was meant to allow it to flourish and find its own way. The product it had was good and the market was there to be discovered.

Five years later, Chrystal had a product I thought was good but had been allowed to atrophy. My programming collegues complained that the work they were doing was being ignored, which is something nobody wants. Part of the reason for writing software is so other people will use it and perhaps tell you it's useful. I keep banging on about Chrystal because my work for them was literally days away from completion when the company was killed. Another fortnight, I could have cut a 1.0 release and gone away half-way happy. Bastards.

By the time it was wound up it was being run by a man who had spent the previous 22 years with Xerox in a variety of senior management positions, who's VP of Sales spent spent 26 years with Xerox in various senior management positions in sales and marketing. It was part of Xerox so it had to die.
[Add a comment]

Monday 12 November, 2001
#[Arabica] Gone back to working on the my DOM implementation. I'd realised that the reference counting scheme I was using was completely wrong, and the whole thing would be tied up in a circular reference. You can't keep a reference count on each node in the tree, but on the tree as a whole. Given any node, you can always get back to the document node and navigate around, so you have to hold the whole tree until it's all finished with. Once the last reference to any part of the tree is released, then you can destroy the whole tree, but not before.

I've set thing up now so that each node forwards the reference count to its owning document. Once the document is destroyed each node destroys its children. The only thing you have to keep track off then are nodes which have been removed from the tree, or which have been created but not yet added (i.e. those obtained via cloneNode or create*).
[Add a comment]

Thursday 08 November, 2001
#[Arabica] Added the new DefaultHandler2, Locator2, and Attributes2 interfaces to SAX/ext.
[Add a comment]
# It was suggested to me that the some of the a-hem material here, on my corporate website, perhaps shouldn't be, so I've moved it.
[Add a comment]
Wednesday 07 November, 2001
#[Arabica] Bundled up a new release.
[Add a comment]
# The rush hour in Birmingham generally lasts about an hour and half. Half past seven to about nine in the morning, four thirty to six-ish in the evening. One of my little working-from-home pleasures has been to sit having my breakfast watching the queues of frustrated drivers snake past outside.

Since the attempt to kill a largish chunk of those enjoying Birmingham's swinging nightlife, the rush hour has grown and grown. All you have to is fart loudly in the city centre and half the inner ring road gets closed off. There were still queues outside here at 10:30 this morning, and we're three miles from the city centre. Last night it took Nat, Clare and Helen took over an hour to travel the four miles or so from the M6.

Despite the bombing, nobody I know is afraid to go into the city. I certainly am not, even though if it had been planted a week earlier I'd have been fifty yards up the road eating a bag of chips. Here at least, terrorism doesn't mean living in fear, it means living with additional inconvenience.
[Add a comment]

Tuesday 06 November, 2001
#[Arabica] It's always good to compile your code on several compilers (especially when you've been developing with Visual C++). I've spent some time today making sure the SAX library builds ok on Borland C++Builder 5 and gcc 3.0.1 with STLport 4.5 under cygwin. Maybe I can resurrect my Linux installation and check it on that too - I have the Dinkumware Standard Library floating around somewhere. Other compiler + library combinations gratefully received.
[Add a comment]
#[Arabica] Oh yea, I've moved the DOM stuff out into a seperate CVS module called, amazingly enough, DOM.
[Add a comment]
#[Arabica] Back on SAX. I've hooked up the external entity resolution stuff in the expat wrapper. This means that when it encounters an external DTD or entity declaration it will pull it in. It calls resolveEntity on the registered EntityResolver (gasp!), which gives you a chance to rewrite the URI or pull it from a database or whatever if you want. Then it goes away and pulls it in. Hurrah!
[Add a comment]
#[Arabica] I've put aside the DOM stuff for a little while. I need to think about it a little more. The inheritance graphs are getting exceedingly tortured and difficult to work with.
[Add a comment]
Monday 05 November, 2001
#[Arabica] I've been working on adding Events to my DOM implementation. It's hard work - the W3C recommendations really weren't written with any kind of eye on ease of implementation.
[Add a comment]
# Xerox puts Chrystal on the block - According to one of our sources, the remaining staff includes the two lead developers of the Astoria source code.
According to Mr Singleton - BWAH-HA-HA!

[Add a comment]
Sunday 04 November, 2001
# My email relaying has, hopefully only temporarily, dried up. I feel so unloved .
[Add a comment]
<< October 2001 December 2001 >>