Welcome to my website!

This section is where I write about interesting things that I've worked on or encountered. You can find out more about me in the about section. If you're looking for a specific topic you can click on one of the tags listed below. Otherwise feel free to explore the blog in order of recency.

Android   Berkeley   Bugfix   C   Data Collection   Dataset   Design   Firebase   Fun   Game   Go   Hackathon   Java   Meta   NLP   Open Source   Python   Recursion   Robotics   Rust   Teaching   Tools   Transportation   Visualization   Web   Workflow  

Starting my own personal wiki

November 22, 2019
Tags: Tools, Workflow

“Think of the @TiddlyWiki as a markdown processor with a Turing-complete turbo-charged hyper-drive that becomes your external brain. Start intertwingling your ideas. Simple TWs use just markdown - but advanced TWs can do virtually anything.”

Joe Armstrong, creator of erlang

Read More

Python Decorators: Not just for decoration

January 14, 2019
Tags: Python

Python decorators are syntactic sugar that most people will run into while working with web frameworks such as Flask or Bottle. For example, the following snippet from the Bottle documentation uses decorators to specify a route:

Read More

Rock, Paper, Scissors, Fire, Water, Grass

January 1, 2019
Tags: Python, Data Collection, Game

For those unfamiliar with the finer details of competitive Pokemon, it’s basically just a fancy version of rock, paper, scissors. While RPS gives each player 3 options, a turn in pokemon consists of around 4-9 possibilities for each player. Each player then reveals his or her choice simultaneously, and the results of their actions play out. This makes it different than games like Tic Tac Toe, Chess, or Go where only one player is “in control” at a time, and instead more like a game of Poker where two players are forced to reveal their hands at the same time.

Read More

This title consists of two a's, one b, tw...

December 19, 2018
Tags: Fun, Meta

Full title: This title consists of two a’s, one b, two c’s, two d’s, thirty-one e’s, six f’s, four g’s, eight h’s, eleven i’s, one j, one k, three i’s, one m, eighteen n’s, seventeen o’s, one p, one q, seven r’s, twenty-eight s’s, twenty t’s, four u’s, five v’s, six w’s, three x’s, four y’s, and one z.

For real! Test it out (or just take my word for it)!

Read More

61B Roguelike Game

July 2, 2018
Tags: Java, Game, Berkeley

While the previous class related post was on the first project of CS61A, this is skipping straight to the second project of CS61B. There were 4 or 5 projects in between the two, but my main problem with them was that for the most part they were nothing more than fancy fill in the blank exercises. This project changed up that format by giving a ton of freedom to the students in terms of implementation.

Read More

Hog Contest (Part 2)

June 15, 2018
Tags: Python, Berkeley

Picking up where we left off from Part 1, so far we’ve found a way to generate an optimal strategy for the game of Hog by recursively calculating which moves would be the best. While effective, it certainly wouldn’t have made for much of a contest if everyone who came up with this approach were tied for first. Luckily, the professor was likely aware of this possibility, and threw a wrench into the probabilistic method by forcing the strategies to work with incomplete information.

Read More

Hog Contest (Part 1)

June 1, 2018
Tags: Python, Berkeley, Visualization

The first project of my first CS class at Berkeley was to write the logic for a modified version of the dice game Hog. The game itself is pretty simple (roll die to score points, first to 100 wins), and the project was more a less just a warm-up to get everyone used to Python syntax and higher order functions. The extra credit option, however, was a bit more interesting.

Read More

Hello World!

May 25, 2018
Tags: Meta

Hello world! I just finished my first year at university, and I thought it would be neat to share some of the projects I undertook throughout the year somewhere, both personal and for classes. If you’re interested in anything you see or have any feedback, feel free to contact me at chriswong21@berkeley.edu.

Read More