Here is where you'll find the various things that I am working on. Listed first are programs/computer applications, and other projects come after.
This is a small project that I started in the summer of 2012. It is the first real program that I have designed and implemented on my own outside of class assignments. It is also my first real attempt at becoming familiar with handcoding a Java GUI.
The design is rather simple, as is the program itself. I developed it as a small study tool for myself and possibly other students who may be studying Mandarin Chinese. As I took Chinese the semester before, I found it difficult to memorize the pinyins of the characters, which help with pronunciation. Also, I wasted a lot of paper "testing" myself while memorizing. With the help of this program, studying pinyin is a little more convenient.
In Chinese class, we used a popular text called "New Practical Chinese Reader" published by the Beijing Press. I developed this program to be used alongside this text. It currently allows the user to select Vocabulary lists from specific chapters of the text to focus on certain words.
Here are some screenshots of the program running in Windows 7 (with modified theme):
The above picture to the left displays the title screen that welcomes the user with some simple instructions, and shows the Chapter Vocabulary selection menu. The upper right screenshot shows a session.
The upper left picture shows the popup message congratulating the user on a correct input while the upper right shows the program informing the user of the actual correct answer if they got it wrong.
Features of the current version of Pinyin Pushups:
- Tests user on pinyin knowledge of all key vocabulary in the book "New Practical Chinese Reader 1"
- Vocabulary Organized by chapters of the book
- Can test knowledge of individual chapter vocabularies or all the vocabulary in all chapters at once: all accesible by a "Practice" Menu
- Provides feedback for user inputted answers - informs user if answer was correct or not, and displays the correct answer if input was incorrect
- Keeps score of the user's progress in the vocabulary. User earns a point for every correct answer out of a total number of points equal to the number of vocabulary in the current practice session
- Skip function allows the user to skip the current vocabulary item if desired
- Randomizes the vocabulary items for each session, and keeps track of what has been tested before in the same session so you don't see the same one twice
This is a computer application I started designing in December of 2012. The idea is simple - it accepts a user inputted chord sequence, and then analyzes it to see if there is an easier way to play the sequence. By "easier", I mean more open chords than barre or out-of-first position chords. It does this by keeping the sequence in the same key as intended, but placing the theoretical guitar Capo in all possible positions to see if the transposed chords are any easier to play than the original. Here is a simple example:
The song Happy Together by The Turtles, as originally played on the record uses the following chord sequence:
- Verse: F#m, E, D, C#
- Chorus: F#, C#m, F#, A
Now, with very minimal music theory knowledge, one would be able to figure out that it would be much easier to play by transposing the song down one whole step and play that with the capo on the second fret of the guitar. This way, the song's chord sequence goes (in relation to capo on second fret, the key is still the same as original):
- Verse: Em, D, C, B
- Chorus: E, Bm, E, G
Playing it this way requires less effort because only two of the chords are barre chords (and they are two of the easiest ones - B and Bm), while the original way requires more awkward switching between barre and open chords. For a longtime or professional guitar player, this is not a problem, but for beginners, hobbyists, or just plain lazy people (I am all three), playing with more open chords using a capo is generally preferred. Of course, this could easily be figured out by anybody, but I know that when I first started playing guitar, I knew nothing about notes, chords, or transposition, so I always played things the way they were written, so I thought a program like this might help beginners.
LazyChord is still in the middle of being implemented, so as of now, it is not fully functional with all of the features that I intend for it to have. LazyChord is currently being developed in Java. This page will be updated when a full prototype is available.
For a course project, a friend and I developed the Frogger game using Java. We made our own sprites and everything. For academic reasons, I cannot publicly share the code here since future or current students may have the same assignment. Here is a screenshot of the Frogger program running:
- Full Frogger stage with moving cars and moving lily pads in a stream
- Displays number of lives remaining and the timer counts down the score
- Take a break by pressing “p” at any time to pause the game
- Blood splatter effect when the frog loses its last life
- Game over screen, and Win screen that calculates and displays your final score
- Music with sound effects: Plays a fast-paced, twinkly MIDI tune in the background, hear a quick beat of a steel drum when frogger moves, and hear a high-pitched note indicating Frogger's death.
For one of our introductory computer science classes, we had to implement the Tetris game. It was developed in Racket, which is a dialect of the LISP language. For academic reasons, I cannot publicly share the code here since future or current students may have the same assignment. Here is a screenshot of my Tetris program running:
- Full Tetris gameplay mechanics like rotation, block placement, and random block spawns
- Softdrop feature when user holds down the down arrow key
- Full row deletion feature, just like in the real Tetris
- Game over when the blocks overflow the screen size
My current work includes this personal homepage and a website I am in the progress of developing for the Northeastern University Chinese Student Association. Links will be provided as available. The following is a preview of the website as it is so far:
I first got interested in computers by doing amatuer graphics and web design to fuel my nerdy obsession with Pokemon fansites. This was when I was in middle school, but if you would like an idea of what I did back then, you can see many of my old designs HERE. Don't laugh too much.
I update my YouTube Channel with new music when I have any. I mostly sing covers of songs as of now, but I am working on original songs as well, which will appear here when finished.
I have made an album of Children's Music, which I did as a gift to the preschoolers I worked with at my part-time job I had in High School. The tracks are mostly original except for the two covers at the end, and each song is oriented towards a certain theme that preschoolers learn in school, and, of course, the music is meant to appeal to young children. I recorded this at my home with my USB microphone, and mixed tracks using free software, Audacity. Here is the track listing:
There is Still Tomorrow (2011) - Chung Vuong
- One of Us
- Hi, Hey, Howdy
- There is Still Tomorrow
- Odds and Evens
- Primary Colors
- The Manners Song
- You've Got a Friend in Me (Composer: Randy Newman)
- Puff, the Magic Dragon (Composer: Leonard Lipton, Peter Yarrow)
I have two works in progress. Both are possible novels to come.
This is a realistic fiction work heavily based on a true story. It tells the story of a young boy growing up in wartorn Saigon, and who escapes Vietnam after the communists win the war. The narrative retells the horrors of the "Boat People" experiences, including living under communist rule, separation from family, escape to sea, refugee camps, hardships in adapting to America, and for many - death. It is told from the point of view of the boy. I am writing this story based on the true experiences of "Boat People" that I know including both my parents, the majority of my extended family, and many Vietnamese family friends. This story is a compilation of all of their true stories together.
This is a science fiction story about the rise of dangerous crime through the internet. The U.S. government has invented a supercomputer that is capable of taking all data on the internet and rendering it as an alternative reality when it is connected to the conscience of a person. When connected, the person falls into deep sleep as his conscience becomes fused with the computer's constant rendering of the internet as a realistic world. Because it seems like an alternative reality, the person can act as normal, but his actions in the "dream" are reflected on the actual internet. The computer reads the person's brain, and translates his actions in the dream into code that actually affects the internet. More to come on this story