Tuesday, September 30, 2008


Just played pitch & putt with Kris. We both played awfully. It was hilarious. In addition, it hurt to play with my wrist still being sore after falling off my scooter four months ago. Yes! I had an x-ray taken this morning just in case it's really twisted. I had a look, and it looks fine to me, but then, I'm not actually a doctor. I guess Doc will tell me on Thursday.

Monday, September 29, 2008

Teh Internet is Gone!

Very funny episode of Southpark, It's Just Gone. "The Internet" turns out to be a 50ft high DSL router in a military bunker, but it's active light isn't green, it's flashing orange and it takes Kyle to work out they need to reboot it.
Even funnier, was that after watching this episode, I jumped on Facebook, and after five minutes, I lost the internet! It was just, Gone! I too, had to reboot my router. Brilliant!

Sunday, September 28, 2008

TV PC Died

The old Pentium III PC under the TV finally died. It was given to us by friends who left the country, so can't complain. It was just sitting under the TV only being used for playing DivX video across the network to the TV and sound system. I think either the CPU or the RAM gave out, either way, its going to cost more to repair than to replace for the job it was doing. I'm now looking at a MediaGate MG-45 which I think should do the job nicely for $179.

Thursday, September 25, 2008

Test Driven Development

Just finished reading this. Interesting, but not entirely convinced.
Essentially, Beck lays down the following development procedure:
  • write an (automated) test
  • run the test to show it fails
  • do the quickest thing possible to get that test working, even if it's really dirty or evil
  • fun the test to show it passes
  • refactor
  • check all tests still pass
  • rinse, repeat.
The main thing to notice is that the tests you write drive the functionality, rather than the functionality dictating what tests you write. The outcome of this is that the software is designed as you go, and essentially has the minimum possible clean design for the software at each point in the software's life.
It sounds good, but when I ran through his examples, I couldn't help feeling there is magic involved. I think my main concern about the methodology is that the design must necessarily wander around a great deal, and I can't help but think that this would waste a lot of development time in refactoring from design to design. Beck suggests that to some degree, this happens anyway, and IDE refactoring tools are getting really good these days to help with that.
I completely agree that having unit tests that give you a really high code coverage makes it much safer to refactor code, and continuous refactoring of code is really important as new features and modelling enter the fray, and the design necessarily morphs over time. If anything, having read this book will make me write even more unit tests.

Dark Flows



Monday, September 22, 2008

I Love Functors. Part II

See Part I.
There's a better way using std::for_each()! With this, just use for_each() directly.

class Base
virtual ~Base(){};
typedef std::list List;
struct Functor
virtual ~Functor(){}
virtual void operator()(Base& o) const=0;
static void Functorator(List& l, const Functor& f)
std::for_each(l.begin(), l.end(), f);

BTW -code formatted by http://formatmysourcecode.blogspot.com/
Thank you Greg Houston!

Hadron Collider halted for months

Aw, crap.

Saturday, September 20, 2008

Cian - Owen

Illustrated by Cian and Owen.
Written by Owen and Cian.
Once upon a time there lived two boys and the little one was Cian and the big one was Owen! Those boys were poisoning the ants, cleaning the back yard and at the end they had a big ... KISS!! They were very tired after all the work, so they went to bed. Cian had a dream of a pile of rubbish. Dad had a dream of spaceships in the sky! In the morning they had Uncle Toby's Oatbrits for breakfast, it was disgusting! and then they watched video hits! After that they played Gimy Nut troon on the computer.

The End!

Thursday, September 18, 2008

I am a Strange Loop

I just finished reading this, Douglas Hofstadter's latest book. Apparently, he wrote this to clarify his points from GEB about the nature of consciousness. Certainly, GEB was a challenging work of art, and I am a Strange Loop leaves you with little confusion about his point of view.
Essentially, he is espousing non-dualism, and takes you on a journey of rationalism explaining how consciousness, or self awareness arises purely from physical processes, and not to do with any higher, non-physical spirit, power, magic or divinity.
I found his core message easy to agree with, but his explanations and discussion still gave me a lot to think about, and has changed the way I think about consciousness. Really fascinating stuff, particularly the discussion of the concept of "I" being an illusion, "an hallucination hallucinating an hallucination".
His arguments stem from Gödel's work in mathematics to do with how any sufficiently powerful and flexible logical system can produce self referential statements.
This is really interesting stuff and is written in a very readable manner, much more so than GEB, which is known for its sheer density. I thoroughly recommend it.
I'm not entirely convinced about some of his points about the consciousness of others inside your own mind and levels of consciousness tied to empathy and music, but I'll let you make up your own strange loop.

