Poker App let me explore a few technologies I hadn’t worked with to build a game I’m personally interested in, Poker. The Poker server is written in golang and stores data in MongoDB, and the client is written in Javascript using React and Redux. The client and server communicate primarily with websockets, and some HTTP to initialize the connection. Also, check out the project page. The Game Itself Poker poses a challenge for web apps because it has user to user, turn-based interaction and requires the server to selectively share state with players.

Read more

My old personal site got hacked and trashed. When I built it, I didn’t know much about the web world, and stumbled into a rough custom solution. I had stood up a MediaWiki server, which uses MySQL, as a place to record some project ideas. I was doing this funky thing where I would write a blog/project entry in MediaWiki’s markdown forms, and then convert them to HTML to display on my site.

Read more

I just set up a hugo blog, and am recording the useful commands here. Creating a New Post: You can create different types of content, which the theme must support. For example, this Academic theme supports type = ["post", "publication", "project"] jacobi@licobra ~/site $ hugo new <type>/new-post.md /home/jacobi/site/content/post/new-post.md created Changing the Theme: Browse the themes site Click the github link Clone the github page into <hugo root>/themes/<theme name> Modify config.toml

Read more

I started using cmake and SWIG on a project recently. This post is to document my experience with these technologies. Here’s a bit of background. The project I’m referring to, among other things, has an API, written in C, that hooks into MongoDB. Since it’s an API, I wanted to create a shared object so that I could implement various interfaces into it. The first interface I wrote was also in C, so linking to this library was no problem.

Read more

Virtual Werewolves is a program I wrote as a teaching assistant for Jed Crandall at UNM. He and his PhD student, Roya Ensafi, had a Cyber Security class, in which they wanted to teach their students about information flow and inference channels (via information leaks due to timing and storage attacks). So, I was tasked with developing a Linux game to demonstrate these concepts. The game I came up with was based off the dinner party game, Werewolves (which itself is based off of a game called Mafia).

Read more

Projects

Publications

  • Students Who Don’t Understand Information Flow Should be Eaten: An Experience Paper

    Details PDF Code Project