Beating Halo Infinite On LASO

April 29, 2022

Back in January I mentioned that I managed to continue the tradition of beating Halo on Legendary with the release of Infinite. At the end of that post I also mentioned that I was contemplating whether I want to do a Legendary, All Skulls On (also known as LASO) playthrough. Well, it so happened that I managed to get through this part of the experience as well this past weekend.

Trying Out The Steam Deck

April 29, 2022

After four months of waiting, I finally got my hands on a Steam Deck! I am particularly excited to get to use this device a bit more because it's basically the cleanest version of "Gaming on Linux" that you can imagine.

Windows Needs a Change in Priorities

March 19, 2022

We need to talk about Windows priorities as a product. And I am saying this as someone who wants Windows to succeed - it's a great OS that, despite it's naysayers, is still one of the best when it comes to backwards compatibility and richness of functionality. I mean, I can literally run a game written for Windows 95 on Windows 11 without major issues.

Building My Own Deep Learning Rig

March 17, 2022

One of the things that I am diving much deeper (pun intended) into lately is deep learning. And with deep learning, one of the things that can help you the most when it comes to having the right hardware locally is a beefy Graphics Processing Unit (GPU). As it turns out, offloading tasks that involve matrix multiplication to the GPU yield massive performance benefits compared to doing the same thing on the Central Processing Unit (CPU).

Getting Halo Infinite Match Stats With Official Halo API

January 27, 2022

Now that I got authentication out of the way, it's time that we actually get something useful done with the Halo Infinite API. This whole saga started with me wanting to get the match stats so that I can analyze them outside the game, and that's what I thought I'd tackle first.

Halo Infinite Web API Authentication

January 26, 2022

A week ago I was finally able to figure out what endpoints the Halo Infinite Web API uses. Now, the challenge became figuring out how to properly request the data from those, as there were two component pieces to every request - a Spartan token, and a clearance. After fiddling with the API a bit, and looking at the endpoint that aggregates all other endpoints, I was able to learn that there is a straightforward way to get all the right tokens through a number of chained requests, that are documented in this blog post.

Discovering the Halo Infinite API

January 21, 2022

As with most of my reverse engineering stories, this one starts with "Hmm... I wonder if I can get this data anyway?" I mentioned this in my previous blog post that I just finished the Halo Infinite campaign, and the next step was multiplayer, which also meant that I wanted to keep track of my stats to see just how bad I am playing against real people and aimbots.

The Tradition Of Beating Halo On Legendary

January 3, 2022

What better way to spend the couple of remaining vacation days than by diving into the new Halo campaign. Ever since I got an Xbox, Halo was a staple of my gaming collection. The first Halo I ever played was Halo 3: ODST, and it completely changed my perception of first-person video games.

Netlify Analytics API

December 30, 2021

I recently moved most of my websites over to Netlify, because, well - I work there, and I want to be dogfooding as much of our product as possible. As part of this, I enabled my sites to use Netlify Analytics, which has been a fantastic lens to look at the site usage from a server-side perspective.

Tweaking Spotify For Podcasters Feature Flags

December 30, 2021

Spotify's foray into podcasting may be fairly recent, but I'm already discovering some interesting APIs that I can play with. The podcaster dashboard is tremendously useful and offers way more data than Apple and Google combined (with better reliability too), so the more I use it, the more I started thinking that it would be helpful for me to build some kind of automation mechanism to ingest the data into my own storage and then process it outside the default dashboard boundaries. In the process, I also spotted a little thing that I wanted to share with readers, and that is the ability to enable experimental features inside your podcast private view.