Go to homepage

Reid Main

iOS developer @Affirm

  1. About
  2. @reidmain
  3. Email
  4. GitHub

Grilled Mango Habanero Hot Sauce

When I first started getting into hot sauces I noticed the ones that incorporated mangos were always able to hit that sweet spot between taste and heat. The natural evolution of the grilled pineapple jalapeño hot sauce that I made seemed to be replace pineapples with mangos and jalapeños with habaneros. The hope is that the mangoes will keep (or even improve) on the sweetness of sauce while the habaneros will really give it that extra kick I am looking for.

Necessary Utensils

Ingredients

Preparation

  1. Cut up your mangos into one inch cubes totaling 2 cups. Mangos are notoriously tough to cut so don't hesitate to check out a tutorial on YouTube.
  2. Grill the mango cubes at medium-high heat. You do this to help bring out the sweetness and to add a little bit of caramelization. Remember to grill your mango cubes on all sides. You can move onto the other preparation steps while you are grilling because it will take some time.
  3. Cut up your orange bell pepper into quarters or eights. You just want to cut it up enough so the pieces aren't going to leave a lot of empty space when you put them into the blender. The blender is the great equalizer and is going to chew up everything but the smaller the pieces are and the less space there is between them the easier they will mix.
  4. Dice 1 cup of sweet onions. Like the orange bell pepper don't worry about being too thorough. 1 inch pieces will be fine.
  5. Chop up 1 cup of habaneros. Cutting them into quarters should be enough. Leave the seeds in for an extra kick of heat!
  6. If you decided to make your own lemon juice by squeezing some lemons do that now but the store bought stuff is totally fine.
  7. Peel 7 cloves of garlic out of the bulb. Put them in a bowl or cup for easy access when you are about to blend.

"Cooking"

When blending sauces you usually want to start with the liquids and then the spices to ensure they mix well. You can then add all of the solids on top.

  1. Add 2 cups of Bragg's apple cider vinegar to the blender.
  2. Add 2 tablespoons of lemon juice.
  3. Add 2 tablespoons of olive oil.
  4. Add 1 tablespoon of salt.
  5. Add 1 tablespoon of ground black pepper.
  6. Add 2 cups of grilled mango.
  7. Add 1 diced orange bell pepper.
  8. Add 1 cup of sweet onions.
  9. Add 1 cup of habaneros.
  10. Add 7 cloves of garlic.
  11. Turn the blender on and let it go to town. It is essentially impossible to "overmix" a hot sauce so I would say that whenever you feel the sauce is done actually wait 30-60 seconds longer because the sauce is probably thicker than you want.

Chow Down!

I went a little overboard when I actually made this recipe and put in 7 habaneros instead of 4-5. While I find this a to be a perfect amount of heat not everyone agreed with me. So while I did seem to hit that perfect mixture of mangoes and habaneros for myself, I recommend you err on the side of caution the first time you make this recipe.

All that being said this sauce was absolutely amazing for chicken wings.


🎮

🔗 Twenty Sided Tale: Wolfenstein 2 Retrospective

This isn’t an RPG. There aren’t a lot of complex leveling mechanics, branching storylines, moral choices, or philosophical conundrums for the player to puzzle over. The game throws Nazis in your way and you shoot them. This is a fairly simple game in both a narrative and mechanical sense. So why am I bothering to do a deep-dive on a linear shooter?

Basically, because I think the gaming press whiffed on this game. As of this writing, New Colossus is scoring an 88% on Metacritic. I realize that tastes vary and I’m not arguing that any individual review is wrong. If you think this game really is an 88% that’s fine. But this game is rated far above New Order and I think when you examine it closely it’s clearly inferior.

I honestly can't remember how long I have been reading Shamus Young's Twenty Sided Tale blog but it goes back at least a decade. I stumbled upon it when I was looking for write-ups of D&D campaigns and he had an outstanding one of a custom campaign that he ran for his friends. From those humble beginnings he transitioned into writing very poignant pieces about programming and video games, one of my personal favourite being his novel length vivisection of the ENTIRE Mass Effect trilogy.

His most recent retrospective on Wolfenstein II: The New Colossus is an outstanding breakdown of how a sequel that tries to improve on everything that came before it can actually find itself destroying what made the original great.


🎮

🔗 Jun's Kitchen: Homemade Ramen

