Codebreaker (Game on Google Sheets)

I discovered the game Codenames a few weeks ago through my friend Sabrina. It’s a really simple and fun word association game that has kinda caught fire among a few of my disparate friend groups here in SF. It’s a great party game for 6 or more people, that I’ve found myself playing quite a bit recently. I figured it would be nice to build an online version so we don’t have to worry about bringing the box everywhere, spills on the cards, etc.

Each team chooses a captain who will be giving clues to their teammates. A 5×5 grid of random words is created, for example:


A hidden key pattern is also created, but is shown only to the captains:


In the version I made, red and blue are the colors for the teams, gray is neutral, and orange is the instant-loss square.

The goal of the game is for the captains to give one-word associative clues to help their team identify their team’s words on the board (while trying to avoid words of all other colors) along with a number of words to be guessed. For example, if it is the red team’s turn, the captain could say “Princess for 2” in an attempt to get their team to pick Barbie and Daisy.

Their team then discusses for a reasonable amount of time and starts picking squares to check. During the discussion, the captain should not give any visual hints or reactions, but he or she should definitely be listening to where their team’s groupthink is headed. If the team reveals a square that isn’t one for their team, their turn ends immediately. Each team can pass at any time during their turn, and can guess one word more than the number their captain says (in case they passed earlier). There’re also other minor rules like restricting rhymes, proper nouns, parts of speech, etc. but I prefer to leave these as house rules.

If anything isn’t clear on the gameplay, this video is a bit long (10 min) but seems to do a decent job explaining:

Anyway, I buried the lead a bit I guess, but here’s the link to my sheet… feel free to make a copy to play (File -> Make a copy). The idea is that you connect a computer to a projector or TV, and the captains access the captain board on their phones, or a separate computer.

Everything is controlled through the “Codebreaker” menu. “Generate new board” reshuffles the words in the wordlist tab, “Generate captain board” creates a new hidden pattern, “Check selected cell” reveals the hidden color for the selected cell, and “Clear board” clears the colors from the board.

Codebreaker Menu

I used Google Sheets because everybody has access, and I’ve wanted to play around with Google Apps Script for a while. It’s actually pretty well documented, and examples were easy to find. The project overall was pretty simple and only took a few hours for me to complete, most of which was spent inefficiently, typing out 500 words into the word bank while watching movies.

EDIT: Speaking of words though, I’ve had a few friends ask me how to add/edit the word library… It’s pretty simple, just be sure to make your own copy of the spreadsheet, or anybody accessing the original will be able to mess up your game.


To edit the wordlist, just go to the wordlist tab and add words into column A. Just be sure to drag the formula from column B down to cover any words you add, just like in excel. Alternatively you can just type the function “=rand()” into column B next to any words you add. In this example, I’ve added the word Slipper, and to complete the addition process, I can just drag the bottom right corner of B500 into B501.


I don’t plan on really maintaining or further developing this because it’s pretty functional for what my friends and I need, but there’s just a couple of things I’ll try to complete sometime:

    – Randomize red/blue team starts. Right now, the red team always goes first (and has an extra word to guess)
    – Keep track of points scored by each team
    – Make a better UI experience via having control buttons on the sheet.
    – I would like to create a better way to get the link to the captains’ phones, and maybe make it easier to not accidentally show the captain board, maybe via a password protect.
    – I could also include the instructions for how to use the sheet, but ehh I think it’s pretty self-explanatory.

Have fun!

Political Speculation for Funsies

Even though it’s already been 2.5 weeks since Cruz and Kasich dropped out (it feels much longer though, doesn’t it??), I’m still in a state of disbelief that Trump actually won the GOP presidential nomination. For me personally, this situation illuminates how much of a bubble I still live in, despite my efforts to look outside of it and understand different perspectives. Clearly there’s still a lot of pain out there driving so many voters into the arms of such an authoritarian candidate who built his platform by playing on fears.

Denial is the first stage of grief, so I figured it would be fun to come up with some House of Cards-esque (admittedly far-fetched) scenarios which would prevent both Trump and Clinton from getting into the White House. Keep in mind that this is fun speculation, a ton of wishful thinking on my part, which evolved into a joke that has actually been kinda therapeutic for me.


Strengthsfinder 2.0 Review

This is my first ever shutdown week with Amgen, and I’ve got to admit that it’s pretty sweet. Essentially, it’s a forced week long vacation in the middle of the year, and when I get back next week, I won’t have a billion emails to trudge through. However, this week really snuck up on me—I was bad about making plans ahead so just ended up buying some last minute plane tickets to NYC for Independence Day weekend.