Tuesday, September 16, 2008

Neise not well

Neise has pneumonia and a partially collapsed lung from an infection! She seems ok aside from constant coughing, and although she was very narky this morning is usually in good form. Poor thing. We're hitting her with more and stronger antibiotics after an x-ray showed a bad lung. The last doctors visit a few weeks ago suggested she just had a throat cough and she'd get over it in time. Lucky we pushed for an x-ray.

Unidentified Object

Perhaps it is an excession.


Friday, September 12, 2008

Kill Bill

I just finished watching Kill Bill again, downloaded of course. It's so good. I can't get the poignancy of the song Bang Bang out of my head. The song features mostly in part 1, rather than part 2, (I just finished watching the latter), but there is a scene at the end involving a four year old girl playing guns, where she shouts "bang bang". It's painful. I physically winced. Neise is four. OK, enough whiskey, bed now.

Thursday, September 11, 2008

Death to the Fairy

D&D was piss funny last night. Many of our characters were in various states of despair, agitation and pure madness. At one point, my dude, Moag (the half orc fighter with a flail) ran screaming down dark extra-planar passageways holding his hands firmly over his ears until he bumped into some Slaadi, and just gave up and curled into a foetal position. Nice!
Later, to our great amusement, Seb's character, which alternates between some sort of fairy, and a ball of light, was compelled to pick up a great artifact we were seeking to destroy because of it's ability to re-actualise a recently dead, but very evil god. He was compelled to pick it up and touch it to another artifact and blew himself and everything in the room to a very complete and very final destruction. Which is quite a feat in D&D where characters are routinely raised from the dead.
Happily, the rest of our characters were conveniently behind some sort of wall of force, completely protected.
To top this destruction off, Seb had to roll a D20 saving throw against the compulsion, and rolled a 1. Automatic Failure. Fantastic!

Tuesday, September 9, 2008

Google Chrome

I've been trying the new Google "It's just a web browser" Chrome.

  • Bloody fast render
  • Bloody fast startup
  • Privacy mode
  • Imported all my firefox settings
  • Open source
  • Slow to open a load of tabs because of the process-per-tab implementation. Generally, I believe using multiple processes in this way is a poor design choice. This is windows, not unix. It wasn't designed for it. It is slow. Slow to load, slow to switch. Memory hog. All comics tabs, Chrome 180Mb, Firefox 60Mb. The security risk of all-in-one process is vanishingly small. I haven't seen a browser crash for a long time. Also I found that when using loads of tabs, it was locking up anyway, and there were big delays in tab renders.
  • It uses more than it should of the client window on Vista. I want extra wide window borders on Vista for the pure translucent eye candy, and Chrome is writing right up to the edges using obvious custom painting. This custom paint is probably where they get the fast render speed, but its just wrong. When I maximise, I can't even see the tabs.
  • No smooth scrolling
  • No add-ons.
  • No adblock without using a foreign proxy server. ew. (see no add-ons)
  • No google toolbar available, although you can search in the address bar, the toolbar has way more functionality.
  • No close current tab button in constant position (see no add-ons).
  • Mouse scroll moves too far with each notch.
  • I found I had to click multiple times on some in-tab menus to get them to action.
Net result. Chrome is out too early. I'm sticking with Firefox for now. I've no doubt Google will improve this quickly though, and possibly work faster than Mozilla.

Prions can jump

Scarfed from slashdot, Nature is reporting that Prions can jump.
This is why you should be running BOINC on your home PC, donating your spare CPU cycles for something useful, like folding@home. I do. I also run LHC@home and Einstein@home and SETI@home. I need to upgrade my machine...

It's just a web browser.

Google Chrome: Its just a web browser.

The Register (as always) has a fun article about all the latest hoo-har.

Monday, September 8, 2008

I love Functors

