Show Menu

A WebSocket Primer

Over the past year, prior to leaving 343, I spent a large amount of time working with the WebSockets protocol and upgrading the Halo Services to support it.  In order to solidify my knowledge and provide a handy refresher for when this information invariably gets context switched out of my brain in the future, I…

Read more

A New Adventure

My last day at Microsoft and 343 Industries was two weeks ago.  I left to take a new job at the recently opened HBO Codelabs to work on HBO Go.  After 5 awesome years at Microsoft it was not an easy decision to leave, but personally I was ready for a change, and was incredibly…

Read more

Enforcing Idempotency at the Data Layer

Idempotency In Computer Science idempotent operations are defined as operations that produce the same result if they are executed once or multiple times. Practically in an application or service this means that idempotent operations can be retried or replayed without the fear of processing the data multiple times or causing unwanted side effects.  As a…

Read more

Creating Immutable Data Stores

Immutability Immutability is the property of data to not change once it is created.  Most storage systems provide basic C.R.U.D. (Create, Read, Update, Delete) functionality.  However, to have truly Immutable data we should only use the Create and Read functionality provided by storage systems. Nathan Marz makes an excellent case for why we need Immutable…

Read more

Halo Pride

Pride Weekend in Seattle is always a good time, the city especially Capitol Hill is decked out in rainbows, and the Pride parade is always a spectacle to be seen. This year the Warthog made a special appearance in the Pride Parade.  A bunch of 343ers, including myself, marched along to show support, along with…

Read more

Distributing Text Templates via Nuget

A few months ago I began to look into how to distribute T4 Text Templates via Nuget to do Code Generation.  Creating a Nuget package including T4 files is easy to do, just include them as content files.  Content files in Nuget Packages are copied into the root of your application when the package is…

Read more

Azure Devs

The Microsoft Build Conference was this past week in San Francisco. The Day Two Keynote of Build started with a video about Azure Devs featuring, myself, Hoop Somuah, Charlie Robbins, Eli Thompson, Nick Floyd, Ramesh Nagul, Scott Cate, and Tejas Patel. We all use Azure to run our websites and services despite using different languages…

Read more

Origin Story: Becoming a Game Developer

Over the past few weeks I have been asked over a dozen times how I got into the Games Industry, so I thought I would write it down. TLDR; My first Console was a SNES.  I learned to program in High School. I attended Cornell University and got a B.S. in Computer Science.  My first…

Read more

Flexible Security Policies

Last weekend I made a rather bold statement on Twitter. Perhaps the third party certificate isn’t the single point of failure.Instead the consuming Services SSL and Security policies that are. — Caitie McCaffrey (@CaitieM20) February 24, 2013 This sparked off a conversation in 140 character installments during which I found it difficult to fully convey my point. This is my attempt at clarity. In the services world taking dependencies on third party services is increasingly necessary, especially as more services move into the cloud. However, irregardless of third party failures, I firmly believe that YOU own your services availability. I’d like to examine a single point of failure that communication…

Read more