Jun's Kitchen is one of my favourite YouTube channels and this video of him making ramen at home is undoubtedly one of his best.

I am in awe at the amount of time and effort he put into this dish. The precision of his movements, the attention paid to every minute detail and the patience he showed was just mind blasting. Also, who doesn't like to watch two curious kittens following along with the chef?

If you enjoyed this video I would also recommend you watch him prepare koi fish sushi as well as a mouth watering crepe suzette.


🎮

March 2018 Retrospective

When I started drafting this month's retrospective I was prepared for it to be really negative. I felt like I wasted too much time and that I didn't get as much done as I could have. Anyone who knows me wouldn't be shocked by that because I am a fairly pessimistic person. But as I started to outline all of the things I had done (referring to my Hobonichi Techo journal multiple times to be reminded of stuff I had forgotten) it became apparent that I really did have a productive month.

I'll go into much more depth about these things later on but here is a list of some of the things I did:

Now I am not saying there isn't room for improvement. I definitely did waste time and could have been more efficient but I want to make sure I realize that is more of a little improvement or optimization. What I have been doing has been working. I may not be super productive like some people but I am undoubtably moving in the right direction and want to make sure that I drive that point home.

Anyways, I'm going to hurt myself if I keep patting my back this hard so let us move on to the retrospective.

Health

March was an excellent, well let's not go overboard, let's say great month when it comes to health.

I continued to boulder three times a week and maintained my ability to do multiple V4s in a single session. I did fall short of the prediction I made in February where March would be the first month I did multiple V5s. While I did attempt multiple V5s, I was only able to complete a single one. However, those attempts were not half-assed and I came dangerously close to completing a couple. I have come to the realization that I am putting too much time into "warming up" and maintaining my current ability to do several V4s in a single session that I am not working on project routes as much as I should be. My goal for March now is to drastically cut the amount of time I spend on routes I know I can do and instead try to spend the majority of a session working on a route that I have never done.

I finally started doing yoga and sweet Jesus where has this been my entire life? Core Power Yoga hasn't only helped my flexibility but it is so strenuous that it leaves me sweating heavily at the end of every hour long class. After doing eight classes this month I am convinced that everyone should be doing yoga. I leave every class feeling energized and it has already helped improve my posture. So far I have only been able to introductory C1 classes but I hope that maybe midway through April I will be able to try out an intermediate C2 class.

Since I was spending five days a week doing either bouldering or yoga I slacked off when it came to weight lifting. Actually slacked off is being generous. I stopped lifting weights altogether and only managed to get on the elliptical a handful of times. I did make a couple of attempts to reach my goal of three sets of 30 push-ups but I after the first 30 my arms completely gave out on me. All of that being said I am actually not that upset because of the progress I was making on the other days. I am going to refocus these days to be mostly cardio and let bouldering and yoga help build my strength.

I am continuing to gain weight but I feel stronger and don't look unhealthy so I am not too worried. My clothes continue to fit and I feel great so I'm just going to chalk it up as more muscle and move on. That being said I will finally admit that my diet sucks. I have been deluding myself for far too long now. Eating out every night is not good no matter how "healthy" I try to convince myself the meals are. A baked chicken breast and some greens would undoubtably be better. Having a constant stream of carrots or grapes or apples is better than a tiny bag of chips or popcorn. I have been using work as an excuse to not prepare my own food for far too long now and I need to do something about it. The problem is, that at this exact moment, I cannot think of a solution which I will actually work towards and not just immediately abandon. I need to put some more energy into this and come up with something that I actually believe in.

Hobby Programming

While I did do a bit more work on the Git Leaderboard I don't think it was enough. I fixed a bug or two, wrote an actual README and started extending it to support multiple git repositories at once but all of these were small changes. I probably spent less than four hours total programming in March which does not feel like enough to say I actually did some hobby programming.

In February I wrote "I need to find a better way of integrating hobby programming into my day" and I barely made an effort to do that. I once again used the Git Leaderboard as an easy way out and really only worked on it out of a sense of guilt instead of genuine interest in the hobby.

I am going to write about this down below in the "Plan out my day" section but I'll give a little sneak peek here. The hope is that by picking an incredibly small problem and making it a goal to complete it by the end of the day I will kickstart my interest in programming. Setting a high-level goal like "work on Observables framework" can be self-defeating because you may not feel like you're making any progress. But with small, concrete goals like "create an Observables protocol and document its functionality" you should be able to say "yes, I solved this" and maybe even in as little as 10-15 minutes. But what I am banking on is that this is the first push of a snowball down a hill and that after I've solved that little problem I'll see something else I want to work on and I will organically continue.

