Stuff I've done:

Software disclaimer: All the software packages listed here I wrote for my own work. I am happy to give them out to those who may benefit from it, but I really can't give you support. Feel free to e-mail me, but I can not guarantee my response.



GoGo Project
(c) MIT Media Laboratory

GoGo is a project I'm currently working on for my Ph.D. I'm trying to create a hardware framework for a low-cost and highly available sensing/control device that can be used for computer interfacing applications. A verity of devices have been designed under this framework, each has its own name i.e. GoGo board, Espion. Please visit the project website for more information.

Here is a list of software I wrote for this project so far. All of them can be downloaded from the project's website.

  • GoGo Board Monitor - Gives users easy access to all the features of the GoGo board.
  • GoGo Active-X control - An SDK for the GoGo board.
  • GoGo Library for Microworlds - This code allows direct access to the GoGo from within Microworlds (a modern version of Logo programming language.)
  • Espion Programmer - A simple compiler that allows users to program how the Espion board functions.


Programming Continuum Project
(c) MIT Media Laboratory

This project, initiated by Seymour Papert, aims to create programming metaphors for very young children (~4 and higher). One of the ideas is to have a LEGO car that children can control where it goes (via a LEGO joystick). The car remembers the child's instructions and becomes a "program." This program can then be repeated or uploaded to the computer for modifications. Experiments have been done in many schools in IOWA state.

Many people were involved in the development of this project. I developed the code for the LEGO car and designed the protocol it uses to communicate with the computer.

Please visit the project's webpage for more info.



Flights of Fantasy

Together with my friends in the Interactive Cinema group, I made an interactive media exhibition for the Boston Cyberarts Festival (April 21 - May 6, 2001) at the DeCordova Museum. It's an installation that tries to depict the future of storytelling. We developed a system where visitors build their stories using a children's block puzzle. The story then travels to birdcages in an adjacent room. Every time someone opens a cage, a story will be released (played on a small screen located inside the cage).

I was responsible for modifying the birdcages and for building the necessary hardware to detect and playback the stories when the cages are opened.

Read more about Flights of Fantasy here.





Microworlds File Processor Active-X control
(c) MIT Media Laboratory

This utility allows you to insert Project-Variables directly in to a Microworlds project file (*.mw2). Yes, it processes the binary file. So, for example you can insert a variable called "Foo" with a value of 10 and a list variable "Bar" with a value [1 2 3 4] to an existing project file "dummy.mw2"

For more information and download, please visit the control's webpage.



Regular Expression finder/replacer

This is a small utility that provides a simple interface to Microsoft's Regular Expression library (it comes with IE 5.5+). It allows you to open a file, do a find and replace using the power of RegEx. Please refer to Microsoft's documentation to find out the RegEx syntax to use (Goto and search for "regular expression syntax.")



This is a utility that I use to generate web pages with thumbnails of my photos. See examples here and here. This utility will be useful only when you have a lot of pictures to publish on the web. You need to prepare the thumbnails and the actual pictures and store them in separate folders. Then, you create a template file into which all the pictures will be inserted. Please look at the example template for more info.

You will need IE 5.5+ to run this application.




This is a PERL library I wrote back in Thailand. It is designed to help web database applications easier to write.  The goal is to separate programming from the layout design. Unlike PHP where you embed your code within your HTML file, RgCGI works with template files. You create your HTML file, format it the way you want, then simply type in the database field names where you want the data to appear. RgCGI will process the template and generate the final HTML code for you.

RgCGI works with MySQL servers (but should work with other databases that has a DBD:DBI driver).



Perfect Thai HTML

This is a small application that can help Thai HTML developers solve Thai font problems. It's key features are:

  • Converts "extended character codes" generated by most HTML editors in to a single 8-bit character. For example, Netscape composer, Adobe Pagemill, Macromedia Dreamweaver will translate the letter into ¡. These extended code sometimes cause the Thai text to display incorrectly on web browsers. Perfect Thai HTML converts these extended code back for you.
  • Removes the language encoding syntax. HTML editors that do not support Thai encoding (TIS-620 or Windows-874) will mostly encode the HTML using "Western encoding" (iso-8859-1). This causes the browser to encode the document using the western character set, which mostly does not display Thai text properly.
  • Replaces font used in the HTML file to the font you want (you define this in the config file).
  • Well designed user interface.

The current version is 2.01.


Sumphan Sarn (SPS) - on-line Magazine system.

This program is a web-based collaborative content development system. You can build your own magazine on-line with different writers, across the Internet, contributing their articles. An editor decides which article should be published.

See an example of SPS in action at

It's key features include:

  • Easy to use web publishing system. Writers can crate an article without any HTML skills.
  • An editor has full control of every article submitted by writers. The editor can choose to reject the article back to the writer, accept the article and publish it (make it accessible from the Internet), or keep the article in an archive.
  • Supports pictures and sound.
  • Fully Thai interface.

This program is still under development. If you are interested please contact me for installation instructions.

It is written in Perl. Therefore, by downloading the program, you get the source code as well. It runs primarily on Unix (linux,solaris, etc) but can be modified to run on Windows.

System requirements

  • OS: Linux preferred but should run on other Unix systems as well. Modifications could be done for it to run on Windows.
  • Perl 5
  • MySQL database server.

Download - sps.tar.gz (0.6M)