I’ve used this extra time to primarily work on myself literally—in a self-portrait and more figuratively though the Strengthsfinder 2.0 book and online test. I am typically a bit skeptical of stuff like this because of the Forer/Barnum effect (vaguely worded predictions so anybody can read anything from it… think: horoscopes & fortune tellers), but I figured it might be an interesting exercise to complete and think about.

Looking Forward to The Martian

TL;DR: You should read the book The Martian as soon as possible. It’s a wonderfully nerdy survival novel that is well thought out, well researched, and filled to the brim with details and cool ideas. I’m cautiously optimistic about the movie coming up. I hope it can maintain the book’s humor (so far so good with Damon the trailer) adherence to realism. There’s no spoilers below (which was kinda hard >.<) and I really want somebody to talk about this book though, so let me know if you’ve finished it too :D. When I first saw the trailer for The Martian, I thought it looked like a prequel for Interstellar (more on this later). Matt Damon gets stranded on a lifeless alien planet… it’s as if he’s been typecast. Instead of being an asshole this time though, he delivered hilarious lines that really hooked me (cause I’m a nerd): “I’m going to science the shit out of this” and “I’m going to grow stuff… On a planet that nothing grows on”.

The trailer introduces the basic plot—it’s essentially a rehash of the classic survivalist story. Think The Hatchet or Robinson Crusoe ‘cept much cooler ‘cause Mars. Main reason why I took a look at the book at all was because it was cited in the trailer as source material. I was pretty amazed at its spectacular 4.6 star rating on 10.6k Amazon reviews. I grabbed a copy since I needed a book to read during upcoming travel to Madison for Sylli’s wedding and back to SFO. Funnily enough, on the drive up to the wedding, I found out that Jeevs and Richard had both also bought the book at pretty much the same time I did, after watching the trailer.

This was $5 well well spent. I simply devoured this book. Seriously. I read all 369 pages in less than 5 hours, in a single sitting. I can’t remember the last time anything consumed me so thoroughly. The book maintained tight pacing, an unpredictable plot, and great humor while remaining firmly grounded in science. I appreciated the unique writing style (keeping this vague on purpose ‘cause spoilers) the author Weir employed—it made things more surprising and helped round out the world he created.

However, the best part of the book was all of the technical detail that went into all of the scenarios. I’ll admit that I was nerdy enough to double-check some of the calculations myself, and was thoroughly impressed with the fact that Weir clearly did his homework.

As a mechanical engineer, I empathized with Watney (the character Damon is playing) and admired his entire approach to survival. His ability to balance careful analysis and quick reactions to come up with creative out of this world (hehe) solutions to problems all while remaining light-hearted is very impressive. The guy is pretty much a stud. I could only hope to remain as collected, ingenious, and sane if I ever found myself in a relatable situation.

Now about the upcoming movie, I really don’t want this to end up like Interstellar. Don’t get me wrong, the visuals were spectacular and we were in the middle of the McConaughnaissance, but my expectations were set too high. Nolan’s recent success with the Dark Knight Trilogy and Inception along with the fact that he used IMAX cameras mounted on the nose of a friggin plane to get some of his shots really fed the hype machine. I thought the movie was decent to good, but I was expecting great.

Ridley Scott is the director for The Martian and as a director he’s had some really great films (e.g. Blade Runner, Alien, Gladiator, Black Hawk Down), but some of his more recent movies have been of questionable quality (Prometheus, Exodus: Gods and Kings, etc.) Scott definitely CAN do good sci-fi, but I hope he hasn’t lost his touch.

Drew Goddard is doing the screenplay for this movie. He was an executive producer for Netflix’s Daredevil and wrote the first two episodes. He also did screenplay for World War Z, which was very different from the book, but still an acceptable movie. The most worrying thing on his resume for me is the fact that he wrote screenplay for the craptastic Cloverfield movie. The good news is that it seems like his writing has gotten progressively better.

It’s a great sign for the movie that the footage that made it into the trailer was good enough to inspire me and two of my friends to pretty much buy the book immediately. This story is a goldmine of great original material. I feel that as long as Scott/Goddard can maintain the book’s scientific basis and Damon can nail Watley’s character (so far so good with the limited shots from the trailer) it will be a great movie. Fingers crossed!

Flight Review

Fair warning, this is gonna be a rant, but writing angry emotions out like this is fun and hopefully it’ll be entertaining to read too. Nothing drives the willingness of people to write stuff online like a bad experience. On Saturday morning, I flew from SF to Chi with Southwest. The airport, airline, crew and aircraft were all great—in fact I got a super legroomy window seat on this brand new 737 (800 series I think). The only bad part of the row I was in was the fact that the seats didn’t recline… but the extra legroom plus window seat more than made up.

About Scheduling