While I would love to say my goal for April is to ship an Observables framework in Swift the much more realistic goal could be solve 5-10 small problems you set for yourself at the beginning of the day.

Read a book

The first (and last) time I read The Lord of the Rings was in 2003. I was a teenager who could just not wait for the film trilogy to be released and decided that I had to read all of the books first. I remember devouring them and even chastising Peter Jackson on the changes he made. How dare he leave out Tom Bombadil and how the hobbits actually got their Barrow-blades!

Now as an adult I find myself chastising Tolkien for writing about Tom Bombadil in the first place. I am only 10 chapters in (about 16% of the way through) and the majority of it has been an absolute slog. Tolkien doesn't appear to be a fan of Chekhov's gun and waxes poetically about things that turn out to be completely useless.

I am at the part where the hobbits are preparing to stay in Bree for the night and it feels like things may be picking up. I don't want to jinx it but hopefully those earlier chapters were Tolkien getting his legs under him and he will soon be hitting his stride because otherwise I cannot remember what I found so alluring about these books those many years ago.

Gaming

March actually turned out to be a much busier month for gaming than I had anticipated.

I continued to play Monster Hunter: World to absolutely no one's surprise. I have played over 140 hours of that game and have still only used the Charge Blade. Go back to my January and February retrospectives if you want to hear me gush over this game some more but just know that it is still the best game that has been released in 2018.

I also continued to play Into the Breach. Its fast pace and quick playthroughs make it really easy to keep saying "just one more turn". Also their brilliant achievement system, which acts as a form of currency, really helps guide you. Sometimes I open the game not knowing what I want to do, see an achievement I want to get and suddenly two hours have passed. Kudos to them for this amazing game design.

Also, I think I finally was able to identify the game mechanic from FTL: Faster Than Light that I was really missing in Into the Breach. In FTL you were always looking to purchase something. Your starting equipment, crew, etc was never enough to get you through the game. In Into the Breach your starting equipment is what you will end the game with probably 90% of the time. You will use the money you make in Into the Breach to power up your starting equipment where in FTL you would use it to replace what you started with. This led to you praying to RNGesus that the next shop you got to would have that one piece of equipment which could save your ass. While that may sound like bad game design it led to amazing playthroughs where I was able to cobble together equipment that synergized in some unsuspecting ways and I felt like a god. In Into the Breach you never really get that feeling. You just go through the motions and power up your starting equipment and use the same tactics over and over again. It is the reason why I feel that I will get bored of Into the Breach faster than FTL.

One thing I want to point out is that I understand why Subset Games did this. Every squad in Into the Breach synergizes so well with one another, and usually in ways you don't recognize at first. All their weapons and skills were meticulously designed such that you can always enjoy playing with them. This means that every playthrough of Into the Breach can be fun and result in your victory. In FTL you would routinely get dealt a bad hand where there was literally nothing you could do to win and your last 15-30 minutes of playing were pointless. I don't know what the solution to this problem is but identifying it was a "Eureka!" moment that I experienced which I wanted to share.

I also briefly played Burnout Paradise Remastered. I put about two hours into it and it is still the same perfect arcade racer that I played a decade ago. If you have never played Burnout Paradise and are in the mood for an arcade racer than you must buy Burnout Paradise Remastered.

At Elsie's behest I decided to finish off March by playing Far Cry 5. I haven't actually played a game in the Far Cry series since Far Cry 3 and even though I heard it was very derivative I remembered liking Far Cry 3 and decided to give it a shot. That was a huge mistake. Far Cry 5 is a horrible game that no one should play. Ubisoft's first-person controls on consoles are still garbage. The game has a field of view of like 65 degrees so you can barely see anything. Traversing the world is tedious, not interesting. There are several instances where enemies come to capture you and there is nothing you can do to prevent it. The villains are so comically evil that they aren't interesting. They have absolutely no nuance and are just batshit loco because they are all on drugs. And to top it all off, Ubisoft commits the cardinal sin of locking all of the interesting game mechanics behind perks that you need to unlock. I have absolutely no fucking idea how this game got through any sort of focus testing. God damn I didn't want to rant about Far Cry 5 and look what happened. Fuck this garbage and let's move on to thinking about April.

