Random Thoughts

Tech, words and musings from an Englishman in Seattle

New site design

It should be pretty obvious (well, for those of you not reading via RSS) that the new site design is live.

Please let me know if you encounter any issues or have any comments.

I've tested it in IE6, IE7 beta 2, Firefox (PC and Mac) and in Safari on the Mac, so hopefully I've got all the bases covered…

Not a “one trick pony”

Note, these are just thoughts, not a reflection on “whatever the hell it is I'm up to…”

There's been a lot of talk online recently about VC 2.0 and I think I need to chime in with a few thought. These thoughts are based around the whole premise of current VC funding strategies (or rather as I see them, what do I know - I'm a noob).

Pretty much every startup these days seems to be a one trick pony - we've got a cool idea; name it; oh, and that's the name of our company also. Funding. Build. Sell.

What happened to actually building a company? You know, one that had a plan past product one. Or the flip.

Almost daily I see new buzz around startup X with product X, obviously hoping a business model and funding will come along.

Rarely do I see a “here's a cool product and a team with a plan for world domination”. Well, excluding Bungie, obviously. Oh, but Microsoft bought them.

And that's kinda where I'm going. Bungie had product[s]. Plural.

In the game development space, things work differently. It's more like an author/publisher model. The developer (maybe a startup) forms with some very creative and technically competent people, and they come up with an idea.

At this point I need to apologise to everyone in the gamedev space for over-simplifying everything.

Now where was I?

So they pitch their idea to a publisher and they get funding to build to product. They ship, everyone takes their cut and the developer gets royalties (the funding was the “advance” bit).

Assuming the developer was successful, everyone makes out like bandits and the developer in question grows their company, gets to not layoff all the people they hired to build the first product and moves on to the next one. Actually, they're crossing the arcs and starting up the new product as the old one is winding down - they're out looking for funding (a publisher agreement) for the next product concurrently with the first. Maybe they get to self-fund after the success of the first product.

My point? Where is this model in the non-game space?

Where is the funding for the product, as opposed to the company?

What the publisher in the non-game space brings to the table in testing resources, end-user tech support, distribution, etc… Very similar to the web 2.0 space and it alludes a lot to what Scoble is saying.

Key competencies of a new startup are probably technical. Amortize the other costs (tech support, marketing, server space, etc…) across them by being the “publisher”. Make gobs of cash from the product.

Of course, this isn't the “3/5/10 million or nothing” investment that VC 1.0 is looking for, but it does portend to another untapped opportunity.

Just my 2c. Oh, and if anyone wants to cut me a nice large check for my product-as-company, feel free.

Small denominations preferred ;-)

Gnomedex 6.0

I signed up for Gnomedex a couple of weeks ago when Chris announced it to previous attendees.

Registration has now opened up and apparently only has around 200 seats left. Go and register now. Gnomedex is one the best conference I've attended.

The fact that it's very close to home doesn't hurt either!

The Mob Law

Last night I hung out with Joe (partner in the new adventure) at a local venue when up on stage appeared the evening's entertainment - The Mob Law.

These guys were astounding - think Rage Against The Machine with a bit of Ska thrown in for good measure. They started out the evening with an acoustic set before completely rocking the house when they plugged in.

Highly recommended. Ewan, you should check these guys out.

Website update underway…

It's been a year since the last redesign of this site, so it's time for another one! Please excuse any weirdness whilst this is underway…

The Geek Father

490.entry“>Top ten reasons Geeks make good fathers.

2. VIDEO GAMES. Due to the whole Man-Child thing as stated in #1, the Geek loves video games. And he's good at them too. My husband is the hit of all the kids' friends because not only can he talk video games, he plays them too. If my children get ”stuck“ while playing their Gameboys and bring it to me for assistance, all I can do is feebly hold it and say ”Mommy doesn't know how to play this." Daddy, however, can beat the game.

Cackle.

[Thanks to Parent Hacks for the link.]

Interesting Times!

Well, the time has finally come for me to say adios to Microsoft and hit the startup road. This has nothing to do with Microsoft or the Flight Simulator team/product and everything to do with my insane desire to try something new.

In fact, this was probably one of the hardest decisions I've ever had to make - Microsoft and in particular the Flight Simulator team is a wonderful and stimulating place to work and it is hard to walk away from eleven years of history.

