GeekSpeak comments edit

The topic of Day 1: Architecture.

Keynote - Anders Hejlsberg

Anders showed a great demo of LINQ.  Not having had time myself to do much with LINQ, it was nice to see several of the features working and learn a little more about how LINQ works from the inside as well as seeing some of the C# 3.0 features.

The idea behind LINQ is that we’ve pretty much run the gamut of possibilities in imperative programming - declarative programming still has a lot of new ground to cover.  Rather than spending time imperatively writing out not only what data you want but how you want to get it, LINQ lets you declaratively write what data you want and let the framework take care of the work.  Easier to write, easier to maintain.

The biggest source of conflict I have with LINQ is that age-old argument of whether you write SQL in your code and query the database tables directly or whether you use stored procedures.  I’m a stored procedure guy. (Which, peripherally, explains why I’m not a big fan of the Active Record pattern - I don’t want my database schema extended into my code.  A class per table?  What happens when my schema changes? No, no, no.)

Luckily, Microsoft officially abstains from this battle.  You can use LINQ that generates SQL or you can use stored procedures.  Everyone’s happy.  I’m looking forward to this.

A Software Patterns Study: Where Do You Stand? - Dragos Manolescu

This was more of an interactive presentation where Manolescu brought to our attention (via polling the audience) that while we all claim to use software patterns, most of us don’t really know where the resources are to read up on new pattern developments and contribute to the community.  Publicity is a problem for the patterns community and that needs to be fixed.

Architecture of the Microsoft ESB Guidance - Marty Masznicky

I’m not sure if it was intended to be this way, but this was less a presentation on enterprise service bus guidance than it was a sales pitch for BizTalk server.  We learned a lot of how BizTalk handled things like exceptions and logging… and that’s about it.

Pragmatic Architecture - Ted Neward

Neward’s talk was sort of a reality check for folks who claim to be architects.  He started out by talking about the Joel On Software “Hammer Factory” example - “Why I Hate Frameworks.”  The danger: following patterns for the sake of following patterns.  Doing things in a purist fashion for the sake of idealism.  While it’s important to have a good system architecture, you can’t ignore the end goal - working software.

Architects need to understand project goals and constraints and reassess these when change happens.  Architects need to evaluate new tools, technologies and processes to determine their usefulness to a given project.  Don’t just implement something because it’s new and cool or because it’s “best practice” - do what makes sense.

Architecting a Scalable Platform - Chris Brown

This was a discussion of things to think about when you’re working on a scalable platform.  Things like using content distribution networks and unified logging were touched on.

The biggest point here was the notion of building in fault tolerance.  One example is the “gold box” on the Amazon.com web site.  The “gold box” is actually an independent service that has a certain amount of time to respond.  If it doesn’t respond, the page will render without rendering the “gold box” feature - it gracefully degrades.  Scalable systems need to consider how to handle fault tolerance and appropriately degrade (or report to the user) when things go wrong.

Grid Security - Jason Hogg

The discussion here was on SecPAL - the Microsoft Research “Security Policy Assertion Language.”  It’s basically a query language that allows you to easily write queries to determine if a user is authorized to do something.  Using a common language and infrastructure, you can fairly easily implement things like delegation in a system.  There are even visualizers and things to help you determine how authorization decisions were made - very cool.

I won’t lie - some of this got a little above my head.  There’s a lot here and I can see some great applications for it in our online banking application, but the concrete notion of exactly how I’d go about implementing it and what it means is something I’m going to have to noodle on for a while and maybe do a couple of test projects.

Moving Beyond Industrial Software - Harry Pierson

Pierson’s idea is that we need to stop thinking about software in a “factory” sense - cranking out applications - and start thinking about software in a different sense.  Put the user in control.  Stop trying to directly address ever-changing business needs and enable business people to address their own needs.  Think outside the box.

The canonical example offered here was SharePoint - it’s not really an application so much as an infrastructure.  Users create their own spaces for their own needs in SharePoint and it’s not something that needs interaction from IT or the application developers.  It puts the users in control.

