Posts

AWS CodePipeline

I started using AWS CodePipeline to automate deploys of my projects to dedicated EC2 instances. Here is a video explaining how to set up one of these pipelines.

Poker App

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.

My Hacked Site

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.

Basics of Hugo

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

Using CMake and swig to Connect Python to C

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.

Virtual Werewolves

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).

The How-To of the Nyan Cat Hack

After the Nyan Cat Hack, I wanted to learn how it was executed to get a better idea of what happened so that I could protect myself. This post is a simple description of how to replicate the hack. This is divided into two parts, the backdoor and the bootloader. Disclaimer: this is meant for education only. Do not illegally hack into other machines. The Backdoor CowCli, the malicious binary, had a simple set of NetCat commands embedded within it that allowed terminal access into the victim’s machine.

The Story of the Nyan Cat Hack

I was hacked once. Legitimately. It happened at the Capture the Flag (hacking) competition, Tracerfire. The structure of this competition was such that we played with a team and attempted to solve a series of increasingly difficult puzzles. Puzzles were organized into categories and the idea was that each team was supposed to divvy up their players to work on some category, asking for help from the rest of the team when needed.