What have I worked on in that time? Well in summary, back in January 1995 I joined some friends at a small 3D graphics startup in London, UK. One month later we were acquired by Microsoft and shortly joined the fledgling DirectX (then Games SDK) team. Our product, Reality Lab, became the basis for Direct3D and shipped in June 1996 as the key feature for DirectX 2. After that I worked on DirectX 3, VRML, IE4, DirectX 5 in Windows Multimedia and then moved onto Chrome (who remembers that?) and DirectX 6.

In 1997 we relocated to Redmond.

In 1998 it was time for something different, and I led feature teams on Flight Simulator 2000, Combat Flight Simulator 2, Flight Simulator 2004 and FSX, found time along the way to run the development team at a new studio, work on a bunch of Xbox stuff, build a game engine and scriping engine/language completely from scratch and generally get my fingers into a lot of incredibly interesting pies.

And now it's time for something completely different.

For the Flight Simulator fans in the audience, let me tell you that the product is in a great place. It'll ship on time and look astounding - I've made sure of that!

Anyhow, stay subscribed - my blogging will continue (does it ever stop?) and in fact I will continue to post about Flight Simulator as long as my value-add is still relevant (and the team puts up with me :-)

Although I can claim to be the first Flight Simulator Team blogger, I'm really happy that Mike, Jason, Adrian, Hal, Susan and others are now on board, and delivering a really compelling and insightful look into the world under the hood of Flight Simulator. The conversation rocks. Long may it continue.

Stay tuned…

Naked Conversations

On Saturday evening, Nabila and I joined a veritable who's who at the launch party for the book 'Naked Conversations'.

The event was held at the beautiful Medina waterfront home of John and Alison Dillow. Wow. What a house. It almost overshadowed the book :-)

Anyhow, congratulations to authors Robert Scoble and Shel Israel - I'm looking forward to reading it.

Btw, Shel, you make a great book store clerk!

Naked Conversations

Thanks for inviting us guys.

[Update: A picture of Nabila and I at the party.]

Flight Simulator and SLI

There appears to be a general confusion in the forums about what SLI is, how it works, how applications take advantage of it, whether Flight Simulator gains any advantage, etc…

Hopefully this will clear up some of these issues, but first a caveat. I don't have an SLI system and I've never seen Flight Simulator running on an SLI system. This information is based on what I know, so take from that what you will.

SLI itself is a bit of a misnomer. SLI stands for (or used to) [S]can [L]ine [I]nterleaved. Basically, one horizontal scan line goes to one card, the next goes to the other, etc… Now this doesn't mean that you get 2x the performance as there's a bunch of work that has to be done on the hardware no matter what pixels are being filled e.g. clipping triangles, performing vertex shader operations, etc…

This is basically what the original consumer level (i.e. 3DFX circa 1998) was doing, because no consumer 3D hardware performed the geometry transform and full triangle setup on the hardware. It was all done in software and then the final projected triangle with all associated edge derivatives were sent to the hardware. The overhead of the per triangle stuff was only incurred once.

With the hardware doing little else other than filling pixels, the true SLI mode made sense. It also made playing the original Half Life with a 3DFX Voodoo 2 SLI setup a lot of fun…

Fast forward a few years and hardware is doing pretty much all the work, that means that sharing the rendering load between multiple cards very hard. To be quite honest, most apps are geometry and transform bound - the 3D hardware vendors have got very good at pushing pixel fill-rate, while the busses that get the data to the card haven't really kept up. Stick two cards in the mix and you've doubled the data that needs to be sent to each card.

Of course, they could arrange for one card to be a conduit to the other card, or something like that, but I'm just speculating as I don't actually know…

It's very easy to saturate an AGP bus with 3D data, let alone the PCI bus. Just ask any audio developer about the fact that the graphics guys have been eating all the bandwidth.

Now, with PCI Express the bandwidth has gone up again, and we're on our own bus. Also, the graphics card guys need to boost the speed again (and of course they want to sell you more than one of their quite expensive cards), so SLI makes a return.

This is goodness, but as far as I can tell it's not really SLI - i.e. they're not interleaving scan lines, but rather providing a bunch of different ways the cards can be used in tandem. Techniques such as splitting the screen in half and sending one half to each card; rendering one frame on one card and the next on the other card; etc…

Check out NVidia's website for the various options that they provide.