This is another one I’m going to have to think about.  This sounds like it applies more to IT development than it does with “off-the-shelf” style product development.  How we, as product developers, think outside the box and how we can change for the better is something to consider.

gaming, xbox comments edit

I picked up my copy of Guitar Hero 3 at Costco about a week ago.  It sort of snuck up on me and I didn’t actually realize it was coming out this soon, so it was a pretty big surprise to see it.  Regardless, we knew we wanted it, so we grabbed it.

If you haven’t played a Guitar Hero game, it’s time to climb out of the hole you’ve been living in.  It’s good times.  The thing I really liked about Guitar Hero 2 was how playing the songs really made me feel cool.  I’m not super good at it - I can only really play acceptably on the “normal” difficulty - but it’s just inherently fun.  Not only that, but I really like most of the songs so playing them was cool.  With Guitar Hero 3, I expected “more” and “better.”

It’s good, but… I dunno.  There’s just something missing.  I think that the combination of a few of the changes sort of put me off.

First, and foremost, the songs.  I’ve played through co-op career mode on “Easy” and I’m almost through solo career mode on “Medium” and I think I really only like maybe 25% of the songs.  I’m a mainstream rock fan.  I like, for example, the Poison and Guns n’ Roses songs they included.  Some of the more popular classics are cool, too, like “Paint It Black” by The Rolling Stones.  I’m all over that stuff.  But that’s sort of the minority of the songs.  The rest?  Eh.  I more… “tolerate them” than I do “like them.”  I mean, “The Seeker” by The Who?  Mildly acceptable.  “Kool Thing” by Sonic Youth (or anything by Sonic Youth)?  Lame.  The redeeming tune is “Cult of Personality” by Living Colour.  I’ve wanted that song since I first played Guitar Hero.  But, generally speaking, mediocre fair song-wise.  (Here’s the complete song list on Wikipedia.)

The other thing is the difficulty level. In GH2, “Easy” was easy and “Normal” was slightly more difficult, but not so bad that you couldn’t just pick up and play and have fun.  “Hard” was actually hard and “Expert” was for the hardcore folks only.  In GH3, everything is about 50% harder.  “Easy” isn’t nearly as easy as the GH2 “Easy,” and “Normal” isn’t just pick-it-up-and-rock - it looks like it’ll take some practice (I’m only halfway through).  “Hard” will definitely require practice and I won’t even look at the “Expert” level.  The difficulty in GH2 reflected the idea that casual gamers could pop in and play something a little more than “Easy” and still have fun.  In GH3… you’re either dedicated or you’re stuck on “Easy.”

I’m not as concerned as other folks that some focus has moved to competition.  The co-op career is fun and I feel like it compensates for the competition aspect that’s been added.  They needed a little something new and the competition aspect is an interesting direction.  Jury’s still out on whether I think they should go further in that direction, but it’s not bad.  There are some interesting glitches with the co-op achievements where if you’re playing co-op career mode both partners will get the co-op note streak achievements but only the person logged in as “player 1” will get the career completion achievements.  Hopefully that will be fixed in a patch.

In all… I generally like GH3, but I think it could generally have been better.  Even just choosing better songs would have made it better for me.  I’m having fun with it, and I’ll keep playing it, but I hope that GH4, if they come out with it, has better songs.  I did order Rock Band and I’m looking forward to it.  I think the new instruments (and a mildly better, albeit slightly overlapping, song list) will be a nice change.

halloween, costumes comments edit

In a downward trend from the last two years, we came in at 139 trick-or-treaters this year.  Many more older kids came by, many in that “hey, maybe you should have actually worn a costume” state.

The graph:

139 Trick-or-Treaters for
2007

The 6:30 - 7:30 hour was the most productive, and once again 6:30 to 7:00 seems to be prime candy-grabbing time.  Two Costco bags of candy were sufficient with about a quarter-bag left over, though instead of mini candy bars like we had last year, this year we handed out more of a “candy assortment” (many more small candies rather than fewer large candies).  We ran a half-hour longer than we did last year due to the poor turnout of the first half-hour starting at 6:00.

