Browsed by
Month: March 2009

Warp speed Mr Sulu

Warp speed Mr Sulu

Diamond Select is taking preorders for a very limited run of 1701 pieces. A highly screen-accurate, full-size, usable star trek original series command chair – for the actually very affordable $2717.01 (build this one yourself and you’d likely spend just about this much based on prop forum prices + your time)

Interested?

http://www.diamondselecttoys.com/

Battlestar Galactica finale

Battlestar Galactica finale

Spoiler alert – so don’t read if you don’t want to get anything ruin-t…

I just got around to watching the finale of Battlestar Galactica.  I must say the final battle scene was really well done – just a touch crazy – but still very cool attack plan and execution.  It will take a much better writer than I’ve seen yet to beat the atmosphere jump manuver they pulled off in Season 3 episode 4.  That was just awesome – beats almost every Star Wars/Star Trek manuver ever done…but anyway.

They tried to tie up all those loose ends, but I left feeling a bit unsatisifed.  They did a good job with the finale – but I think the series kind of just took a life of it’s own over time and got a little too schitzophrenic for me starting about season 3.  A friend described it as, “I’ve never watched a series that I actually fast forwarded through so much so often”.  I think we were working at the same root cause.  My impression is that they kept investing huge chunks of episodes into things/themes that really didn’t go very far or have any real meaning in the end. I mean, they just shut off Baltar’s harem and his Kafka-esque monologs with the flick of a switch after running it as massive parts of the story for several seasons?  There was a huge story there – but it just shut off and that was that.  And the rambings about higher purposes/etc and angles and so forth – felt like lots of it was just dropped on the cutting room floor for me.  And Kira just dissappearing, and then using the oldest sci-fi cliche in the book of saying life on earth was really just seeded/developed from beings visiting from another world.  Not a bad way to end things – but certainly not original either.  I felt like it lacked a good cohesive story when really considered from season 1 episode 1 to the very end.

Overall, I’d give it a 6/10 – worth sifting through – but definitely lots of good skippable parts. Did I just really miss it? Feedback folks – let me know if I missed some big ah-ha moment and just offended the sci-fi minions…

Seagate – you’re doin’ me wrong – again…

Seagate – you’re doin’ me wrong – again…

So, after sending no less than two of my 1.5tb drives back from having died within 4 weeks of ownership – I get one of the drives back and I have horrific deja vu all over again – because it looks like this:

Yep – another drive in an open anti-static bag, one piece of foam (which means the drive was flopping around at the bottom of the box unprotected. AND the coupe de grace – it’s the WRONG drive.  The packing list shows I’m supposed to be getting a replacement $100 1.5 tb drive (they even list the serial number), but the drive is – and I kid you not – a $1200 HP fibre channel 1.0tb rack-mount drive including it’s mounting hardware.   If it weren’t for my good nature and the fact this drive is likely dead anyway – I would dump it on ebay and just buy new drives with the proceeds.  But again, sit for just under 1 hour on seagate hold, go through 3 layers of support escalation before they offer to pay for this drive to be returned and a new one express mailed to me.  Sigh.

Inconvinient little truths

Inconvinient little truths

Here are some things that make me angry/sad all at the same time:

1. Apple going green with aluminum cases.  This has nothing to do with being more ‘green’.  Exactly how is aluminum more ‘green’ than pot-metal (which can much more easily be recovered and remelted) they used before?  Aluminum refining and production requires terribly large amounts of electricity to produce.  But even more sad is that the *real* reason is to make your lap the heatsink.  That’s right.  Apple’s laptops have notoriously been running hot/overheating for years.  Numerous failures on various models – and complaints of people actually getting their laps burned.  I’ve experienced how hot they get.  Now they’ve thrown nVidia video cards in them.  They’re much faster than the integrated ones they had before (which were cr*p), but the nVidia cards run even hotter.  So, if you already have heat problems – how do you solve them?  You either add a fan (which Apple refuses to do) or make a bigger heatsink.  But if you want the same form factor and fanless design – you have one option – you turn the body of the laptop into the heat sink.  Problem solved – and you greenwash it and say it’s to be more ‘green’.

2. Online bill paying  – everyone is apparently concerned about the environment these days – but most of what they’re doing is complete bull.  I’ve noticed many different companies going paperless to ‘save the environment’.  Somewhat true as it does cut down on a LOT of paper and delivery impact; but mostly its a huge cost savings to them not to mail paper bills.  They save a fortune when you get your bill and pay online.  You can lay off all that staff to mail out all the letters, no paying for the paper/postage/etc, and nobody having to open those envelopes and enter check information either.  This is all good and fine, but the twist of the knife comes when they claim they’ll pass the savings on to you.  I don’t see any ‘discount because you paid online’ anywhere in my bill online.  It’s the same amount as the one that comes in the mail. Give me a tangable discount – or I’m just assuming you’re ripping me off and I’ll keep making you send the paper bill.

An additional benefit is if you set up automatic bill pay (ever wonder why they push it so hard?).  Reason is, if there is a billing error, or in the case of credit cards someone steals your account and runs up a huge bill, the money automatically gets pulled from your personal bank account.  What’s even better is that many cards have stipulations that if you pay the bill – you are agreeing all the charges are correct and you lose any right to dispute the charges.  You just waived all your dispute charges, and they could have just emptied your bank account.  Aren’t you glad you signed up?

Got any you want to add?

Why getter/setter functions are evil

Why getter/setter functions are evil

Interesting article on why you shouldn’t be using getter/setter functions on your classes when programming.

The lack of getter/setter methods doesn’t mean that some data doesn’t flow through the system. Nonetheless, it’s best to minimize data movement as much as possible. My experience is that maintainability is inversely proportionate to the amount of data that moves between objects. Though you might not see how yet, you can actually eliminate most of this data movement.

By designing carefully and focusing on what you must do rather than how you’ll do it, you eliminate the vast majority of getter/setter methods in your program. Don’t ask for the information you need to do the work; ask the object that has the information to do the work for you. Most accessors find their way into code because the designers weren’t thinking about the dynamic model: the runtime objects and the messages they send to one another to do the work. They start (incorrectly) by designing a class hierarchy and then try to shoehorn those classes into the dynamic model.

[update]
This spawned an interesting conversation with a coworker who was usually against such meta-designing of code (i.e. designing the design). His point was that folks usually spend too much time futzing around getting the coolest language features into something instead of writing the fast code that actually solves the problem and you move on.  Complexity breeds unmaintainability, delays in development, difficulty in using/extending, and longer time for bug fixes.

I agreed with him on those points – I hate overly complicated code.  Much as I have use them on occasion (for collections) – I argue that heavily templated C code is always an order of magnitude harder to figure out/debug/learn than just straight C++.  Good code is the code that not only gets what you need done correctly, but is easy to maintain, read, understand, and train others on.  And the point of this guy’s article echos that.

My take-away point is that to a way to avoid complexity and increase performance – design your classes such that data doesn’t move around.  Just as in engines, the more moving pieces, the more likely a failure.  So if you are just sending requests around instead of the data; you’re much less likely to have failures and I would argue your code will be cleaner, simpler, and faster.  In graphics (and many other apps) moving blobs of vertex or other data around is expensive and should be minimized as much as possible.  This is a good way to think about classes in order to help you do that.

Round 2 – FIGHT!!!

Round 2 – FIGHT!!!

Short version – Purdue makes it to the sweet 16.  Longer version is that I got to go to the game.  Even made a few cameo appearances during swinging shots (I’m over on the far right side – midway down):

What an amazing and fun game – and we got 11th row tickets this go around.  Lots of amazing energy – and I lost a good chunk of my voice in the outing.  Purdue fans were definitely in the minority with plenty of Washington fans driving down from Seattle – so what we lacked in numbers – we made up in volume.  The whole stadium was sold out – and it certainly showed by the numbers of folks outside trying to pick up last minute tickets.

Overall it was a great moment of re-living the college days.  Purdue Pete, the cheers, the band, the game itself.  What a way to spend a Saturday.  I hope Portland gets another chance to host the NCAA playoffs again.  Now on to the sweet 16.

NCAA March Madness rounds 1+2 in Portland – and I’m there!

NCAA March Madness rounds 1+2 in Portland – and I’m there!

Portland got lucky and is hosting NCAA playoffs in the Rose Quarter.  And I got lucky in that of all the teams to start their playoffs – Purdue was playing here(!)  So after working with a buddy with insider connections – I got 10th row tickets to Purdue’s round 1 and 2 playoffs for $55.

I went to Thursday’s playoff game – and it was great.  The Purdue band was playing and we were sitting right in the middle of the Purdue section.  We beat Northern Iowa – but not by nearly enough to make me happy about it. It was very surreal to bridge seeing my old college team, the band and it’s usual shenanigans, and hordes of Purdue fans – but in the Rose Quarter.  After winning against Iowa, our tickets also entitled us to stay for the Washington/Mississippi game.  We stuck around for half of it until it was clear WA would win, then we left before the masses and rush-hour converged on the stadium.  My buddy took pics of us at the game – I’ll put some up when I get a copy.

We’re on to play Washington on Saturday – and I’ll be there at the game as well.  I’m optimistic, but not convinced, of a win. Hope the black and gold gets some fire in it’s belly for this next game.  Washington is definitely playing with the energy of the home crowd.

Disneyland is quite fun

Disneyland is quite fun

Disneyland for free on your birthday is worth the trip.   Had a great time – as it was my first go – and it was the first chance for a day-vacation I’ve taken all year so far.