So, at the end of the day, it's a way to split the rendering between multiple cards - though it'll probably never get you a real 2x performance improvement. Of course that doesn't matter though - anything better than 1x is good!

So, what about the application (i.e. Flight Simulator)?

The application knows nothing.

It's all hidden under the hood of the driver - there is nothing the application needs to do to enable it, support it or anything it.

Of course, we may do some interesting things that make it hard for SLI to work effectively, but hey, we shipped first. Hehe.

Anyhow, these guys have done some testing and it looks like it does improve the graphics (in particular fill-rate) performance, as you'd expect.

Does that make sense?

Internal clock realignment needed

Yesterday morning I woke up feeling just awful (cold or flu, I'm not sure), so after Nabila took Julian to day care I hit the sack in a big way.

I didn't wake up until Nabila called at 5pm to see if I was well enough to pick Julian up.

So now I feel much better, but of course it's 2:30am and I don't feel the least bit tired. Damn.

Maybe I should drink a gallon of milk

Flagged Articles #7

Here is my list of some “interesting” articles for the week ending January 14, 2006:

As always, not in necessarily the most interesting stuff this week, but I flagged them for some reason…

Flagged Articles #6

Wow, am I getting behind on this… Lets see if I can catch up…

Here is my list of some “interesting” articles for the week ending January 7, 2006:

Next up, the next week.

DDR Controller for Flight Simulator

Following on from Mike and Jason's posts, I think this will work nicely with Flight Simulator:

Game Pad

It's USB and it's free (plus S&H). I shall ask Mike to generate an input device entry entry for it.

I think it'd work nicely.

[Thanks to Kim for the link to the device.]

FeedDemon 2.0 Beta

I noticed over on Brad Feld's blog that the first beta of FeedDemon 2.0 has been released.

As I seem to be permanently on a quest to find the perfect RSS reader (well, for me anyway), I thought I'd give it a try. I wasn't holding out too much hope as the 1.x series of the product didn't really agree with me.

I am very happy to report that FeedDemon 2.0 completely blew me away.

The UI is nice and responsive, the tree view is nice (though I really wish it would support sub-folders).

I especially like the “River of News”/Newspaper implementation, and all it all it just looks and feels nice and polished.

But for me, the real wow moment happened when I selected a feed from Flickr. Above the content appeared a thumbnail pane that contained all the pictures. Clicking on them takes you to the specific Flickr photo page.

Thumbnail pane

Oh, and did I mention the feature that keeps track of (and presents to you) information about which feeds you're paying the most (and least) attention to? Mind you, I'm not sure if this is a real Attention implementation. I can't seem to find an attention.xml file anywhere…

Very, very cool. Newsgator has a winner on their hands.

Well done Nick.

(Short) Movie Review - Transporter 2

This completely rocked. If you're a fan of the first movie, you'll love the sequel.

Well, other than the fact that the lead character appears to have switched from BMW to Audi…

I said it would be short…

Bonus Trivia: Jason Stratham who plays the lead role (and is an incredibly useful actor) also has the lead role in “In the Name of the King: A Dungeon Siege Tale” a movie based on the Microsoft published RPG “Dungeon Siege”. Read more

A British Podcast Surfeit

I have a smart play list setup that dumps podcasts into a big bucket that I listen too whilst driving. The order is purely based on download date.

Today for some reason, a bunch of podcasts from or including members of BritCaster were queued up one after the other.

First up was Paul Nichols, aka Podcast Paul, with an episode that included a chat with Alex Bellinger of SmallBizPod.

Next was Paul again with JukePodJury. Joining Paul for the show was Rowley from DarkCompass.

This is a great podcast. Based on the old Juke Box Jury format, Paul and Rowley proffered some great music. I have to confess that I quite regularly fast-forward through music when listening to podcasts as I'm listening for the talk, not music. But each track in this show was top notch!

After that came an episode of one of my all time favourite shows. The Podcast Network's “G'Day World”. Cameron Reilly is a master conversationalist and manages to attract some incredible guests.

Anyhow, I had no idea who would be on the show, when I hear Neil Dixon (esteemed creator of BritCaster) and once again, Alex Bellinger being introduced! In this show we hear them talk about their new company, Audacious Communications and discuss their podcast predictions for 2006.

Sometimes you just get lucky!

Coincidental

One of favourite reads during my evening aggregator scan is Wil Wheaton's blog.

As I was reading it this evening, G4 was on the TV (I'm addicted to Brainiac) and a 1987 episode of ST:TNG called “Where No One Has Gone Before” started up. This was odd in itself, as I hadn't seen a ST:TNG episode in a number of years.

Then up on the screen pops Wesley Crusher, who of course, is played by Wil Wheaton.

It was weird hearing him speak and reading his words, separated by 19 years.

Milk has Tryptophan in it?

Maybe that's why I always sleep better when I finish off the evening with a glass of milk… (Tryptophan is the amino acid in Turkey that ensures Thanksgiving Day is quiet after lunch. Maybe.)

From To-Done.com's article Tips for getting to sleep faster & sleeping better

Drink milk. Milk has an amino acid in it called Tryptophan that increase the levels of serotonin and/or melatonin in the brain which slow down brain activity. It's science folks.

[Thanks to Lifehacker for the link.]

January Seattle Podcasters Meetup

Last night I attended the January Seattle Podcasters Meetup, hosted by Travis Petershagen.

A fine night, which included a live podcast, was had by all.

The highlight for me was Chris Pirillo's talk/ramble/rant/stand-up comic routine. Man, can that guy talk.

Chris Pirillo

He was also quite amusing - I think there's a need for a geeky standup comic! Another sideline for the Lockergnome empire.

My photos from the night are up as a set on Flickr. Apologies for the quality - I'm still experimenting with low-light conditions…

Kev and Jan are blogging

Filed in the “will wonders never cease” category, I find that Kev and Jan are blogging!

Subscribed!

It seems like I've known Kevin for ever - we met the first day of University back in 1986. He was also my “Best Man” at my wedding.

Well, in a few short days, Kevin and his lovely wife Janine are leaving the not-so-sunny shores of the UK for new pastures in New Zealand. The funny thing is that they're moving to within a few miles of where Nabila and I went sailing three years ago.

It's a shame I can't make their leaving party, what with being a few thousand miles away, but I wish them luck anyhow.

Now I have a really good excuse to visit NZ again…

Looking for a bass player

Note that this post is only relevant if you're local and can play bass…

Our three and a bit year old band are looking for a bass player. Low time commitment - one night a week practice at Evolution in Bellevue and local gigs once every couple of months. We're looking to do a bit more, but we're parents of young kids ;-)

Check out our website for style - sort of rock/punk/folk/jazz, all original tunes. The site also has downloads of all the tracks from our CD.

Let me know if you're interested - we're practicing this Thursday…

My CES photos in a Rocketboom video

Yup, a complete CES roundup in one minute and forty seconds!

Rocketboom has put up a special feature today - a compilation of photos and short video segments from CES, all spliced together and set to the music of “Dueling Banjos”.

It's in a similar style to the 'Ode To The American Hillbilly' I posted about back in August.

Of course, the reason it completely rocks is that it includes the photos I took whilst down in Las Vegas…

[Thanks to Thomas Hawk for the link.]

If I read this one more time I'm gonna…

Calm place. Calm place.

I know you can't please all the people, etc… But I can't stop myself ;-)