For April I see myself playing all of the same games with two exceptions. First, I want to get into playing Dota 2 again. Since I will be going to The International 2018 I wanna try to have a greater understanding of the game. Second, BattleTech comes out on April 24th and I am a huge fan of Harebrained Schemes and am very much interested in seeing what their next game will be like.

Plan out my day

I absolutely failed at this in February and tried to rectify the issue by not only setting my goals for the day but writing a few sentences about why I set them. If I didn't meet a goal I would then have to write about why and the hope was this would give me greater insight into what my motivations were and why I was failing.

I was able to maintain this habit for almost three weeks before I fell off the wagon and stopped completely. I looked back at all of my writings and the reasonings I gave were always superficial. There were a handful of times where what I wrote was actually insightful but everything else was not even worth the paper it was written on. The majority of my reasons for why something didn't happen usually boiled down to "I ran out of time" or "I was tired". Yeah no shit Reid. Welcome to the real world.

I think the reason this happened was because I felt obligated to write something down. I never wanted to. I thought it was going to help me but I immediately resented myself for having this stupid idea. It forced me to think about my entire day before I was really ready to and resulted in me setting myself up for failure which I then hated to see.

I don't think writing down goals is a bad thing. I want to continue setting goals every day but not be afraid of failing to meet them. These goals should just be a rough guideline of what I think is important that day. What I want to change is the requirement that I justify each and every goal. Instead I want to write in-depth about one important thing that I should get done that day. Maybe it encompasses a couple of goals, maybe it encompasses none of them. But I would like to look back at every day in April and try to understand what was the main thing that was motivating or driving me that day. I'm sure some will be very simple like "I want to spend time with friends" or "I want to relax and play video games". My hope is that if I force myself to do this every day I can gather a greater understanding of the days where I am truly productive.

Review

I am very impressed with the goals I set for March. I either knocked them out of the park or it was a bad goal I shouldn't have set in the first place. There was no middle ground.

Do yoga at least eight times.
Yup 👍🏻

Do three reps of thirty push-ups each.
Failed horribly. I can still do thirty push-ups in a row but my second rep never went higher than 20. In retrospect, this was a really stupid goal.

Build script for generating iOS framework projects.
I have been carrying this thing over from January and haven't made a single attempt so it dies this now. I will not be carrying it over again.

Publish Games of the Year 2012 article.
Yup. I am still amazed that I thought Halo 4 was the fourth best game of 2012.

Hotlink at least three things.

Make a hot sauce from scratch.
Wrote up the recipes for the grilled pineapple jalapeño and red habanero hot sauces we made.

Write about the motivations behind the goals I set and why I failed to keep them.
I already talked about this above but I only managed to do it for about three weeks and the reasoning was so shallow that it was not worth writing.

Play a new video game.
I played both Burnout Paradise Remastered and Far Cry 5.

Play year 4 of Kingdom Death: Monster campaign.
I kicked ass once again. Either I am playing this game totally wrong, I am super lucky or I am just a tactical genius. I am betting it is not the latter.

Read at least half of The Lord of the Rings.
I only got through 16% and it was like pulling teeth. Hopefully the next 84% is better.

Build the Gundam figurine Elsie bought me for Christmas.
I was a major pain in the ass but sweet Jesus it is stunning.

Conclusions

I'm not sure what more I can say about this month either than let's try to keep this momentum going and continue to improve moving into April. I hope to do that by completing the following goals:

#MonthlyRetrospective

🎮

Red Habanero Hot Sauce

After my successful grilled pineapple jalapeño hot sauce I decided to step up my game and move on to habaneros. I went with the second recipe from the Hot Ones video I mentioned previously but simply substituted habaneros for the scorpion peppers. I am not that crazy…yet.

I really loved how this sauce came out because the amount of habaneros we used resulted in a very slow burn that wasn't too overpowering. I was terrified that I was going to make this too spicy but everyone who tried it said it was the perfect amount of burn.

Necessary Utensils

Ingredients