Time flies so quickly. I can’t believe it’s almost April already, and I haven’t made time to write about the many topics I’ve wanted to. My stuff is all here and pretty much unpacked, my computer is up and running, I’m getting my car stuff with the DMV all taken care of this week, and my schedule is starting to coalesce, so now I’m pretty much out of excuses.

Moving Moving Moving

Moving always has and always will be a huge pain overall. Packing boxes, sorting things, carrying furniture up and down stairs, it’s all just very unpleasant. It doesn’t mean every aspect of the process is negative, though. I’ve moved a number of times over the past few years for school and work—longer moves being Illinois to California to Milwaukee to DC to Boston to San Francisco.

PAX South

Winter storm Juno hasn’t quite hit Boston yet, despite the predictions calling for her wrath last night. It’s fine by me, and figure a good chance for me to write about my more recent travels. Early last week I was in SF for an interview, I flew back to Boston and then flew out to San Antonio for the first ever PAX South.

2014 in a Nutshell

If I needed to describe the past year in a single word, I would use either spontaneity or coincidence—both encapsulate how crazy surprising life can be. For me, 2014 has been unpredictable, full of fun, friends, and growth.

In a few of my social circles, I end up playing the role of activity planner. As my friends and I are older and more ‘responsible’, it’s tough to balance everyone’s schedules sometimes, so I’ve just found it much easier to play things by ear. During the spring and early summer, we planned a ton of movie trips and concert attendances just a day or so in advance and it usually worked out really well.

After I found out about the plant closing, I had the opportunity to really explore. Belize and Peru were planned and booked just a few weeks in advance; I went with no super concrete plans. For Peru, I basically just booked my flights into and out of the country along with a hostel for the first few nights for altitude adjustment. While I had set distinct goals of visiting Machu Picchu and the Sacred Valley, I left the details like when and how I would go flexible. If I hadn’t done this, I probably wouldn’t have gone white river rafting, which ended up being a huge highlight.

While I was able to live whimsically and carefree on a journey of global exploration and self-reflection for a few months, there were parts of the year that made the world seem very small indeed. It may sound a bit self-centered, but it almost felt as if fate had a hand in crafting some of the coincidences I encountered… 😛

Just a few weeks ago, I crashed at George and Chia’s condo that they just bought in SF. The next morning, Tiffany was able to get out of the office for a bit, so we decided to grab lunch. Since Chia works from home, she was able to come too and meet Tiffany. It turns out that Tiffany’s boyfriend was the last tenant in the unit that they bought, right before the previous owner decided to sell. It was a pretty ridiculous situation. In another instance, I was literally just walking down the streets of Chicago, going to meet my friend Stephanie for lunch. Of the 2.7 million people living in the city, my friend David was sitting outside at a restaurant and called me over. I last saw him when I was living in Wisconsin, almost three years ago. The crazy thing is that almost the exact same thing it happened again, this past week. This time though, it was my friend Chris, who was David’s roommate back in Wisconsin, and I ran into him on the blue line at 9 in the morning, haha. One last Wisconsin connection—I was at a nightclub, celebrating a friend’s wedding after party, and out on the floor I run into Miles, who worked with David and Chris. It is a small world indeed.

A lot of the friendships I “made” this year were more like rekindling of acquaintances. There are a surprising number of people from my high school out in Boston. I found that even if we didn’t hang out in many of the same circles back in the day, it was super easy to connect again and have fun together. We all have a ridiculous number of mutual friends (a given with a class size of 184 and total school size of 640…), have fairly common interests, and can reminisce together about the good ole days.

I feel that social media has an amplifying effect on the generation of coincidences. I had a ton of visitors come to the Boston area this year… some of them I learned about through Facebook. One of the best coincidences to happen through social-type media came through email on a national mailing list that I’m on. I almost always just delete emails from this list without reading them. However, this time, I decided to open it and saw that some guy named Alan was moving to Boston for a year of residency. My roommate, Deep just happened to be moving out due to a job rotation, so the timing was perfect and I figured I would reach out. Alan moved in and it was a start of a really fun era—we got along really well and had some great times together before he moved out to NYC this year.

Honestly, 2014 was a really abnormal year. I definitely could not have predicted even an eighth of the things that ended up happening. I feel absolutely blessed to have the support of the best family ever and the most fantastic friends anybody can ask for. We’ve had good times together this past year, have learned and grown a lot, even if there are really troubling things happening in the greater world.

Here’s to the future—may 2015 be even better than 2014!

Thoughts on Ferguson

In the past, I have typically avoided really commenting publicly on more political and controversial topics like what is happening in Ferguson. Simply put, it is uncomfortable. However, I now feel that it is also important not to be apathetic. There is no arguing that this event is not a tragedy, we should take some time to personally reflect upon it. I am not an expert by any means, but I have thought a lot and have had some meaningful conversations.