Still, it was a pretty decent sized reduction in kids this year, and I think it may have been one or more of several factors at play:

  • Average age of the neighborhood kids increases as time goes by - less locals seeking candy.
  • This is the first year daylight saving time was changed for that energy bill - it’s darker a little earlier until we switch over and that may have stopped the earlier/smaller kids from venturing out.
  • Last year we had a projector showing an animated Halloween scene on our garage.  I got home too late to put it out this year.  Less decoration - less enticing to knock on the door.

I think next year I’ll make it a point to put the projector out and see if that changes things.  The average age of kids can’t be helped, but the DST issue won’t have changed.

General Ramblings comments edit

Jenn as Josephine and Trav as
Napoleon.Halloween

  • always a good time.  This year Jenn and I went as Napoleon and Josephine.  The photo here is us on Saturday just before heading over to Jason and Tracy’s house for a party.

As usual, we both made our costumes.  Jenn made the dress and cape/robe and I made everything you see but the hat and shoes.  It was quite the effort - more than I anticipated - and there were a couple of all-nighters pulled to get things done. 

Then, of course, I had to go and stain my pants in the chocolate fountain at the party, but that’s another story.

The effort paid off - I got the “Honorable Mention” category at the company costume contest.  And had a hell of a time at that party.

When I told people I was going to be Napoleon, the conversation was almost always the same.  In fact, here’s a [near] verbatim transcript of how every single one of them went:

Person: What are you going to be this year? Travis: Napoleon. Person: Dynamite? Travis: No, moron, Bonaparte.  It’s unfortunate for you that a small-scale cultural icon has overtaken an entire period in history. Person: Aren’t you a little tall to be Napoleon? Travis: Because I haven’t heard that one before.  Thanks for bringing that to my attention, though, because I’d never have thought of it! Guess I’ll have to walk around on my knees or something because you can’t get past my height but the first Napoleon you thought of was Dynamite. Person:

The level of dripping acid in the conversation was, of course, adjusted based on present company, but you get the idea.

Not sure what we’ll be next year, but we’ve got some ideas.  It was nice to have costumes that “went together.”  Usually we just do our own thing.  We’ll probably try for similarly-themed costumes again next year.

General Ramblings comments edit

Trav and Jenn on "Speed: The
Ride"Last week, my parents, Jenn, and I all packed up and headed down to Vegas for three days.

I’ve been to Las Vegas a bajillion times now but it’s always different and there’s always something new and fun to check out, so I love heading down there.  (Granted, it’s a little hot for my taste, so while it’s a nice place to visit, it’d take a lot for me to want to actually move there.)

We stayed at the MGM Grand and the night we got there we went to KA.  It’s the second time I’ve seen that show, but it was just as spectacular as the first.  Once again, front row center tickets, and well worth the price of admission.

We took full advantage of the Las Vegas Monorail, even having a stop right at our hotel.  If you head down there, you’ll find the $9 day ticket well worth the money.  Of course, that didn’t stop us from walking our asses off and getting all grumpy because of the overall pain of one-foot-in-front-of-the-other.  At the end of the second day, we were just about dead and Dad just had to go to one last tchotchke shop to pick up this ridiculous tiny “Las Vegas” sign that, as it turns out, they sold at the gift store at our hotel.

On the other hand, how can you pass up a trip to go shit shopping at the World’s Largest Gift Shop?  You can’t say no.  You just can’t.  Even though it’s sort of like seeing all of the stupid tourist traps at the beach all in one big building.

While we were down at that end of the strip, we stopped in at The Sahara and rode “Speed: The Ride.”  It’s a roller coaster only 40 seconds long, but it’s a hell of a 40 seconds and worth the $10 to ride.  Jenn, Dad, and I rode that and got off the train all weak-legged and wobbly.  Good times.

After all was said and done, we got back home safe and sound, ready for another trip down there.  I think we might go again in February for my friend Adam’s birthday.  We’ll have to see.

To close - a picture of me and my parents outside the Treasure Island:

Dad, Travis, and Mom outside the Treasure
Island