//Don't keep writing list loops, use functors!
class Base
virtual ~Base(){};
typedef std::list List;
struct Functor
virtual ~Functor(){}
virtual void operator()(Base& o) const=0;
static void Functorator(List& l, const Functor& f)
for (List::iterator it=l.begin();
it!=l.end(); ++it)

Will it all end next week?

Very amusing take at The Register about the safety of the LHC.
They're switching this puppy on soon. I can't wait.

Sunday, September 7, 2008

A Short Walk

We walked along the Castle Rock track this afternoon. The kids had fun, we all got muddy. Actually Neise started to cry the minute she got wet feet. Little princesses don't like to be muddy.
Ah well. We pushed on :_)

Friday, September 5, 2008

Tech Ed Day 3

Seriously hung over. *urgle*
Today I went to an excellent session on "good, bad and ugly" patterns in requirements, analysis and design. Really well presented and interesting. Nothing ground breaking, but solid advice.
There was another excellent session on coding security issues, but at a higher level than yesterday's session, more conceptual. 
The locknote was actually really good, and by the same guy who did the "good, bad and ugly", Microsoft's Miha Kralj. He suggested (among other things) that conferences would die off in favour of virtual gatherings, that technology would be driven more by the younger generation, who care less about how technology works (and privacy imo!), that computing will be more driven by cloud computing. He told us a bit about how these supermassive server farms are being put together, not with individual servers, but shipping containers of servers sent direct from manufacture. Each container has 3 ports; power, liquid cooling and network, and are not physically entered unless less than 95% of the thousands of servers inside are operational.

Thursday, September 4, 2008

Tech Ed Day 2

Today, saw a bit of Visual Studio next release (2010?) in development. They are doing some neat stuff with validation of code against architectural designs. That could be useful for picking up a developer who breaks a dependancy tree.
Saw Powershell in action! Wow - that is pretty cool. Its like an object oriented bash. And it's easily extensible. It's also available for XP, hmm, could be useful.
There was a great session on secure programming ("How not to screw yourself") by Corneliu Tusnea. This guy's neural kinetics were way above normal. Speed of presentation and thought process awesome to behold. He showed us Samy's cross-site scripting hack against MySpace (since fixed) and a bunch of stuff to help protect against this and other attacks on your code.
There was one session explaining how Vista-Vista and Vista-Server 2008 file copies are super fast because they use the less chatty SMB protocol and Vista supports MTU or greater than 64k, and how some of this was broken in Vista pre SP1. Vista SP1 is a lot faster than Vista.0.
Then there was the TechEd Party. That was actually great fun. It was set up like an old style carnival with a fireblower and girls on stilts, but with original and ancient arcade games around the outside. Galaga! Pac Man! Old pinball machines too. Woo! Oh yeah. Tables full of dohnuts. And frreee boooze. Oh My.

Wednesday, September 3, 2008

Tech Ed Day 1

Today was Tech Ed Day 1. 
There was a lot of waffle about software + services, which is Microsoft trying to keep some software local (on their operating system) and not all implemented up in the cloud (on Google platform). They're probably right though, I can't see local computing going away anytime soon.
Some interesting stuff on Vista specific code, such as UAC and new standard dialogs. I didn't realise that to get the UAC thing, you actually have to spawn a new process that asks for admin rights. I spent ages looking for an API to do it last year. There's also a little documented hack to get the shield icon to appear on a button.
Groove is cool. I'm going to look into this for work. Even if its just used as a better interface to the horrible Sharepoint that we have to use. It is effectively a fully encrypted shared/distributed workspace for files and discussions which works across firewalls and variable connections
There was a really cool rant about the role of Architects (how they are a waste of space) and how developers should be called craftsmen, not engineers. Some good points, some bad points, a lot of pointless points, but a lot of it was wayward ranting. Cool!

Monday, September 1, 2008

Dark matter evidence


It seems another observed galaxy cluster collision has shown the motion of dark matter via lensing. OK, so perhaps this dark matter stuff does actually exist. What was interesting about this observation is that it seems that dark matter not only doesn't interact with normal matter, but seems to barely interact with itself, other than the gravitational effect. So imagine two galaxy clusters colliding, mostly gas friction I suppose, causing the normal matter to crash, or at least change it's course. And then there are these two clouds of dark matter which pass right through the event, and themselves, and I suppose start swinging round back from the other side as gravity pulls them back in. Its like shadow mass.