Amoungst all the great comments and feedback on FlightSim's presence at the keynote and comments on the content, I keep seeing comments like this:

Quick example: if I see another iteration of quantized gauge needle movement I'm INSTANTLY going to say “why the hell didn't they spend some time and energy into THIS rather than add ANIMALS INTO SCENERY…”

I take it you didn't like the boats bobbing in the water either.

Now really.

Take two deep breaths and repeat after me. Realism and immersion. Realism and immersion.

Feel better now?

Let's also think about this. Animals in the environment. What's required?

  • Skinned animation system. Check. Used for the aircraft stuff.
  • AI systems. Check. Used for the aircraft stuff. And airfield stuff. And other stuff.
  • Art. Yup.

New code? Minimal. Distraction to developers? Minimal. Distraction to the panel developers? Zero.

Value to immersion? Lots.

Leveragability of new code into other emergent features? Lots.

If there is an issue with where we're spending our time, at least compare apples to apples. Are you going to have a problem with Ferrari spending too much time on their styling when they could be eeking an extra 1bhp out of the engine?

I think not.

The rich platform we're providing enables content providers (i.e. our art and design team) to provide rich visuals such as animals. I can't wait to see what the 3rd party guys will build.

Meanwhile, I'm off to add a pelican to the sim rather than optimize some shaders…

