Stuff (Personal)

blursed.py

December 11, 2019

Just because you can do something doesn’t mean you should! What started off as a (mostly) innocent attempt to mess around with code that modifies code ended as all such things tend to: simultaneously blessed and cursed. Read more about what unfortunately managed to be accomplished with Python codec abuse here here.

Source
Tags: Python, Open Source, Fun, Meta

  Blog Post (Home)
  Stuff (Personal)

Blockcard

April 1, 2019

An overcomplicated way to send people birthday cards through the power of blockchain. The repo is an implementation of the accompanying paper here which is probably more interesting than the tooling itself :)

Source
Tags: Python, Open Source, Fun, Tools

  Stuff (Personal)

Showdown.py

January 10, 2019

A Pokemon Showdown! client for Python 3.4 and 3.5. This was written to make it easier to write bots, interact with users, moderate chat rooms, and collect data. Takes advantages of Py3’s async features to allow multiple connections over websockets, maintain IO channels, and to integrate with existing IRC bots.

Source
Tags: Python, Data Collection, Web, Open Source

  Blog Post (Home)

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

  Stuff (Coursework)

⭐ Guavabot Rescue

Course: CS170 (Algorithms)
Term: Spring 2019

CS170 (Algorithms) at Berkeley has a long tradition of handing students an NP-complete problem and holding a competition to see who can produce the best computationally tractable approximation. Guavabot rescue gave a two layered problem:

  • Faulty sensing
  • Steiner-tree approximation

Team “go-bears'; UPDATE Teams SET score = 0 WHERE name != 'go-bears';” got rank 23 out of 320 groups. The important thing, of course, was that countless stranded Guavabots around the world were rescued.

As with other projects I can’t really reveal my group’s approach publicly since this project may resurface in future semesters, but if you’re 1) curious and 2) not planning to enroll then let me know!

Source | Specification

Tags: Python, Berkeley

  Stuff (Coursework)

Penetration Testing

Course: CS161 (Computer Security)
Term: Spring 2019

A close contender for my favorite security project. Students were handed an insecure webserver and tasked to find 7 exploits. It turns out breaking stuff is orders of magnitude more fun than making stuff!

Source | Specification

Tags: Python, Web, Berkeley

  Stuff (Personal)
  Stuff (Personal)
  Stuff (Personal)
  Stuff (Coursework)