Preparation

  1. Cut up your red bell peppers into quarters or eights. You don't have to worry about being too thorough. You just want to get them small enough so they aren't leaving a lot of empty space when you pour them into the blender.
  2. Dice 1 cup of sweet onions. Like the red bell peppers don't worry about being too thorough. 1 inch pieces will be fine.
  3. Finely chop your Italian parsley so you have easy access to 1 tablespoon of it.
  4. Chop up your habaneros. Cutting them into quarters should be enough. Leave the seeds in for an extra kick of heat!
  5. Peel 7 cloves of garlic out of the bulb. Put them in a bowl or cup for easy access when you are about to blend.

"Cooking"

When blending sauces you usually want to start with the liquids and then the spices to ensure they mix well. You can then add all of the solids on top.

  1. Add 3 cups of Bragg's apple cider vinegar to the blender.
  2. Add 2 tablespoons of olive oil.
  3. Add 1 tablespoon of salt.
  4. Add 1 tablespoon of ground black pepper.
  5. Add 2 tablespoons of Italian parsley.
  6. Add 1 cup of sun-dried tomatoes.
  7. Add 1.5 cups of red bell pepper.
  8. Add 1 cup of sweet onions.
  9. Add habaneros.
  10. Add 7 cloves of garlic.
  11. Turn the blender on and let it go to town. You can try to leave the sauce a bit thicker if you'd like but I found that whenever you think you've blended enough you actually should go 30-60 seconds longer because the sauce is probably thicker than you want.

Chow Down!

And there you have it. The second hot sauce I have ever made which amazingly turned out just as well as my first. I honestly expected to mess up the habanero ratio but somehow I hit it out of the park on my first try. As is customary, Elsie and I dressed some chicken wings with this sauce but it has proven itself to be capable for all dishes.


🎮

Grilled Pineapple Jalapeño Hot Sauce

I am a fiend for hot sauces and this year I finally took the plunge and started making my own. I am a massive fan of the YouTube series Hot Ones and followed the recipe that Queen Majesty a.k.a. Erica Diehl laid out in this video.