I want one

Grassroots PR doesn't get much better than this…

Robert Scoble

I asked dozens of people “what did you see at CES that you'd spend your own money on?” I also asked “what was the coolest thing you saw?”

Most people stammered on both answers, but yesterday I started hearing about the Celestron SkyScout so Buzz, Shel, and I went over to the Sands to check it out.

It wins my award for the single coolest thing I saw at the show. By far. I'm not alone, either. Shel and Buzz were both speechless when they saw it.

My birthday is at the end of March.

Celestron SkyScout

Flagged Articles #5

Ok, so I'm way late with this. I'll blame CES…

Anyhow, here is my list of some “interesting” articles for the week ending December 31, 2005:

A definite dip by lifehacker and a large rise from Hugh and Seth. Interesting. Let's see what next week brings (which will probably be posted in 24 short hours…)

Nice artice about how to photograph children

Tips for Photographing Children

I've learned through much trial and error that there are certain things you will just not convince a child of by explaining that “mommy wants a good picture of you” or “grandma and grandpa are going to have this hanging on their wall”. Child photography is mostly about being quick and secondly about playing the psychology game with kids to make it fun for them and not a chore.

[Thanks to Kris Krug for the link.]

On my way home

I'm sat in Las Vegas' McCarran airport sucking on their free wifi. Did I mention that the wifi at the hotel sucked rocks through a narrow straw and cost an arm and a leg?

I am really looking forward to getting home.

Sights from the CES show floor

My pictures are over in a group on Flickr, but here are a few choice ones.

The first hall I wandered into from the automotive hall. Tons of bling for your vehicle. The cool thing was Kevin Bacon and his band 'The Bacon Brothers' playing at the XM Radio booth.

Kevin Bacon

They completely rocked! I think I'll be picking up a CD.

The rest of the hall was devoted to in-car entertainment gear. Check out this car tricked out with a waterfall!

Bling Bling

Then it was over to a different hall that held all the big players, including Microsoft, Intel, Samsung, etc…

A Sea of Microsoft

Over at the Microsoft booth I bumped into a friend of mine, and fellow Microsoft blogger, Kim Pallister

Kim Pallister

Gibson Guitars had a big tent at the show. This was pretty cool - they were showing off the new wares which included this DDR style game that was played using a guitar-like controller. I particularly liked this screenshot:

Freebird

It reads “They don't really want you to play 'Freebird.' They're just heckling you.” Hehe.

Anyhow, that's it for now. Check out the Flickr group for more.

Thoughts on Vegas

Maybe this should be moderated by the fact that I haven't got out much due to whatever bug I've caught, but here are some thoughts.

Poker is fun. I've always liked poker, but in a real casino setting, it rocks. The players in general are friendly, intelligent and witty.

Casinos suck. If the casino was a separate entity to the hotel I could probably deal with this, but I hate the fact that I am being physiologically herded like a sheep by the management.

  • The layout is totally confusing. The signs are all hidden and I've had problems finding the elevator to my room every single time.
  • There are no places to sit without a slot machine in front of you, i.e. no real “hotel lobby”. Even the tables in the bars are covered in video poker.
  • There are no clocks anywhere.
  • It is smokey. Very smokey. As a smoker myself, even I can't deal with it. The poker room is non-smoking, but it's open to the rest of the casino.

In general, everyone I've met from hotel staff to cab drivers has been very friendly and they love the city. Maybe I just need to visit when I'm not ill and get to share the experience with someone else…

Down and out in Las Vegas

Yuck. I caught some form of bug yesterday and spent from yesterday at 7pm until today at 2pm in bed. Bletch. Feels like a 24 hour flu thing, but am feeling better now.

I'm guessing everyone has seen the keynote by now? Yey! We've finally announced the next version of Flight Simulator.

Note that even though we've announced the product, we haven't announced all the features yet, so there will be much more stuff rolled out over the next few months.

Stay tuned!

The funny thing is that even though I'm in Vegas and have a keynote pass, I didn't actually get to see the keynote live. I got kicked out shortly before show time as I didn't have a ticket. Sigh.

I did get to watch the dry-runs though, and Flight Simulator looked astounding. And yes, it was a live demo. It was not a video.

