Random Review: Surface Pro 2

I’ve had a Surface since they originally came out.  I bought a day one Surface RT of my own, and used it all the time.  I really liked the idea of the surface pro, but since it had like half the battery life of the RT, at like twice the expense.  But when the surface pro 2 was announced, it was with a much more efficient Intel i5 “Haswell” processor with much better battery life.  And much more available memory. And a much bigger drive.  So I pre-ordered the Surface Pro 2 with 8g of ram and the 256g drive.  After using it for several months now, as a tablet, a laptop (and now as my entire desktop replacement!), here’s my bullet item pros and cons random review.


  • can run everything windows!
    • Being full windows, not windows RT, I can run pretty much every app I’ve ever needed ever.  Although, aside from doing development or playing games, I’m finding that there are windows store apps for almost everything I need.
  • this means Steam games are “game on!”
    • Shadowrun Returns plays great with pen and touch input.
    • I’ve also played Star Wars: The Old Republic on it as well, although I do have to set scaling to 100% or the UI gets confused and clicking doesn’t go where you think it does!
  • visual studio!  I can use this as a dev box!
    • In fact, I have to, since my old desktop machine doesn’t have hardware capable of running the windows phone emulator.  But the surface pro does, so I can work on phone apps and windows apps.
  • skydrive OneDrive integration is awesome
    • except that it now requires sign in with a microsoft account, you can’t even open the app at all on a domain joined machine at work (which is probably safer, since you can’t accidentally save stuff there when you should be saving to Skydrive Pro OneDrive for Business at work anyway…
  • Windows Live Writer!  I still don’t understand why there’s no version of live writer for Win8 yet.  that would be even better
    • plus, you can set the drafts directory to OneDrive, and POOF you have those synchronized across machines too
      • to do this, using regedit, go to HKEY_CURRENT_USER\Software\Microsoft\Windows Live\Writer, and add a new string value “PostsDirectory”, and point it to whatever directory under your C:\Users\[user]\SkyDrive\Documents folder that you want to be your live writer “cache”.  (since the name change, I haven’t checked to see if they’ve also re-named the directory or not!)
      • then, in that directory, right click the folder and set its Skydrive settings to “Available offline”.  without this step, writer didn’t seem to see the posts synced from the other machine.
    • You can also use 2 finger zooming to zoom in on the text part of live writer, even though there doesn’t appear to be any mention of zooming anywhere.  I’ve read some things online that said ctrl-+ or alt-+ used to zoom, but that only worked for zoom out for me, and I found 2 finger zoom gesture by accident. But it does work awesome!
  • Pen input is pretty cool.  I wish i could draw better!
    • I use it  all the time to take notes in meetings, and then using the ink to text features of onenote, it is (mostly) turned into searchable notes.  about the only thing that I have had problems with for that is if I underline or cross out things, that ink stays behind but doesn’t match up with the text anymore.  that can be confusing.
    • The pen also works very well in Shadowrun Returns. 
  • Surface Pro dock + USB3, ethernet!
    • I Have the SP2 hooked up to a 10 port USB3 hub when I’m at home.  Attached to this hub is a USB3 blu-ray drive, a USB3 hard drive enclosure with a bunch of drives in it, and various other random things, like the fitbit dock thing.  Also, standard keyboard and mouse.  
    • Also, hooked up through minDV to a big monitor, so when I work from home, the SP2’s touch screen is always showing outlook and lync (or skype), and the bit monitor is remote desktop’d into one of my machines running VS


  • gets a little hot when running games
  • noticeably heavier than a Surface
  • the new type keyboard doesn’t have physical buttons on the cover’s trackpad, so I didn’t get one.  I’m still using the type cover 1 on my Surface Pro 2, and the touch cover 1 on our Surface RT. 
  • the multi monitor scaling support on windows 8.1
    • It doesn’t make any sense to me!  Supposedly, by unchecking the “Let me choose one scaling level for all my displays”, it does some kind of different scaling per monitor.  But there’s no independent settings for each monitor?  When in this mode, I want the SP2’s screen scaled up to the 150% (default) setting, so I can use touch more effectively.  But I want the external monitor completely unscaled.  This doesn’t appear to be possible.  No matter what I choose, things on the secondary monitor are sometimes scaled, sometimes blurry.  Office does one thing, Windows does its own thing.  The taskbar gets scaled up, like it it is on the main monitor.  I don’t understand why there isn’t an explicit scaling setting on each monitor on the “Screen Resolution” control panel.  It seems that windows is trying to guess what I want, instead of letting me tell it explicitly what I want. 
Posted in Uncategorized

What I work on: CodeLens (VS2013 RC!)

As of yesterday, the Release Candidate of Visual Studio 2013 is now available! (And, MSFT changed its mind, so if you have an MSDN subscription, you can also download Windows 8.1 RTM!)

The feature my team (and others) has been working on, CodeLens, has undergone some major updates and cleanups since the preview. To see the most of it, you can go to

Here’s just one little picture including some of the new stuff. for the rest, go to the MSDN link above!

codelens tasks

In the RC, we’ve added indicators for bugs, workitems, and code reviews that were attached to changesets for that code. Keep in mind, this is changesets associated with that class/method/property, not changesets associated with the file! This makes it super easy to browse through the code and see exactly who (authors indicator, showing the last person to change the code (above, Jamal Hartnett and 2 others), what (4 changes affected that constructor), why (for 2 bugs and 1 workitems), and who reviewed those changes (1 code review). You can also see that that constructor has 12 references from other code, and that in the current state, only 6 of 11 unit tests are passing.

In the authors and changes indicator, there’s also a “local version” tag that appears for the version of the code you have locally. If you’re working on some code, and you see that the changes indicator says “5 +1 changes”, you know that someone else has moedified and checked in a change to that code, so you better get the latest version, or, to quote South Park, “you’re gonna have a bad time!”

We also hooked up Lync integration, so if your org is using Lync, when you open the details popup, you can see the Lync status of the people who’ve touched the code (looks like Jamal is green, so he’s available!), and you get the full lync integration, with a link contact card, and the ability to IM or start a call/video chat right from inside the IDE!

We also added expanders, so in all of the TFS powered indicators you can see what workitems are related to what changesets by clicking the standard VS triangle expander. There’s also a new icon up in the upper left corner that lets you dock the popup into a full toolwindow, so you can move it around, make it bigger, and keep it open while you click through references or tests and navigate around in your code. Each different indicator can dock to its own toolwindow.

The references, test status, and tested by indicators also got makeovers and new features, so make sure to check those out as well. Those indicators are not powered by TFS, so they’ll work even if your org isn’t using TFS!

Posted in General Tagged with:

Another new office!

This one is much bigger than the last.  Unfortunately, it isn’t a single office.  it would be pretty awesome if it was.  But my team (and most of the rest of the team that makes Visual Studio) is now in “Team Rooms” in the newly remodeled Building 18.  Team rooms are the new hotness, apparently.  I think that every team in b18 (including managers, etc!) are all in team rooms.

Old office in building 41, in photosynth panorama form:

photo (10)


New office in building 18, also in photosynth panorama form:

photo (7)


The team room looks really big, but that’s partially because there’s no computers in that picture.  Once everyone has their 2+ monitors and 2 computers slung under the desk, the room fills up quickly.  I’m still looking for a bamboo plant or something to put in the “hole” between the 4 desks where I am.  We’ve been in the team room for about a month now, and so far, it isn’t so bad.  The layout of the building itself makes for a lot of people wandering into the teamroom looking for a conference room, or the copy room, but other than that things are good.  Well, except the time I got trapped in the elevator.  But that was only for a couple minutes 😀

Posted in Uncategorized Tagged with:

What I work on: CodeLens!

Today at the //build/ conference, Visual Studio 2013 was announced and shown in preview form (and download!). And once again, my group (well, my group plus our larger team) made the front page of visualstudio.com:

2013 indicators!

In Visual Studio 2013, when doing c# and vb, you’ll get extra “indicators” above your methods that give you kindof a “heads up display” of things about that class/method/property. The first one shows you references to the method, if you’re also using TFS it will show you which people have touched that method and in what changesets. Its tfs history on steroids! If you’re also using the built in unit testing features, that method will also show you an indicator that shows which tests test that method, and how many are pass/fail. If you click on any of the indicators, you’ll get a popup that shows you the details, and each details popup window has more useful info and actions you can do with that reference, or that changeset, or that unit test!

2013 popup

From the article at visualstudio.com:

Understanding what a line of code does is only part of your challenge as a developer. You must also understand its history, who worked on it, what code references it, and more. This becomes especially challenging in team-oriented projects. CodeLens (Code Information Indicators) in Visual Studio 2013 Preview uses information from both your project metadata and Team Foundation Server 2013 preview to place decorators on each of the methods in your code that show information such as what changesets led to the creation or recent change, who was the last person to work on the code, what unit tests cover the method (including the latest pass/fail state), and what code references exist. You can also quickly jump into that data, such as an associated changeset or referenced code file with just a click.

The larger ALM org (along with Matt and others from the VS language experience team!) was responsible for the plumbing that makes it work, my group was specifically responsible for the authors and changes indicators, and I did a lot of work to make that popup with the callout that points back to the originating indicator, among other things.

Edit 6/27/2013: There are even live msdn docs for codelens now!

Posted in General Tagged with:

Now on Azure!

So as an MSDN subscriber, you get up to $150 / month of credits on windows azure. And azure supports wordpress, so… I created a site on azure in like 5 minutes, exported the content from my garage based server, imported into my new azure site, and blammo, it’s back up. Admittedly, it took some time to re-install all my plug-ins and find a new theme (the theme I was using hasn’t been updated in 2 years, apparently?), but other than that it was a pretty painless process. Then I tweaked some DNS things (which required overnight to propogate), and everything appears to be working. So far! I’ve been looking for a way to move all of my hosted stuff off of the server that’s running in my garage, and the combination of this, azure’s VM service, and the MSDN credits might finally be a solution!

Posted in General Tagged with:

What I Work on: Code Map Debugger Integration

In the last “what I work on” post, I talked about the Code Map feature that was new in Visual Studio 2012 Ultimate (Update 1).  It has turned out to be a very popular feature (as it should) because it is super useful!

After people have used Code Map for a while, one of their first requests is “how do I get debugger information into this map?”  There are ways to do it, where as you step through code, you keep manually doing “show on code map” on the method you’re in, but that gets very tedious.

So, for Update 2 (now available!) we added debugger integration to Code Map!  To see it in action, you can watch this channel 9 video, or update today and play with it yourself!

Here’s a screenshot of it in action, debugging a Windows 8 Store C# app:

code map debugger integration

When debugging the “old” way, you have to watch both the editor window and the call stack window, step in or out or whatever, and try to mentally figure out what is still on the stack, which commonly ends up in “where am I now?”  or “how in the world did I get here?” kinds of issues.  And then, as soon as you stop debugging, the call stack window goes away, and if you were stepping through code that you don’t have open (so it was open in VS’s preview tab), then most of the files you stepped through aren’t open in the editor anymore! I know that I end up copying the call stack, and pasting it into notepad so I can remember where I was.  Or, if I’m trying to correlate multiple call stacks, I paste them into columns in an excel spreadsheet, then do a lot of excel work to line things up  to figure out what is the same.

Instead of all that… debugging the “new” way with the code map debugger integration gives you a nice little treasure map of where you’ve been (gray nodes), where you are (the standard call stack arrow, visible in the map, the editor, and the call stack window), and everything that is currently on the stack (orange nodes).  As you hit breakpoints or step around in code, the map updates to add whatever is on the stack at that point in time.  And when you stop debugging (and the stack window goes away!), the map is still there, and still functional!

You can see in the picture above, I was doing “shotgun” debugging, where I just scattered breakpoints around the code, to see who calls what.  In the old way, you’d have to mentally figure out that almost every call in the app ends up going through one method, with a giant name in the call stack window, like:

App1.exe!App1.Common.LayoutAwarePage.OnNavigatedTo(Windows.UI.Xaml.Navigation.NavigationEventArgs e) Line 332    C#

which certainly is a mouthful.  instead, in the graph, you can see it as a single node, you instantly see that everything we put breakpoints in goes through it somehow, and if you mouse over it:


From both the graph and the stack window, you can double click and go right to that code.  But, from the graph, you now have all the other powers of Code Map at your disposal.  Want to see what types all the methods are in?  Who derives from what?  just use the “show related items” menu in the code map toolbar, or right click and do stuff from there:


I did several steps to get to this diagram, by clicking the “LoadState” item in the first graph, and doing “find references”, which added 3 LoadState overloads from other classes.  Then, I selected everything and did “show containing type”, which added the groups.  Then I did “show derived types” on LayoutAwarePage, showing that 3 things on the graph are green, indicating they are the types that are subclasses of LayoutAwarePage. 

One of the fun things about the debugger integration is that almost every language that VS supports has really good debugger integration, because debugging is essential.  Not every language integration implements the things that Code Map needs to be super effective.  So if the debugger works for a language, the map part of the debugger should work.  Want to see how your old school C++ Win32 app works?  Put in some breakpoints, and generate a map,  and poof:

how your win32 app works

Want to see how your old school c++ Win32 app really works?  in the call stack window, right click and select “show external code”, then generate that graph again:

how your win32 app really works

In the first graph, all the items outside your solution end up being elided, and just show up as dashed links with “External Code” labels.  With “show externals” turned on, code map creates an individual node for everything that shows up in the call stack window, with a faded out look.  If the external assemblies have debug information the debugger can see, they’ll have somewhat useful names, but if you don’t have debug info for those assemblies, you just get addresses, but you still see the relationships!  you can see that Win32 has a lot of loops!

Posted in General Tagged with:

I Love my Surface!

I’ve had a Surface (RT) since the Surface launch day, and I love it. (Note: I am a Microsoft employee, and recently they did give each employee a Surface for primarily business use, with personal use allowed, primarily for evangelism purposes. The launch day surface is my own personal surface, purchased with my own hard earned money). Since buying the Surface, I haven’t used my laptop! Here are just a few of the things that I love about it.

  • Multiple user support. On “our” iPad (our in quotes since Easton has pretty much monopolized use of that device for the last 2 years), every time I turn it on the icons are somewhere else. Or not even there. I don’t know that he knows he’s doing it, or even doing it on purpose, but he does from time to time unintentionally uninstall apps. In order to “protect” stuff I want, I have all of those things in a folder on a secondary page. From time to time those things are all re-arranged, but he pretty much knows not to touch daddy’s stuff in there.


    But the Surface is a windows machine, complete with true multi-user support! So Easy has his own user account on the surface. He just taps his face at the login screen, and he is in his own account that I can control. I unpinned all the stuff he doesn’t need, and installed apps and games for him to use. My account has a password, so he can’t get in and mess up my stuff. Similarly, Laura has her own account with all of her stuff. Switching users any time is a 2 tap affair.


    There’s another interesting thing with having true user support, though! You can also flip a switch on Easton’s user account to turn on “family safety” settings. This turns on monitoring and reporting features, so every week I get an email like:

    family safety


    You can even see in the picture that it keeps track of web searches! In the pic above, I was trying to figure out how to get the windows store apps I’d purchased on my account to show up in his account as well. It also shows me using Flickr to find a picture to use for his account. The rest of that time playing Netflix and pinball and paint is all him 🙂


  • Doing 2 things at the same time! Similar to the “Snap” feature of windows 7, in windows 8 when using store (aka Metro) apps, you can drag one app to the side, and it will take up about 1/3 of the view. This lets you do work and watch twitter scroll by, or watch a movie while playing a game, etc. That mode comes in super handy on airplanes:

    Screenshot (4)

    I played games and watched movies at the same time for a couple hours while Easton slept on one of our recent airplane rides. Worked great!


  • Size and shape. I think this thing is just about the perfect size and shape for me. Maybe the screen could be bigger and the bezel thinner, but not by much. The surface is almost the same size as a piece of paper, but a little narrower. With the keyboard flipped shut, holding it by the spine feels a lot like holding a book. I carry it like one every day. With the kickstand out, it is a good angle for me, and it works well on my lap that way when I sit on the couch. I’m typing this right now, with the surface on my lap, kickstand out, typing on the touch cover, and it works a lot better than I thought it would.


  • The touch cover! This thing is freaky. It doesn’t look like it should do anything. It looks fake. And yet it works! It does take some getting used to. I miss the spacebar more than anything, and because there isn’t a lot of texture on the keyboard, it is easy to get off home row and start typing gibberish. The F and J keys do have a different bump on them so that you can feel where they are, but I’d like it if it was a raised bump instead of a dimple. The touch cover also has a track pad and buttons, although some people I know didn’t realize that was there. You can also flip the touch cover under when using the kickstand, which makes it into a pyramid. That makes it stable on thing that where the kickstand alone wouldn’t work well.


  • USB. Having a USB port on this thing has been great. When I want to charge my phone AND the surface, I don’t need to take up 2 plugs. Plug the surface into the wall, plug the phone into the surface. Done! Want to play a game that would work better with a controller? Plug in a wired Xbox 360 controller, and it just works:

    using controller

  • Micro SD card. The surface also supports removable storage, so I added 64 gigs of space for movies and music and stuff by just sticking in a tiny little card. During xmas, this came in handy, as my dad wanted new pictures of us to put on a digital photo frame. I plugged the card into the home computer, copied a couple gigs of pics onto it, and brought it home in the surface. My dad has a camera that uses micro SD, so I just popped the card into his computer, copied all the pics there, then stuck in the card for the photo frame, and copied them there. Having a standard SD card slot would be nice, but would take up a lot more space than the micro one does. Having 64 gigs of space also means that I have a bunch of movies on here, so I had stuff to watch on airplane rides during the holidays.


  • Gestures. I’ve gotten so used to the swipe from the edges gestures on Win8 that I unintentionally do them on my phone. Swipe in from the left edge of the screen to see running apps and switch (if you have that turned on, otherwise that swipe is effectively like alt-tab), swipe in from the right to get to search+settings (aka the “charms”), swipe from the top all the way to the bottom to close an app. Although, that close app swipe has had me close IE lots of times when I really just meant to close that tab 🙂



  • Battery life. So far, battery life has been pretty excellent for what I do. Even playing games and surfing, this thing lasts a couple days on a charge. And it charges super-fast. Couple hours on the charger and it is full. Sometimes the power connector can be a pain to seat just right, but that’s fine. I don’t think I’ve ever gotten an iPad connector in the right direction the first time ever, either. The only oddity so far is the low battery warning. Sometimes you don’t get it, and it goes to low battery shutdown. I tweaked power settings to warn me at 10% instead of the standard 5% and it hasn’t been a big issue.


  • OneNote (+SkyDrive +SkyDrive pro). I use the Win8 store (aka “metro”, aka “mx”) version of OneNote all day at work. With SkyDrive, my notebooks are shared across all of my computers, my surface and my phone, so I have things like shopping lists, blog notes, and other stuff all there. For work, I have my work notebook up on my SkyDrive pro (aka “my SharePoint”?), and I religiously track what I’m working on. I’ve been using OneNote every day since starting at Microsoft. You ask me a day in the last 3 years, and I can tell you what I did that day, if it was a work day. And the surface makes a pretty good meeting notes machine; it is small, and typing on the touch cover is almost silent.


    Screenshot (8)

  • Apps. A quick rundown of the things I use all the time, other than OneNote:
    1. Nextgen Reader – for feed reading of my Google reader feeds.
    2. TweeterLight – for twittering. Or twitter stalking anyway, I don’t post that much.
    3. Taptiles – an addictive tile matching game. Like 3d mahjong, kindof. Hard to play well with the mouse, but fantastic when tapping away. Especially when “green gem” mode kicks in and you’re just madly tapping with all fingers of both hands.
    4. Netflix, of course.
Posted in General Tagged with:

What I Work On: Code Map

Yesterday, Visual Studio 2012 Update 1 shipped! So I can officially talk about what I just worked on. Much of it has already been available in preview form and CTP releases and such, but you don’t want to get in trouble! 🙂

I joined the Visual Studio team back in April, just as work was finishing up on Visual Studio 2012. As part of that release, the VS team was moving to much more agile release schedule for updates, so here we are, about 4 months after going gold with an update with lots of fixes and cool new features!

The group I work in is called “Developer Visualization”, and is part of the “Application Lifecycle Tools” team. Most of our team’s features are part of Visual Studio Ultimate, but our team is responsible for some of the code that powers the Solution Explorer in all versions of VS. Anyway, the big new thing we worked on for VS Update 1 is called “Code Map”. While looking for a picture of the feature to put up here, I went to the official update web page, and BAM! Code Map is the background image! (I think the technical term is the “hero” image)

VS Update 1
(in that screenshot, i’m directly responsible for the green nodes (results of a query) and the green arrow (the cursor location))

What is Code Map?

Visually graphing code is nothing new, people have been drawing code diagrams of various forms for, well, as long as people have been writing code. Visual Studio has had graphs for a long time as well. Before I joined VS, a lot of the graphing code was re-written for 2012, in order to make it more useful, usable, and scalable. In ultimate, the main entry point to creating graphs was what we call “top down”, via the Architecture menu on the toolbar. You can use it to create a dependency diagram of your entire solution. But it starts a the assembly level. You can see which assemblies reference eachother, and then you can expand the assembly and see the namespaces inside. You can expand the namespaces to see the classes inside, and all the relationships between them. (The technical term for this is “progressive reveal”, which was the old name of our group). Another way to generate these graphs is via the architecture explorer, but that’s a rather advanced tool that not everyone uses. But generating a graph this way means you have a lot of stuff you might not be interested in! You can move stuff, remove stuff, but in a large solution, that would take a lot of time!

In Update 1, the Code Map feature lets you generate diagrams in the other direction (what we call “bottom up”) piece by piece, directly from code, side by side with the code editor (for C# and VB). Have the cursor in the code on a method? Right click, “Show on Code Map”. Poof: the window splits, and a new diagram appears with the method you were on. Put the cursor somewhere else, and use the keyboard shortcut, Ctrl+` (control+backtick), and poof, that method appears on the graph as well; and if the methods call eachother, the graph will automatically have links between the items on the graph. You can add pretty much every code construct to the graph: classes, method, properties, enums, etc, etc, and the links magically appear. You can also add things to code maps by dragging and dropping from solution explorer, or by using Show On Code Map from there.

But Wait, there’s more!

Not only can you then create small diagrams, only containing the things that you want and the relationships between them (a great way to explore unfamiliar code!), but you can explore the code directly from the graph! So you added a method to the graph above. Who calls it? From the code editor, you’d right click and do “Find all references”, and results appear in another window. In the code map, right click, and look at that, “Find all references” is there too! Select it and it will find calling methods, and add those to the map, with links between them. Want to know what class those other methods are inside of? Right click, “show containing class”. Nodes will now be grouped by which classes they are in, and links will be displayed between classes. Want to see the base types of a type on the graph? Derived types? All available! Add some notes, save it, send it around!

Want to see it in action? Go watch this channel 9 video!
Want to use it? Fire up Visual Studio Ultimate (you deserve ultimate! Upgrade today!), install Update 1, and get your Code Map on!

Posted in General Tagged with:

Random Review: Lego Batman 2

bat-easyIt should almost be called “Lego Superman,” as he’s probably the best character in the game :).  Most of the Justice League makes appearances in the game, but they don’t have much importance in the story, which is a shame.  hopefully it’s a setup for a full fledged lego justice league game?  (related: why is there no lego:Avengers game?!!?)

Easton and I have played through several Lego games now, and of all of them, this was definitely the hardest.  In most of the other games, you have to learn how to move the characters.  In the first Lego Batman, you also had to drive some vehicles, but that’s it.  Lego Batman 2, you have to learn how to:

  1. move the characters in missions (no biggie, all the other games have done this)
  2. move your character in 3rd person over the shoulder view, where the right analog stick also moves the camera, as all of the between missions take place in a sandbox style world
  3. drive vehicles in 3rd person view, because the sandbox area is so big.
  4. fly vehicles / people in 3rd person sandbox mode, because that’s a little different controls than driving.
  5. fly vehicles in a flight sim on rails style in missions
    The large amount of control schemes made it hard for Easy to pick up.  In the sandbox area, a lot of the times he was really confused about what he was supposed to be doing, and how to do it. 
    The other interesting thing was how the in-mission split screen worked.  The first time the “auto” split screen took over, we didn’t even notice right away, and we realized we were on opposite sides of the screen from where we were sitting on the couch, so we switched spots.  and like 2 minutes later, I realized that somehow we were again on the opposite side of the screen from where we were sitting.  The splitscreen is actually genius!  If you’re close together, there is no splitscreen.  as you get farther apart, the screen divides, but not exactly horizontally or vertically.  Depending on where you are and where you are going, the splitscreen might be diagonal, and as you move around, the split line moves with you.  As long as you’re watching your own character, you never really notice it.  I imagine that a 3rd person watching might get really confused and a little dizzy, though.
    That being said, I think it is the best lego game so far.  The voice acting gives the game a lot more sense of character, and allowed them to tell a new real story, instead of how most of the Lego games are a caricature or some existing content.  It also let Easton follow in the story without me having to explain what was going on, or read all the captions to him.
    The one thing we really missed from the original Lego Batman was being able to play the missions from the bad guy point of view.  that was one of the most clever things in the original!

Because of that, the story part of the game seemed pretty short.  when we finished it and the credits started rolling, both Easton and Laura said “that’s it!?”.  Then I explained that we had 250 gold bricks to find, 20 red bricks to find, 50 people to rescue, a ton of guys and vehicles to buy, etc.  Even 2 weeks after finishing the story, we’re only 76% complete, and still have yet to go through all of the missions again in story mode!

My biggest complaint is mostly about switching characters.  In sandbox and story mode, you can hold Y to switch characters.  While the character selector is up, the other player can’t do anything.  Easton love to switch guys, so I spend a lot of time just waiting for him to pick someone.  And if you were robin or batman in a special suit, switching characters makes that go away, and you revert to normal batman or robin, which is really annoying.  You might have to run all the way back to the beginning to switch back to a specialized batman and run all the way back…

My only other major complaint was the autosave stuff in sandbox mode.  If you find something that causes it to save, both of your characters freeze and can’t move for ~5 seconds.  But nothing else freezes, so if there is money to pick up, it might disappear during the save.  If there were bad guys attacking you, they keep hitting.  if you were driving a vehicle, you just go straight for a while.  That could have been handled a little better.

There were lots of other minor gripes, a fair number of freezes or crashes, some glitches where we got stuck in walls or floors, etc, but that’s all par for the course, and they were rare enough to not be a big deal.

One thing that I did like, however, was that (finally!) a lego game doesn’t make you press all kinds of buttons to load a game.  It used to be that you’d press start, press down once to select “load”, press A, the save location prompt appears, select your location, press A, choose your save, press A, loading starts, it says it was successful, Press A, it warns about autosave press A (start,down,a,a,a,a,a).  This version auto finds saves, so you don’t get prompted for locations if there’s only one, and you can just press start, then A A A and you’re in.

TL;DR: best lego game ever!

Posted in General Tagged with: ,

After Action Report: Tough Mudder Seattle

finish line

If I had to describe Tough Mudder in 2 words, the nicest version would be “holy hell”. If you don’t already know what it is, Tough Mudder is an adventure-style race. It’s generally 10-12 miles, littered with obstacles. And the obstacles are crazy.

Laura and I were on a 4 person team, “Birthday Cake”, as it was one team-member’s birthday. Beside Laura and I, the other two ladies on the team (Buffy and Erinn) are women we know through Columbia Athletic Club, the gym we go to. Well, actually, one of the ladies on our team is a trainer at Columbia, who Laura sees regularly, and who I’ve been working with once a week since the “spring challenge” starting in April. Anyway, back to the race challenge!

Here’s a helpful map:


The Seattle course turned out to be 12 miles (not the 11 stated on the map), with 2 “surprise” obstacles that they wouldn’t announce beforehand. The map shows a bunch of obstacles that we didn’t have, but is missing some that we did have. The notable ones (not in any particular order):

  1. arctic enemaArtic Enema. The 2nd obstacle of the day, after crawling through some mud under some barbed wire. Picture a long dumpster filled with ice water. Then, just before the race starts, picture a fork lift dumping a crate of ice in to top it off. Then, halfway across the dumpster, put a wall that extends down into the ice water. Then place barbed wire over the top of the wall, forcing you to go under to get through. The wall was surprising low, and I just can’t explain the feeling I had as I went under the wall and got stuck. I had about 2 seconds of panic as I realized my camelbak got stuck on the lip of the wall. Then, swim up and the rest of the ice filled dumpster and climb out. 5 minutes in, frozen, and freaked out 🙂
  2. shocks on the rocks. belly crawl through water+muck, with live electrical wires dangling down. this one wasn’t too bad, as I could stay low, push off, and slide across the mostly smooth plastic flooring covered in muddy water. if it had been rocks, this would have been hell. I only got shocked a few times, and they were in the hips, making my whole leg seize up. crazy.
  3. Berlin walls 1 & 2. Vertical wood walls 12 feet tall, in pairs. there’s one foothold at the bottom, maybe 2-3 feet off the ground. I got used as a ladder for this one, boosting people up by doing a wall sit, then having people step on my thigh, then shoulder to get to the top. I managed to get over them myself, with a quick hop up and off the foothold, and pulling myself up and over. There was also a 3rd wall challenge, where you had to climb some logs first, and kind of jump from the last log to the wall, then climb over.
  4. Funky Monkey & Rings. Funky monkey is a set of monkey bars that follows the slope of a roof. the first half is ascending, then the second half descending, probably 5 bars on each side. and the bars spin in the holes. If you can’t hang on, you end up in a muddy lake. On a normal day at the playground, I might be able to do this. but with the ascending/descending part, and the distance between the bars, I wasn’t sure I’d be able to do this one. But I took it slow, and used the spinning of the bar to my advantage. it let you hold onto the bar and let it rotate to swing, instead of having to have your (wet, muddy) hand slide on the bar. I got through this one and stayed dry. The ladies, not so much. Later on, there was another similar challenge, with rings instead of bars. Slow and steady, with a nice swing between them, and I stayed dry on this one too (although I almost derp’d the landing and fell in!). Again, the ladies, not so much. The rings were especially enjoyable, as it made me feel like I was on American Gladiators!


  5. walk the plankWalk the plank. After staying dry on the bars + rings (and climbing a giant hill, and climbing down said giant hill), there’s no way around this one. Climb up to a platform, then jump ~15 feet down into a muddy lake. Personally, I’ve never jumped from that high into water. Plus muddy shoes and a camelbak? And it was a lot deeper than I expected (I never touched the bottom), and it was shockingly cold. Laura’s legs cramped up on the swim out, so that wasn’t good. The lifeguards gave her some salt to eat, and she walked it off.
  6. Boa Constrictor. We saw this one very early in the race, but it was one of the last ones. you see it, then wind way away, and don’t wind back that way for 10 miles. A giant plastic culvert pipe heads downhill, into a little pond, and another pipe goes up from the pond back to the top of the ditch. It looked much worse than it was going to be, the pipe was mostly smooth inside, which was refreshing after crewing through all the rocky stuff we’d been through earlier. getting down was much easier than getting back up the other side, though. the pipes were pretty smooth inside, and they were small enough that you couldn’t really use your knees.
  7. Fireman carry. You had to carry someone for 100 yards. Laura gave me a piggyback ride, then I tried to carry Laura using a true fireman carry. I could only do it that way for about half the distance, then gave her a piggyback ride. when was the last time you gave an adult a 100 yard piggyback ride?
  8. Zig-Zag. I’m not sure the real name of this obstacle, but it was my favorite. climb up a near-vertical 30 foot muddy hill. Move over 25 feet, and climb down the near-vertical muddy hill. Repeat a few more times, up and down, up and down. I don’t know why it was my favorite, but I enjoyed it!
  9. Random other things. carrying logs, climbing a vertical rope net, climbing a rope net on the face of a steep hill, climbing under barbed wire, climbing over and under logs, slogging through mud, swamps, climbing through a narrow underground tunnel, etc.
  10. Everest. This is one of the last challenges, and one of the few that is impossible without teamwork. It is a giant plastic quarter pipe. And it’s wet, and slippery. so you can’t just run up. but since it’s a quarter pipe, you can’t just stand there and get close enough to the top. so you run up, reach, and grab people who are already up there. you try to climb and they try to haul you up. We saw several people attempt, and try to leap and grab, only to slide out of someone’s hands and bang their head on the pipe as the slide down. And the slide makes that humiliating “screeeeeeeeeeeeeeeeech” noise as you slide down face and hands first. Everyone on our team took at least 2 tries, except Laura might have made it on the first? This was one of the last obstacles, so you’re already 11+ miles in and physically abused by the time you get there.
  11. electroshock therapyElectroshock therapy. As if the early one wasn’t bad enough, this one is a much longer field of live wires hanging down. probably “only” 20 yards of distance, but about a food of muddy water and a berm (hay bales? I don’t remember) in the middle. I’ve never been shocked like this before. Each time I got hit there was a loud “SNAP!” and entire parts of my body tightened and tingled. Some were weak, some were strong, but every time you heard a SNAP from anyone around you, you flinched. I just tried to run through, and about halfway I kind of found a path that was reasonably clear, but I probably got shocked about 10 times total. OUCH. Some people belly crawled through, literally face in the mud, to avoid being shocked. Others ran through and hit wires and BAM, ended up in the mud unintentionally.
  12. BEER! When you finish, they give you a bandana, some protein bars, bananas, a t-shirt and a cup of beer. so that was nice. Sadly, we ran the last heat of the day, so most of the other stuff was shutting down, the band was done playing, most of the stalls were cleaning up, etc. Only ~1500 people ran Sunday, but 7000+ ran Saturday. that would have been a sight to see!

All in all it was a long, exhausting day. It was lots of fun though! I expected to do way worse, as I’ve never run anything nearly that long. I’ve done some 5k’s, and I’ve run farther than that on a treadmill, but nothing close to 12 miles. I also got through pretty much all of the obstacles, clearing walls by myself, and getting through the rings and bars, so I’m pretty stoked about that.


If we were to run it again, I would do some stuff differently, though. I wore shorts and a dri-fit style running t-shirt. with all the crawling on rocks and dirt, that left my knees and forearms and elbows completely unprotected; they are now painfully cut and scraped. The ones on my forearms are particularly lame, as it means i can’t really rest my forarms on anything, like i normally would when typing, ec. Next time, shorts that cover my knees, and 3/4 length sleeves at least. you spend so much time wet, that sweating through a long shirt isn’t really going to be an issue. I would have also used sunscreen on my face. you can’t really see it well, but they use a permanent marker to write your bib number on your forehead and arm, so when your bib comes off (it will!) you’ll still have your number. the number came off my forehead, but now I have a very faint sunburn outline of 45474 on my head. 🙂 The other problem I had was getting mud+crap in the tops of the ankles of my shoes. I’m not sure how to avoid that, but it sucked. Running it Saturday instead of Sunday would be fun too, as there’s a lot more people helping each other, and a lot more festivities at the end.

Posted in General Tagged with:

XBox GamerCard

Recent Flickr