For my CIS 565 ”GPU Programming and Architecture” (University of Pennsylvania, Spring 2012) final project, I had decided to try working an a project that would not only demonstrate a practical application of parallel computing, but also become a useful side-research for my main pet project, Beats. The project I had in mind was to apply GPU acceleration and parallel processing techniques to improve the time spent on the BPM calculation algorithm used in the simfile-pattern-generating MATLAB program, Dancing Monkeys, compatible with DDR simulators such as StepMania and, of course, Beats. Improving the BPM calculation step was of great benefit …
Read More »Beats2 Prototypes
It’s done! For those who haven’t read the last post, “Beats2 Prototypes” is pretty much a series of demos/prototypes designed for the purpose of quantitatively comparing different user interfaces for large touch-screen devices – in this case, 7″ or larger Android tablets (you can still run it on your Android phone, but that’s not the target of the study). (Direct download) It’s also my senior design research project (i.e. not a polished final product) and an important precursor to Beats2, which will target BOTH small touch-screens (i.e. Android phones, iPhones, etc.) AND large touch-screens (i.e. Android tablets, iPads, Windows 8 …
Read More »Linux Everywhere
When I was a teaching assistant for CIS 191 ”Linux and Unix” (University of Pennsylvania, Spring 2012), I was asked to give a guest lecture, given my involvement and contributions to the iPodLinux project. And so I decided to give a special topic lecture titled, “Linux Everywhere: A look at Linux outsidethe world of desktops”. Here it is: Presentation: PDF (PPTX)
Read More »Git for Windows with TortoiseGit and GitHub
For my Dancing Monkeys Accelerated project, we were required to use Git for version control and host code on GitHub. As a person who has always preferred SVN (for its linear/incremental nature), and have only had experience with Google Code and SourceForge, setting up a new GitHub repo was a new experience. And so, for future reference, I document the process here. In this tutorial, we install msysgit and TortoiseGit and host code on GitHub.
Read More »BomberNome
For my ESE 519 ”Real-time Embedded Systems” (University of Pennsylvania, Fall 2011) final project, I worked in a three-person team with Monica Lui and Faqin Zhong on a hardware project dubbed “BomberNome”. The original project requirement was to make use of the ESE lab’s stash of monome boards in a creative and fun way. It turned out, however, there weren’t enough actual monome boards lying around (i.e. boards with each grid unit also connected to a switch and LED) but there were plenty of LED boards, so we instead decided to just hook up a bunch of these LED boards …
Read More »Dance With Your Hands
For my ESE 350 ”Microcontrollers and Embedded Systems” (University of Pennsylvania, Spring 2011) final project, I worked with my friend Eric Chen on modifying Beats so it would take input from an XBOX Kinect. The result is a Kinect hooked up to a Beagleboard-xM running Android and playing Beats. It was all proof-of-concept of course as everything ran with extreme lag, but it was pretty cool nevertheless and fun! (Direct download) Proof-of-concept gameplay demo of Beats 1.5.5b with Microsoft XBOX Kinect support. The song used in this demo is “Chaoz Impact” by ParagonX9, stepfile by Lisek with permission for distribution …
Read More »BulletsForever
For my CIS 350 ”Software Design/Engineering” (University of Pennsylvania, Spring 2011) final project, we were to work together as teams to create a mobile app as a hands-on exercise with the software development cycle. And so, Team MAGi (consisting of Art Young, Austin Woodlin, Jessica Ouyang, Yash Kandoi and myself) decided to make a game, specifically one inspired by the free 2D fixed shooter game, Warning Forever. The WF clone more or less was a bullet hell (danmaku) with a simple “evolving” AI boss after each level but with no level cap (after lvl 10, it repeats), so we called …
Read More »hypup
For the PennApps Mobile 2011 hackathon, I teamed up with fellow STWingers/classmates/friends Albert Kwon, Gianni Chen, and Seth Shannin to form Team CJT and create the Android app, “hypup”, described by Seth as “Stumbleupon, but for local events.”. The official description was as follows: “HypUp aims to present a previously unexplored paradigm in social networking. While services like Facebook and foursquare approach social networking through people and locations respectively, we decided to try a different approach. HypUp is an event-based look at social networking.” The app went through many revisions, feature additions, and changes and we managed to just finish …
Read More »Intro to Android Development
For PennApps Mobile 2011, I was invite to present a tech talk on how to get started with Android development. The talk gave a general overview of what Android was, how the app layers worked, what you needed to get started, a live/follow-along setup+Hello World demo, a small stopwatch app demo, the basics of debugging, and then finally next steps for app publishing. Finally, the talk ended with a quick blurb of Beats as an example of what your project could become. Here are the links and slides. Announcement: Android, iPhone, WP7 Tech Talks! Facebook event: Intro to Android & …
Read More »Interview w/ Beats Creator from PennApps 2010
This is a repost from the PennApps Mobile 2011 website prior to the start of the hackathon. Background: Due to my success success with Beats during the very first PennApps 2010, I was interviewed and asked to give advice to new hackers/participants in the upcoming PennApps Mobile 2011 hackathon. ====== Interview by Justin Meltzer from the Interactive Media Group. I took some time to interview Philip Peng, a junior studying Computer Engineering at the University of Pennsylvania. As the lead developer of a mobile game called Beats developed on the Android platform, he and his team transformed a concept hastily …
Read More »