Thursday, October 30, 2014

Chatterbox source available

Finally made chatterbox available for anyone to download, use, and fork. Some of it is a little rough, especially on the client, but feel free to make it better!

Note that there is no server hosting this, if you want to try it out for yourself, I recommend starting the server. Then open a client (or several), hit ctrl+L to open the advanced settings, and enter the address of the server (which defaults to the current machine on the default port).


Sunday, February 23, 2014

Ez Squeeze alpha release

Find it here: and be sure to check out the release notes and instructions.

It's still very rough, but begin testing.

Also I am strongly thinking about porting it to be a web app for easier distribution, updating, and setup.

Wednesday, January 22, 2014

Lemonade Stand Updates

This rewrite is going very well so far and I thought I'd post the current screenshots of what it looks like.
I optimized the purchasing to minimize the amount of clicks it takes in order to start the next day prepared, and I'm making the interface cleaner. Everything is still subject to being changed though. I also thought a main menu would be much nicer than abruptly going to the game screen.

Checkout for the code repository.
Here are the screenshots:

Update 2/10/14

I expect to have version 3 Alpha released in 2 weeks from now. This version will be a bare bones, development release so people can begin trying it, and report any problems so far.

Wednesday, January 15, 2014

EZ Squeeze Update?

I'm hoping to find some time soon to work on my lemonade stand game some more. The 2D graphics version is still a long ways off because I haven't had a chance to do anything. But I feel like an intermediary advancement to the prior version with some design and feature improvements would be worthwhile. It turns out that I should have planned much more when it came to many of my older projects, because it seems that I mis-estimated the amount of time and code it would take.

Tuesday, January 14, 2014

Raspberry Pi Midi Project

Last semester I worked with a couple classmates for a project course to create a raspberry pi theremin. It ended up turning out slightly different but here's a short demo.

(My computer is only in the video to ssh into my pi and run the code)

Our initial idea started as a raspberry pi theremin using sensors rather than antennas to create music. However it was much more interesting to be able to have different instruments available to the player. Our plan was to create a web interface in rails with configurable sound options (such as note length, instrument, metronome, attributing different controls to certain sensors, and a lot more). Unfortunately we ran into a lot of issues with synthesis and hardware shipping delays, so we were unable to finish the web interface and connect it with the raspberry pi in time for our final project demonstration, or at all for that matter because we had to return the lent hardware. Fortunately our project was very unique compared to the rest of the class and the instructors understood how many obstacles we had to overcome, like not receiving the special cable we needed to connect our sensors until the evening before the demonstration.

For a little more about how we did it, we used ruby on a raspberry pi to get data from analog proximity sensors from an arduino over the standard usb serial connection. The data is normalized, and then converted into midi notes which are then played through timidity. The audio quality is much better than we expected from the raspberry pi, but took a lot of time to perfect. Originally we started using different libraries and methods such as fmod (terrible pitch quality on pi), or using a java midi sequencer within jruby (90 second program run delay) but those options became unreasonable. We eventually decided the best choice was timidity using a fluidsynth soundfont. Using midi allowed easy synthesis of different instruments and options to configure the sound.

If you're working on a similar project, feel free to ask for my input on here or Google+ and I'll see if I can help. I also have a document for setting up timidity as I did in this project:

Thursday, October 24, 2013


About a week or two ago, we decided our year-long effort on our own flavor of instant messaging should come to an end so that we can focus on new, more interesting projects. We never got around to rebuilding the server in C, however I did write a proof of concept in C that used pthreads and was able to send messages to multiple clients. We did get tabbed chat and private messaging with styles working but some things such as typing notifications and realtime chat got broken. I'm not sure that my transitional notifications that appear in the bottom right corner of the screen work anymore either. But since we are done with the project anyways, and it was never released to the public, I guess it doesn't matter. Also, the code is on a private git repository and I doubt we will ever make it open source due to security reasons. As proof that the project really existed, I'll post some screenshots.

Saturday, June 16, 2012

Win Highlighting

win highlighting
Almost  forgot this easy to implement feature.
Now it highlights the win.


By the way: you must have the media folder and the .jar next to each other for the .jar to run. If you want to customize the appearance, feel free to edit images. However, pay attention to where lines are at, and keep the sizes the same. Also, don't forget transparencies.

Wednesday, June 13, 2012

Upcoming update


This update is coming around really slow because I haven't had much time to actually work on it. Lots of new code HAS been introduced, but not nearly enough for a functional game yet. Pretty soon I'll be going back to school so that could go either way. Maybe I'll find some extra help, but currently all graphics, logic, design, etc. are all being produced by me and it's a lot to do.


It has been awhile since 2.0b came out and I think it's time for an update.  As you recall 2.0b featured "people" in order to make it more realistic but the output was nearly unreadable because there was so much and the box was so small. However, that version prepared the way very well for the next version.  I will be rewriting a lot of it. This time all code will be self created, no GUI editor. That helps because netbeans was doing some funky stuff where I wasn't able to change the design without breaking the program.

New Features to expect:
  • multiple screens using a cardlayout.
  • Iconic labels displayed at all times to show important numbers. 
  • A graphic animation to display customer reactions. 
  • Lists of items to buy / shopping cart in order to make purchases faster. 
  • A graphic stats page with table, charts, and graphs.

Currently,  there are about 400 lines typed from starting from scratch but there is much more to be done and I am seeking reliable help. Multiple screens and the basic layout of objects is done. Each screen still needs work. There is a lot of artwork to make. With work at my paying job everyday, I anticipate being finished on my own in a month or two. We'll see.