I highly recommend following the recipe almost to the letter because at this point in time you probably have no idea how the ingredients actually contribute to the flavour of the sauce (I know I didn't).

Necessary Utensils

Ingredients

If you watched the video you will see I varied one key ingredient. I chose to use Bragg's apple cider vinegar over white vinegar because not only did I have a bottle of Bragg's on hand but I absolutely love the taste of that vinegar and figured it could only help the sauce (and I was right).

Preparation

  1. Cut up your pineapple into one inch squares totaling 2 cups. You are going to grill the pineapple on all sides so you want to make them fairly small so they grill faster and are easier to grill thoroughly.
  2. Grill the pineapple slices at medium-high heat. You do this to help bring out the sweetness and to add a little bit of caramelization. Remember to grill your pineapple slices on all sides. You can move onto the other preparation steps while you are grilling because it will take some time.
  3. Dice 1 cup of sweet onions. You don't have to dice them very throughly. You just want to cut them up enough so the pieces aren't going to leave a lot of empty space when you pour them into the blender. The blender is the great equalizer and is going to chew up everything but the smaller the pieces are and the less space there is between them the easier they will mix.
  4. Chop up 1 cup of jalapeños. Like the sweet onions you don't have to be that thorough. Cutting them into quarters should be enough. Leave the seeds in for an extra kick of heat!
  5. If you decided to make your own lemon juice by squeezing some lemons do that now but the store bought stuff is totally fine.
  6. Peel 7 cloves of garlic out of the bulb. Put them in a bowl or cup for easy access when you are about to blend.

"Cooking"

When blending sauces you usually want to start with the liquids and then the spices to ensure they mix well. You can then add all of the solids on top.

  1. Add 2 cups of Bragg's apple cider vinegar to the blender.
  2. Add 2 tablespoons of lemon juice.
  3. Add 2 tablespoons of olive oil.
  4. Add 1 tablespoon of salt.
  5. Add 1 tablespoon of ground black pepper.
  6. Add 2 cups of grilled pineapple.
  7. Add 1 cup of sweet onions.
  8. Add 1 cup of jalapeños.
  9. Add 7 cloves of garlic.
  10. Turn the blender on and let it go to town. You can try to leave the sauce a bit thicker if you'd like but I found that whenever you think you've blended enough you actually should go 30-60 seconds longer because the sauce is probably thicker than you want.

Chow Down!

And that is it. Congratulations, you have made a delicious batch of grilled pineapple jalapeño sauce. I am sure you and whoever you choose to share it with will absolutely love it. This sauce can be used for almost any occasion but I would particularly recommend using it to dress some chicken wings.


🎮

🔗 The Future Of [weak self] Rebinding

For a few major Swift versions the following code is allowed to work with weakly captured self:

guard let `self` = self else { /* … */ }
// proceed with non-optional self

It’s a wide-spread pattern today. The consensus from past discussions is that this has been a compiler bug. Ways to fix it have been suggested.

I am a huge fan of this "compiler bug" because it is what the Swift language naturally pushes developers towards. The concept of guarding against something you want is drilled into Swift developers and one of the most common things you want to guard against is the [weak self] you should add to almost every closure you create.

The alternative solution to this problem is usually something along the lines of

someFunctionCall { [weak self] result in
    guard let strongSelf = self else {
        return
    }

    // Remember to use strongSelf instead of self inside the closure.
}

which I am not a huge fan of because it still allows developers to use the weakly referenced self inside the closure. Sure they won't accidentally create a retain loop but you will inevitable have developers who forget to use strongSelf for a myriad of reasons and gunk up your closure with all sorts of optional checks and unnecessary optional chaining. You can combat this with thorough code reviews but unless you have draconian linting (which is very difficult in Swift currently) this sort of abuse will find a way to slip through the cracks.

I believe the answer to this problem is that self should be weakly retained inside all closures and some sort of [guard self] language feature could be added to allow us to quickly strongify self.

With my solution the above example would become:

someFunctionCall { [guard self] result in
    // Proceed with a non-optional self.
}

One major shortcoming with this solution is that you cannot react if self has become nil. A fix for that could be the ability to pass some closure to [guard self] such as

someFunctionCall { result in
    [guard self] {
        // Do something if self has somehow become nil.
    }

    // Proceed with a non-optional self.
}

While I realize there are dozens of other performance and stability problems with Swift that are of higher priority, I hope that issues like this do not fall to the wayside for too long. Workarounds for this design shortcoming in the Swift language are already polluting tens (if not hundreds) of thousands of projects and the longer it goes unaddressed the harder it will be to migrate to the universally accepted solution.


🎮

🔗 Michael B. Jordan on Hot Ones

"You know what? It's hard to like look at you and actually really try to care about what the fuck you sayin'. It's like sometimes it's like man yo I don't care what he's talking about right now. Like what?"

Guests on Hot Ones always try to put on a brave face but the spicy wings eventually tear down a person's reservations and Michael B. Jordan is no exception.

I particularly loved this interview because it is inspiring to see a young, rising star in Hollywood stay grounded to the life that they came from. Too often you hear about how the money and fame go to peoples' heads but Michael B. Jordan comes of as an extremely talented individual who is not just thinking about himself.


🎮

Games of the Year 2012

I have created a text file every year since 2010 that lists every game I played that year and the order in which I enjoyed them. Now that my blog is operational and I started the #GamesOfTheYear tag in 2017 I felt it was time to look back at those text files and record them here for posterity.

I am going to attempt to not write too much about each game because otherwise it will take me weeks if not months to transcribe all of these text files. My goal is to write a simple one or two line description of the game and what I think I felt about it back when it was first played.

1. The Walking Dead

I did not play Telltale Games' The Walking Dead when it was first released because I was not a fan of episodic games. I did not like the idea of having to wait months (if not years) to be able to completely finish a story-driven game. When the final episode of season one was released in November of 2017 I gave in and could not have been more pleased with my decision. The Walking Dead is an absolutely amazing game that everyone should play.

The characters were well written and had true growth as the story progressed. The post-apocalyptic landscape weighed down the survivors and you could see them change with every gut-wrenching decision that had to be made. This is one of the few games where the decisions I made truly haunted me. They weren't all "choose X or Y and someone will die". Seemingly insignificant choices could slowly snowball and before you knew it you were headed down a path towards tragedy where your only outcome was to try and choose the lesser of two evils. By the end of the game I had crafted a story that was strictly my own. The writers and designers gave me the pieces but I put them together into something that was truly personal.

2. XCOM: Enemy Unknown

My favourite video game of all-time is X-COM: UFO Defense. I wrote fanfic for that game for fucks sake! So when a spiritual successor called XCOM: Enemy Unknown was announced I was over the moon and completely terrified at the same time. I was paranoid that the developers at Firaxis would try to update the game for "modern audiences" and take away what made the original so special to me. Luckily, Firaxis had an ace up their sleeve in the form of their lead designer, Jake Solomon, who was just as crazy an X-COM fan as I.

While they did modernize many aspects of the game (I still want action points but understand why they reduce it to just two actions per character) the core concepts were still there. Taking a small group of soldiers into combat with equipment and weaponry I built and making tough tactical decisions where mistakes would routinely cost my soldiers their lives. That is X-COM. I got just as attached to my soldiers this time around as I did almost 20 years ago when I played the original game.

After many "That's XCOM baby" moments (such as my highest ranked soldier panicking and killing my second highest ranked) I finally managed to beat XCOM on Classic Ironman difficulty which I still consider to be one of my greatest gaming achievements.

I will leave you with this anecdote as a sign of how much I loved this game. At PAX East 2013 I stumbled upon Greg Foertsch and Jake Solomon sitting on the steps behind the 2K Games booth. I proceeded to quietly shamble around the booth hoping to find a way to talk to them when another Firaxis employee, Pete Murray, noticed me and asked if I would like to be introduced to his colleagues. I somehow managed to say yes and not only got to have a conversation with some of my video game heroes but they also signed my PAX badge. I don't know what else I need to do to convince you how much I loved this game.

3. Dishonored

I am usually not a fan of stealth games because I typically do not have the patience that is required. But stealth-action games have been making a comeback recently (see Deus Ex: Human Revolution) and so I decided to give Dishonored a shot.

I was not prepared for the truly open world, non-linear gameplay that Dishonored provided. The amount of ways you could tackle every level was flabbergasting. I never felt trapped or forced into a certain solution to a problem. I would just wander around until something worth investigating caught my eye and then usually be shocked to see how I could leverage it to solve my problem. Also the game prodded you to play in a non-lethal manner which I usually dislike but this time it was just enough of a push to make me think beyond the default "murder and hide the body" solution.

The story was engaging (if not a little tropey) but it was the environments that really sucked you in. Each level felt like a real place that people inhabited and not some playground that was build just for the player. Exploring all the nooks and crannies would always reveal something interesting and potential useful to your current predicament. Even to this day I think that Dishonored has two of the greatest levels in video game history. The masquerade ball and brothel will be used for decades as perfect examples of how to make non-linear levels.

4. Halo 4

I am utterly shocked that Halo 4 is rated so high. I have absolutely no positive memories of this game as of 2018. Looking back at my Twitter it seems like past-Reid found the campaign rather meh and was not a fan of the enemies. Apparently the multiplayer was decent and I probably enjoyed playing the co-op with some of my University buddies but I still can't believe this is rated the fourth best game of 2012.

5. Pokémon White 2

For my Games of the Year 2011 article I wrote "I honestly don't remember playing Pokémon White" and I could write that exact same thing for this article except with a 2 appended to the end. Seriously, my mind is thoroughly blank when it comes to Pokémon Black 2 and White 2. Was I drunk or something when I made this list?

6. Counter Strike: Global Offensive

It is impossible to look back on Counter-Strike: Global Offensive and not be bias. It has become one of the perennial eSport's and I may have watched more CS:GO than played all other games on this list combined. I honestly can't even remember what Counter Strike: Global Offensive was like back in 2012 because it has changed so much in the last six years. I even went back to CS:GO in 2015 when a couple of friends picked it up again. Those are the kinds of legs this game has.

7. Diablo III

In my mind Diablo III was a complete failure because of the real money auction house. It changed the core component of Diablo which was always looking for that next loot drop because it may be a sick new weapon or piece of armor that could make you so much stronger. In Diablo III they made it so 99% of the loot that was dropped was useless to you. You would sell all your loot for gold, buy the best gear you could afford from the auction house and then rinse and repeat. Sometimes you would get some enjoyment out of fighting the enemies but mostly you were in a boring grind for gold to buy yourself some new armor that someone else had found.

Blizzard eventually realized the boneheaded mistake they had made and killed the real money auction house and improved loot drops but by then I was long done with the game. There were too many other great games worth playing to come back to one that was so hostile to its players.

8. Far Cry 3

"Did I ever tell you the definition of insanity?"

Every time I think of that quote I get shivers. Vaas Montenegro is one of the greatest villains ever in a video game and he elevated Far Cry 3. I was excepting a very rote story and while it was that in many ways, every time Vaas appeared on screen Michael Mando's amazing performance would just reach out and grab you.

You combine that with an open world that was packed to the brim with things to do and you had the recipe for a fun game. Random enemy outposts that you had to conduct surveillance on before going John Wick on their asses. Massive "Ubisoft towers" to locate and climb. Hunting animals to craft better weaponry and equipment. Fucking hang gliders that you could fly around in!

One mission I will never forget is where you had to burn down some marijuana crops and while you are doing so Make It Bun Dem by Skrillex and Damian Marley is playing on repeat in the background.

9. Fez

Not much to say about Fez. It is an interesting puzzle game with a unique mechanic that I just got bored playing after about an hour or so. I cannot say anything particularly negative about it other than it was just not that interesting to me at the time.

10. Kingdoms of Amalur: Reckoning

Kingdoms of Amalur: Reckoning is a fairly standard third-person action role-playing game. I was excited for it because it was designed by Ken Rolston (lead designer of Morrowind) and written by R. A. Salvatore (author of the Drizzt novels). However after playing it for a couple of hours the combat and the story just didn't grab me so I put the game down and just never picked it back up again.

11. Mass Effect 3

I could (and probably should) write a whole series of articles on Mass Effect 3. But let's try to keep this as brief as possible. Yes it was an amazing game. Probably better than Mass Effect 2 in almost every way. There was tons of fan service for the diehards who had played every game in the trilogy. Like The Walking Dead, you had to make really hard decisions that had far reaching consequences. Many props need to be given to Bioware for Mass Effect 3.

So why is it so low on my list? Because of the ending. Even six years later I still cannot begin to forgive it. The Mass Effect series was built on the idea that player choices meant something and it carried this through 99% of the trilogy. But then at the very end of Mass Effect 3, it throws all of those choices away and commits the cardinal sin for the ending to a story. It presents you with a deus ex machina decision. Did you want the red, green or blue ending? The entire universe is going to be altered by this change so absolutely nothing you did previously matters.

I loved Mass Effect 3, I truly did. But I do not think I will ever be able to overlook how it was ended.

12. Assassin's Creed III

Assassin's Creed III was just a boring game. The cities were bland and the architecture was not interesting to traverse. The forested areas were even worse. I don't understand who thought a game franchise that was based on parkouring across rooftops needed to go to sparsely populated wooded areas. The combat was uninteresting at best and frustrating at worst. The main character was monotonous and had almost no growth over the entire game.

And like Mass Effect 3 it had a absolutely horrible ending which is why it is the worst game I played in 2012.

#GamesOfTheYear

🎮

🔗 Why I Quit Google

Michael Lynch on Google's promotion process:

My first denied promotion taught me the wrong lesson. I thought I could keep doing the same work but package it to look good for the promotion committee. I should have done the opposite: figure out what the promotion committee wants, and do that work exclusively.

I adopted a new strategy. Before starting any task, I asked myself whether it would help my case for promotion. If the answer was no, I didn’t do it.

My quality bar for code dropped from, “Will we be able to maintain this for the next 5 years?” to, “Can this last until I’m promoted?” I didn’t file or fix any bugs unless they risked my project’s launch. I wriggled out of all responsibilities for maintenance work. I stopped volunteering for campus recruiting events. I went from conducting one or two interviews per week to zero.

It is sad how often I have seen this sort of thing throughout my career, especially in Silicon Valley. A lot of companies brainwash their employees into believing they are on some sanctimonious mission to instill a sense of loyalty or indebtedness. They want their employees to feel lucky or honored for the opportunity to work for the company.

This usually results in younger employees working themselves to death because they don't have many obligations outside of their job. I have seen a number of young developers get strung along with promise of advancement and they did so without complaint because they thought the company knew what was best for them.

Eventually the employees have their moment of self-actualization and realize that they are a cog in a machine whose primary goal is to make money. Sometimes this can be a healthy thing and by realizing this an employee can learn to strike a good work-life balance. Unfortunately, what I have mostly seen is a sense of resentment unfolds. This leads to either the employee quitting or, and what I feel is worse, taking a "rest and vest" attitude because they know they can get by on doing less work.

I wish I knew a solution to this problem. Five years ago I thought I would be working for the same company for the next decade. Now I can't be certain I will be working for the same company for the next year. For those of us in the tech sector (or maybe just those of us in Silicon Valley) there is little impetus to stay at a job long term.


🎮