Ergonomics Without the Office Furniture Look

In my last post I talked about my switch to a mechanical keyboard and in that expressed that one of my chief concerns (and reasons for not getting one earlier) was the fact that the keyboard was not ergonomic. On further inspection, I concluded that the bulk of the problems related to keyboards in general had less to do with their own ergonomic features and more to do with the fact that the typical desk is too high to type on top of.

My New Old Keyboard

If you follow Jeff Atwood, then you’ve no doubt read his articles on designing the Code keyboard and his thoughts on mechanical keyboards more generally. I’m not going to even attempt to provide an equivalent level of insight into all of the details on the different types of keyboards. However, I will share my experience now that I finally took the plunge and got my very first mechanical keyboard. I had been toying with the idea for a while as I’m always looking for things and techniques that will make the hours that I spend in front of the screen more enjoyable (not saying that coding isn’t it’s own reward - perhaps saying that all of the other stuff that involves typing that’s not coding my need a bit of extra incentive from time to time).

Designing Evolvable Web APIs with ASP.NET is Now Available!

Although it actually became available last week, I hadn’t blogged about it yet, so correcting that oversight here… After over a year of development, what started as an abstract idea has finally come into being. The idea, while abstarct, was not simple by any means - we wanted to write a book that covered not just the internal workings of the ASP.NET Web API framework, but also how to use it to build systems that would be reliable and evolvable over a long period of time.

My Spring Speaking Schedule

Spring is in there air (well, intermittently here in the Pacific Norhwest), and that means - the spring conference season is shaping up. With three kids at home who are all 6 years old and under, I’m still trying to keep my travel under control. However, I will be venturing out a bit, so here’s where I’ll be over the next couple of months. If you’re in the area, I would love to catch up - so let me know!

Surprise! JavaScript Guard Clauses

I spent more time then I had planned this weekend debugging an issue in some code I wrote, and at the end of it all, discovered a JavaScript language feature that I had read about a while ago but never used (intentionally, that is). To explain, consider the following predicate function definition (and yes, I know that Underscore has this function - my specific case would have brought in some additional concepts, so I’m simplfying here).

Sublime Text Multiple Cursors: Getting OSX out of the Way

I had been ignoring this inconvenience for a bit because it wasn’t something that was hugely messing up my workflow…until this morning, where I needed to grab a table of stuff from a Web site and massage it into an array. For this, the column-based multiple cursor feature of Sublime Text is a huge time saver. The problem is [was] that the command to do this on OSX is command+shift+up/down arrow, and by default, these keyboard shortcuts are mapped to the Mission Control (ctrl+up reveals Mission Control while ctrl+down reveals all open application windows).

Open Office Layouts, De-personalization, and Mobility

Today opens a new chapter in my experience at Microsoft - my team (and larger group) has made the move from the Microsoft-traditional individual offices to the open office layout (team rooms, more specifically). Now, before I come off as negative, I’ll enumerate some of the things that I really like about the new layout. The space looks amazing. It’s like what I would expect from a startup who got a ton of VC and had a flair for the dramatic.

My Next Pluralsight Course (plus, I need your help)

I couple of years ago, I created the course REST Fundamentals for Pluralsight. The course seems to have resonated well with folks and as such, Pluralsight has given me the opportunity to produce a follow up course, which I’m titling ‘Building RESTful Cloud-Scale Services.’ The big idea for the course is this: while cool architecturally, REST isn’t an end unto itself, but a means to achieving a certain set of system characteristics.

On Juggling

I realize that there are entire shelves worth of books on this subject, but enough people have asked me about my approach to juggling all of the email, meetings, and various deliverables at Microsoft that I figured I would add my 2 cents to the corpus in hopes that maybe it might provide one extra nugget to someone. As surprising as it may seem (it does to me much of the time), I also have a life outside of Microsoft that is pretty hectic in its own right, including training content authoring, independent consulting, church commitments, and most importantly, my wife and 3 daughters.

New Year, New Blog

Over the past year, I’ve been wanting to blog a good bit more for a couple of different reasons - many of them completely unrelated to blogging. For example: I’m convinced at this point in time that the manner in which we’ve been thinking about building dynamic Web sites and applications for the last 15 years or so (e.g. Web-server driven, dynamic application fameworks and CMSs) is completely wrong and in many ways runs counter to how the Web is intended to work (In fact, this will be one of the subjects I’m planning to cover in my next Pluralsight course).