Dare I brave the exhibition center now to have a look around? It's bound to be a zoo.

I think I'll give it a go, though I might not last long…

Poker Tournament Fun

So, with nothing better to do (I really can't stand slot machines) I decided to enter the hotel casino's 8pm No Limit Poker tournament. Being only a social player with friends, I didn't have high hopes for my success, but thought it would be a relatively cheap way to spend the evening (assuming I lasted for any length of time).

Plus I'd be getting free drinks…

Shortly before 8pm, I signed up, paid my $50 and got my table and seat assignment. Table one, seat three.

There turned out to be 36 players in total spread over four tables, with the prizes for 1st place (after re-buys had occured) of around $1,230 down to $105 for 4th place.

Over the next two hours I proceeded to get no decent cards. I limped into a few minor pots and somehow won a few. One time I ended up with pocket aces, an ace on the flop and then everyone bailed with me winning next to nothing.

Towards the end of this period of ineffectual poker, the binds were about to go up to 400/800 with me as the big blind. I was down to 2000 in chips.

I get dealt Q8 unsuited.

Bugger.

What the hell. Time to go check email anyway. All In.

For some reason almost everyone else seemed to like their cards and called. 16,000 in chips in the main pot.

Flop. 88K.

Woot!

Everyone else continues their betting, but in the end I get the 16,000.

Then my luck changes. I'm getting Ax all over the place and am winning good sized pots.

Slowly I realize that people are dropping out as they lose all their chips, and after the tables a whittled down over the next hour, I'm on the final table.

My first real casino poker tournament and I'm on the final table!

How weird is that?

I still didn't have any illusions of winning the thing though. All the other people at the table look like the pros on TV.

I.e. The guy with sunglasses covering his eyes and iPod earbuds covering his ears.

Then I look at the stacks of chips, and realise that there's a few people with a lot, some with around the same as me and a couple with very little.

Plus I'm the dealer, so I can sit out a bunch of hands without chips dissapearing via the blinds.

One person goes, then another, then another.

Suddenly I'm in the final five. Out of thirty-six. Me.

If I get to 4th, then I've covered my entry and made a little.

This is now my mission.

After a while I'm down to 18,000 chips and in last place. The guy next to me has about 24,000 and is playing very loose agressive. The blinds are now 4000/8000 with me as the big blind and I'm in two minds what to do.

I have Ten/3 unsuited with a ten and not much else on the flop

  • All In and stay for a while, maybe getting better than 4th and in some real money?
  • Or fold and be down to 10,000 and then 6,000 after the small blind next hand? Here I'll be hoping the guy in 4th will get taken out fast and I limp into 4th place.

I decided on the first option (much better upside). Of course I lose and am now out, but what happens next just pisses me off.

The four players that are left decide to just split the winnings four ways, each taking home $522.

What?!?

If I'd known that was an option, I would have taken a different tack because 4th place is suddenly much more attractive.

I didn't want to make a fuss (this being my first time after all), but it did annoy the hell out of me.

Anyhow, 5th place in my first real poker tournament does feel good, even if I was only one place out of the money.

Comments? Did I do the right thing with the information I had?

Arrived in Las Vegas

After a rather bumpy ride from Seattle, I arrived in Las Vegas at around 3pm.

The flight in was beautiful. I've never been to Vegas before, and my seat (1A - yup, I got upgraded) offered me a great view of the city on final approach. I must say, Flight Simulator comes very close!

What did strike me from my vantage point in the air, was high much like SimCity the surrounding area looked. It is all dry and barren with these perfect squares on green plopped down on a regular grid - the golf courses looked even more out of place.

The airport itself was also very strange - my senses being instantly assaulted by slot machines - then I smelled smoke. You can smoke in here? Freaky.

The airport...

Landing was quickly followed by a one hour airport shuttle ride. Note to self, get a cab next time. At around 5pm I got to the Stratosphere Towers. The entrance confused the hell out of me - no lobby, just a gambling floor with no sign of the hotel check-in.

That one took me a while to figure out.

Anyway, here I am, in my room on the 22nd floor, suffering from complete sensory overload and I haven't seen or done anything yet…

Time to get some food and hook up with Mike. Then maybe a little flutter at a table or two…

© 2001 to present, Steve Lacey.