In a previous posts we looked at how to implement a leaky bucket rate limiter using the generic cell rate algorithm (GCRA) and then again how to derive several common rate limiting headers . In this post we’ll look at how to apply a burst limit. Consider a rate limit of \(X = 10\) requests per \(P = 60\) seconds. With GCRA we can make all 10 requests in an instant because it allows us to…
I review a lot of C# code and the one thing I see people screw up the most is IDisposable. I think part of the reason is they don’t understand why IDisposable exists. After all, isn’t C# managed? IDisposable exists to to cleanup unmanaged resources. When I say unmanaged, I mean things like raw file handles or unmanaged memory you might get from calling into unmanaged code. All standard .NET…
One of the perks of working at Xbox is I can get pretty much any game I want. Unfortunately I don’t have time to play every game I want, so I have pick and choose. These are the favorite games I played since I started working at Xbox. Mark of the Ninja I played the crap out of this game. I first saw Mark of the Ninja when I was wandering around the indie games section at PAX. There was no line so…
BioShock Infinite is insanely great. The story is amazing. The characters are unforgettable. The gameplay is a blast. Sorry, am I gushing? The first two thirds of the story is pretty standard. The gameplay really shines here though. The combination of shooting, vigors, and the skyhook creates a unique combat experience. You might be tempted to stand back with sniper rifle and just pick off enemies…
Resume Bungie Principal Engineer | July 2022 - Present Working on services for Marathon . Unity Technologies Staff Engineer | January 2021 - July 2022 Worked on Multiplayer services for Unity Game Services. Microsoft Principal Architect | March 2012 - January 2021 I worked on Xbox Live from Xbox One through Xbox Series X. Shared service framework used by all Xbox Live services. Authentication and…