Hot on the heels of the last exam I’ve done another and gained myself a second MCTS (this time in Web applications 2.0). Not that the examiners made it easy.
For this exam I had to take the ferry to the mainland and stay overnight in a cheap hotel in Burnaby. In the morning, check out, drive to a mall, and leave the car there whilst travelling in to downtown Vancouver on the skytrain to the test centre. Well, last minute study in the hotel was hampered by the fact it was in a red light district ... so there was lots of coming and going by other hotel patrons interspersed with rhythmic banging of headboards on paper-thin walls. A little distracting.
In the morning I got to the test centre at the appointed time only to be told they weren’t expecting me and there was no way they could fit me in. On to the test company’s global help desk (via cell phone) where a polite girl, after confirming the problem with the local test centre, started suggesting alternatives: “We have a slot available in ... er ... it’s spelt K-E-L-O-“
“You mean Kelona?” I ask.
“Yes. In a couple of hours. Could you get there?”
“From downtown Vancouver? I don’t think so. Five hours, maybe.”
But eventually we settled on midday the next day at the same test centre I had originally intended.
So it was back to the hotel to re-check in. A trip to the mall to buy some fresh clothing (travelling light meant I hadn’t packed any more than I’d originally needed). And, of course, I hadn’t packed my cell phone charger either.
The next day, I repeated the steps of the previous 24 hours. But this time there was no problem and I was able to take the exam: 50 questions in an hour (2 hours allowed) passing with 85% (70% required).
Now on to prepare for the third qualification ... distributed apps 2.0 (which includes web services, remoting, etc).
It’s been a few months now since this year’s Doctor Who. So, what to make of it?
First, there is a new Doctor (played by Matt Smith). Initially I was worried he would be too young for the role, the Doctor should have a paternal air, so a bit of age is good. Was I right? Sort of. In the early episodes of the season he was slightly eclipsed by his companion. Then there was the lack of trauma over the time war. Christopher Ecclestone’s Doctor had an anger bubbling under the surface, David Tennant’s Doctor had a sad pathos that showed from time to time. Yet in contrast, Matt Smith’s Doctor seems completely over it. Only in one episode, where a dark alter-ego of the Doctor appeared, did we see hints of emotional depths.
Then there was the ‘newness’ issue. In addition to the new Doctor we have a new companion, new title sequence (music, graphics, lettering), new TARDIS interior, new sonic screwdriver, and new Daleks. Okay, so the title sequence has been tweaked each season, but even so this was a much greater change than we’re used to. Yes, there was a big change when Christopher Ecclestone started but there was a gap in time, both for the character and the audience, from what came before. This time the story carried on from right after we’d left it. Overall it was a bit jarring. And there is no reason for the TARDIS interior to change (previous regenerations never triggered this, so why now?), nor the new bigger (and somewhat unwieldy) sonic screwdriver.
But the new Daleks, what we to make of them? When the Daleks were revamped for Christopher Ecclestone’s season the press initially dubbed them ‘bling’ Daleks because of their gold colour. But when we saw them they were anything but bling: they were scuffed and dirty, they had a solid chunkiness about them that seemed right in a battle machine. And they now sported these little name plates under the eye stalk which, even though Daleks are not very individualistic, makes a lot of sense. They worked. In contrast, the new Daleks have been dubbed the iPod Daleks. Their different coloured shells to differentiate function harks back to the Dalek movies and does have a degree of logic. They are now taller, full height, which also makes sense. But for the most part look more like consumer products and less like something you’d see on the battle field. And somehow their shape just doesn’t seem ‘Dalek’ enough.
I’ve focussed on the negatives but overall I did like it. The time travel elements that tied the first and last episodes of the season together were very clever and the new title sequence grew on me. I’d just like to see a bit of darkness in the Doctor’s emotions occasionally. And get rid of the iPod Daleks, bring back the bling Daleks.
I’m always trying to improve my skills but in an effort to quantify these improvements I’ve revisited the Microsoft certification scheme. I hold an MCSD from years ago and this time I’m going after multiple MCTS in C#.NET (both 2.0 and 3.0/3.5). First up is winform 2.0 … there were two exams for this: a core foundation exam plus the elective winform exam. However, it seems that these are not available in Victoria BC (the provincial capitol) and so I had to travel to Langley BC for the first and Abbotsford BC for the other.
To understand how daft that is lets just look at the last one. I had to take a ferry to the mainland and then drive to Abbotsford. This took approx 4 hours in total. Then I had to stay overnight as the exam was scheduled for the early morning. All this for an exam scheduled as 130 minutes long but which actually only took 40 minutes (I scored 95%). It seemed a bit anticlimactic!
Oh well.
Next up will be the webform 2.0 qualification. It uses the same foundation exam I have already passed so I just need to do the webform elective. After that I’m not sure if I should complete the 2.0 trio and do the web service 2.0 exam or start the 3.5 upgrade exams.
I’ve finally resolved the exception and error handling issue. I didn’t like the Enterprise Application Blocks so I’ve developed a strategy that mimics them but with greater control. (Actually, it’s a variation on something my Dad developed for his project.) It almost didn’t work when I discovered that Syncfusion somehow blocks the CLR from seeing an exception handler through a Syncfusion component (in this case a skinned form) … but I’ve found a workaround by converting exceptions into form dialog status and back again. Refactoring should be complete by the weekend.
The IEL export function is now complete.
I’ve started to prototype the stars/planets/satellites objects. The system generation rules by DGP are, of course off limits, but actually the generation rules were largely in Book 6. DGP’s World Builder’s Handbook was for extrapolation and secondary details. And a lot of those extrapolations are based on real world science (for example, the relationship between a world’s radius and volume, and if you know the density then you can find the mass, surface gravity, and escape velocity). So it shouldn’t be too difficult to build a replacement rule system for Universe 2 to use.
Currently Universe 2 has 43696 lines of code in 230 code files.
Stories, songs, pictures, movies, plays, etc. are all examples of creative expressions. But what is a creative expression? Is it an intangible asset, a possession to be owned and traded?
No. If it were then copyright law would merely confirm this status, empowering normal property law to govern. But this is not the case. There are distinct differences: an expiry date after which the creative expression is in the public domain, certain rights for non-rights holders called “fair use”. These do not apply to normal possessions, why do they apply here?
Essentially, creative expressions belong to everyone. They are a form of dialog a culture has with itself, between members of that culture. Even if there was only one creator of a particular creative expression it is derived from the experiences that creator has of being in that culture.
That being so what does copyright actually mean?
Copyright law recognises that it is in the public interest if talented artists can devote more of their time to creative tasks, to be able to earn a living from their ‘labours’. Thus, through copyright law, the ability for artists to trade their creative expressions as if they were temporarily normal assets came into being. Creative expressions were monetorised, creativity was incentivised.
So far, so good.
But the world doesn’t just have creators and consumers. There are also middle men. Companies that are supposed to facilitate creative expressions through marketing and distribution.
However, these facilitators are simply businesses, running under the rules of fairly unrestrained capitalism. Which means that their agenda, as with any business, is to maximise profits. Sometimes that agenda clashes with the agenda originally enshrined in copyright law leading to undesirable consequences.
Sometimes facilitators will suppress some creative expressions that might otherwise compete with other creative expressions they wish to promote. They may block distribution through some channels in order to favour other, more profitable, channels ... even if those other channels don’t adequately meet the needs of consumers. They may even throw up impediments to lawful use to encourage purchase of duplicate editions or media. In many cases creators have become relegated to the role of employees in the facilitators’ organisations.
The tail is now firmly wagging the dog.
I write this, not as a consumer, but as (in my own small way) a creator. But I don’t know the solution.
While Universe 1.7 continued to sell in 2009 work continued with developing Universe 2.
The IEL import function is complete and the IEL export function nearly so.
I can now display subsector maps in ‘rich detail’ format. Universe 1 allowed specific features to be turned on or off, and re-rendered the map accordingly. To speed up responsiveness Universe 2 renders maps as a series of transparent layers (different features on different layers) which are combined in the ‘view’ dynamically. This uncovered a short-coming with the way text is anti-aliased in C#: Each pixel has 4 bytes … red, green, blue, and alpha. Red-green-blue just like web colours, alpha is for opacity. The anti-aliasing routines for text ignore alpha and compute edge pixels as a gradient between the text colour and the background colour. The ‘transparent’ colour is all bytes set to zero (or completely see-through black). That isn’t what’s wanted. The answer was to ‘roll my own’ anti-aliasing code and you can see that over on Code Helmet.
Universe 1 had multiple ‘universes’ (each in a separate database), each with a referee and a player group. Universe 2 has multiple ‘campaigns’ (all in a common database), each with a referee and multiple player groups. Functions have been added to add new player groups, delete them, merge them and clone them. Universe 2 also now has campaign templates … basically a ring-fenced campaign: when creating a new campaign you can base it on a template (ie. copy the template campaign to the working campaigns area). Campaigns and player groups have an active flag (non-actives are hidden from players logging in).
I’m still not happy with the whole exception and error handling approach. I’ve been playing with Enterprise Application Blocks to see if they help … hmmm.
Chapters 4 and 5 have now been uploaded: The new crew have been added to the ship (with a few teething problems), the problems and puzzles continue to mount up, and some of the back-stories of Andy and Pale are revealed.
Chapter 6 is half finished.
I think I’ve decided to use the name ‘slate’ to refer to a hand computer (this will be retro-fitted into the existing manuscript at some point). ‘Hand computer’ always seemed clunky and ‘tablet’ is already in use. ‘Pad’ is too Star Trek and nothing else seemed right.
I had a negative observation about a humorous moment early on (chapter one) that had contemporary references. But I think I’ll leave it in as it ties up neatly with something planned for chapter 7.
As part of the website spring clean I have started a wiki over at WikiDot for programming. Originally I had intended it to be primarily tips and stuff about Syncfusion but the general C# content has dwarfed that so far.
Why “Code Helmet”? When I was contracting at GAM they had an open plan office (the norm for the UK). This led to a near constant drone of conversation … often, but not always, work related. Normally this was fine but sometimes, when working on a particularly knotty problem you wouldn’t any interruptions. The ‘solution’ was to wear a plastic toy Viking helmet: this flagged to others that you didn’t want to be disturbed. This became known as the ‘Code Helmet’ (although there were actually 2).
(See pic.)
Okay, for those who haven’t seen it yet, my main website (Trisen.com) has been redesigned. The new design is based on an online tutorial … visually more interesting than what was there before. My name near the top links to my online CV (or resume). StuffOnline is retaining it’s original theme (and staying as classic ASP) to mark it as separate from the ‘main’ site. I am building (but not yet published) an ASP.NET site for Universe, hopefully it will be ready before Universe 2 starts public beta.
It seems crazy after all this time but I am still getting mis-directed email. Email to people at trisen.com.my (a company in Malaysia) and to tri-sen.com (a company in the US) keeps ending up in my default mail box. This includes boardroom minutes, quality complaints, and order inquiries … plus some occasional personal stuff!
The other thing of note in 2008 was that, with the ink still wet on an extension to my contract, my employer decided to get rid of all contractors (thanks to the credit crunch). But this wasn’t before I’d already booked a Christmas holiday in the Holy Lands. I should explain that, although I was raised a Catholic I am not a religious person. But I wanted an alternative to spending Christmas alone in a hotel room in London and when the thought of going to the Holy Lands for Christmas popped into my head it seemed an obvious choice. My first plan was to tour Istanbul, then go to Bethlehem for Christmas day, and do the Pyramids in Egypt for New Years but that turned out to be too difficult to arrange. Plan B was to do the Holy Lands over Christmas and the Pyramids at Easter. In the end I only achieved the first half of Plan B, Egypt will have to wait for another time.
Meanwhile, I think my contract ending upset some of my perm co-workers more than it did me. They gave me a nice send off (two in fact), which as a contractor you don’t always get, and I’m still in touch with some of them.
So. A week in Israel. What was that like? Short answer: not quite what I expected. The hotel was in Tel Aviv and I landed to find it windy and raining heavily. I always thought Tel Aviv was a modern, Western-style city in a desert country. But, apart from some modern hotels on the sea front, most of what I saw looked more like a run down Mediterranean beach resort off-season. Finding you way around can be more problematic than in other foreign countries: In France or Germany or Spain you can read a word from a sign and find it in a guide or phrase book (even make a stab at saying it), but in Israel the alphabet is so different you don’t even know what order the letters come in, and reading a sign out loud is a complete non starter. Squiggle squiggle squiggle squiggle! You also have to contend with Jewish eating laws … even in a hotel. I was prepared for no bacon, but no milk for tea of coffee when there was beef on the menu?
Before I left I tried to book a tour of Bethlehem for Christmas Day but the travel agent said I’d have to book all tours when I got there but it would be easy. When I got there it found it was easy to book tours … but not to Bethlehem: that needed advance notice because of the security issues. But I did book three other tours. Jerusalem, Masada and the Dead Sea, and the Sea of Galilee. Each took a full day, leaving the hotel at 7am and returning after 6pm.
Jerusalem was interesting. Apart from all the obvious local history I found all the buildings (and the alley ways) were made from local limestone. The local authorities ensured this applied to new buildings too so they wouldn’t look out of place. The downside is that limestone is slippery when wet: not what you want to pave your roads with! I spent half my time there looking down at my feet, trying not to slip over. Oh, and having airport-style security check points to enter the Jewish quarter of the city was a surprise. Especially when they were manned by teenagers in civilian clothing and carrying battered looking Uzi SMGs!
Masada and the Dead Sea were in the desert. Much more like I was expecting. And spectacular. But I had no idea how much the Dead Sea had dried up. We stopped off at the Ein Gedi resort … it had been built on the edge of the dead sea but now a tractor has to take you from the resort buildings to where the edge is now. The ‘beach’ is a thick crust of salt … looks like sand, feels like rough concrete. So no bare feet. The water itself feels very oily. Our guide made two comments that stuck in my mind. First was that Masada was a metaphor for modern day Israel: a group of Jews surrounded and outnumbered by enemies who wished to kill them all. Second was her idea that the West Bank had fallen so quickly to the Israeli Army because God was on their side (I had to bite my tongue not to mention the parallel to the equally fast fall of Poland to the Nazis): Tourists are cautioned not to talk politics with the locals.
Finally there was the Sea of Galilee. Actually a whistle stop tour of Tiberium, Capernaum, Nazareth, and some place on the River Jordan. I got to eat a fish out of the Sea of Galilee and watch people being baptised in the River Jordan! How cool is that?
So here’s the thing: The Sea of Galilee is currently below its usual level. And the Sea of Galilee flows, via the River Jordan, into the Dead Sea … which is now half empty. And everywhere you look are fields filled with every kind of fruit thanks to irrigation. With plans for more settlement and more farming. Are the Israelis about to experience the water equivalent of a credit crunch? One of Israel's conflicts had been over the Sea of Galilee: it used to be shared with neighbouring Jordan, now the border encompasses the far shore as well. Was this conflict really about access to water? Quite apart from the Palestinian issue it looks like trouble ahead.
Of course I’ve only hit on some of the highlights. I could have written an entry longer than this one on each day of my trip. I did find security on El Al flights was much more thorough … not stricter per se, but not the going-through-the-motions gesture security you seem to get with other airlines. And it was bizarre being in the airport and hearing an announcement over the PA reminding passengers that they shouldn’t carry their guns in the main concourse!
Over all, very educational for the non-religious. Highly recommended.