Four Months of Alternative Controllers

March 5, 2017

How do you interact with a computer?

Chances are the first thing that comes to your mind is the keyboard and mouse, or a keyboard and laptop trackpad. Those more used to mobile devices might point out the touchscreen. Technically-savvy readers might point out the other sensors and systems that are typically included in today’s computers and mobile devices, like cameras, microphones, or motion detectors. Gamers might hold up the button-filled game gamepad as their interaction method of choice.

But are those the only ways? What other methods of interaction are there? Can we get creative with them?

Those are the kinds of questions I was asked during the Spring 2016 semester, when I signed up for NYU Tandon’s Beyond the Joystick course. Taught by Kaho Abe, it’s a course based around rapid prototyping of alternative computer interfaces, with a focus on interactive creative systems such as games and art exhibitions. It tasked us with creating a new controller, and associated game or application, nearly every single week over the course of the semester.

I’m going to take you on a quick whirlwind tour of a few of the projects I built, going a bit into the motivations behind each, talking a bit about the kind of sensors used, and relating some of the lessons I learned.

Read more…

Scenes from New York

June 14, 2016

It’s been about nine months since I first came to New York City. I’ve reached the end of my first academic year of my Master’s degree, and with that comes a bit of time for reflection. I’d like to take the time to share with you guys some of the little moments I’ve had around this city, and maybe give you a bit of a taste of what it’s been like.

Read more…

Notes on Programming Languages

May 30, 2016

This past semester, I took a course on Programming Languages at NYU’s Courant Institute of Mathematical Sciences as a part of my ongoing Master’s degree in Computer Science.

Because of Professor Benjamin Goldberg’s clear and methodical presentation of the subject matter, and because this is a subject I found myself pretty comfortable with, I ended up taking some pretty thorough, detailed notes while in class. A few classmates I shared them with thought they were very useful.

I thought it would be a shame to keep it to myself, so I’ve put them up online here. Hopefully this will be useful not just to my classmates (to whom I sent this link before the exam) but also to students taking this course in the future, or anyone who has an interest in programming languages.

You can access the notes here.

Extracting Audio Messages from WeChat

December 4, 2015

Want to skip the chatter and just find out how to extract and convert WeChat audio messages? Click here to skip to the instructions.

WeChat (Chinese: 微信, wěi xìn) is a chat app popular in mainland China and used by many Chinese immigrants around the world. It’s a staple in China as much as Facebook is here, being used by pretty much everybody who has a smartphone. It was also far ahead of introducing features that are now standard in most chat apps: things like stickers, “share” messages from other apps, and audio messages were present in WeChat long before they made their way to services like Facebook Messenger.

Audio messages in particular are an interesting case: because Chinese text input is more complicated than English, many Chinese people just prefer pushing a button and speaking a short message to their friends than trying to type it out. It allows for much quicker messaging when you’re on the move.

Recently, I found myself wanting to extract some WeChat messages from my chat logs for use in a personal project. The problem is, WeChat offers no opportunity for bulk exporting chat logs: the most you can do is email a small, hand-selected set of messages to yourself, and that only brings across text content. So I found myself realizing that if I was going to do this, I needed to do it myself.

Read more…