My Personal Lab

I am currently organizing my hobby projects. Stay tuned for more update ....

Projects listed here are some of my hobby projects - for fun and of course for making money. If you are interested in participating in some of my projects, or you want to invite me or hire me to participate in your personal or commercial projects, please feel free to contact me. Check out About Me page for contact information. Thank you.

Google Map JavaScript API [2015]

Google Map API - 
My Map

Google Apps Script Implementation of Online Shopping Cart [2015]

Shopping cart implementation for a local bakery store. We could use Paypal Shopping Cart. However, this shopping cart is more for order reservation than a payment service, i.e. it only collects customer and order information without processing payment. Payment will be collected when order is picked up.

This implementation can be used by any online/local store that requires similar capability.

Bar Code Algorithm [2005, 2015]

This bar code algorithm was initially written by Julian in 2005, and recently re-written by Julian in Google Apps Script to illustrate how to encode a bar code.

Commonly used bar codes include UPC (encode up to 11 digits [0-9]), EAN-13 (encode up to 12 digits [0-9]), and code 39 (encode ASCII string [0-9][A-Z][space, *, $, /, +, %]) .

Type in the string that needs to be encoded below and click 'Submit' to see how it works.

Mobile Application + Arduino Embedded System [2015]

A prototyping project to:
  • design an embedded engineering system using Arduino
  • develop a mobile phone application
  • integrate mobile application with remote control of the embedded system via Internet

e-Marq Server [2014]

Key capabilities:

  • Retrieve information based on different protocols (FTP, HTTP, Web Services, RSS, Atom, JDBC/SQL, POP3, Google Voice, ...)
  • Transform information and aggregate information on fly.
  • Publish information to anywhere (Web Server, FTP Server, Database Server, SMS, Email, Phone Call, Fax ...)
  • Schedule & trigger events based on business rules
  • Extensible

This software was initially created for managing and running email campaigns. It has evolved to a powerful and flexible information management system for small business. Interested in a demo? Please contact me.

Google Voice [2011]

Integrate Google Voice capability to retrieve and send SMS, initiate a phone call from Java Application.

Web Sites Development [2005-2013]

eCommerce, online community, online marketing, content publishing and management ...
Interested in a demo? Please contact me.

Album [2008]

Implement a software leveraging ImageMagick to batch processing digital pictures, including resizing, rotating (landscape/portrait) appropriately adding water print or photographer name/ copy right, generating thumbnail, and complete small footprint HTML/JavaScript files for complete rendering on web site, and  uploading to a remote FTP/Web server.

If you are a professional photographer, you would appeciate this solution. 

(photo by Julian)

RIAC Library Information Management System [2004]

This is a volunteering work for a local community library. Key features include:

  • Member information and book management
  • Support (book and membership card) bar code generation for scanning devices

e-Marq version 1.0 [2004]

This version supports information retrieving (from different sources), information transformation & aggregation, and information publishing by email.

This initial version was designed for email campaign.

Encode/Decoder Algorithm [2003]

This Java package implements the following encoding schema: Base64, Quoted Printable, SHA, MD5, commonly used encoding schema/protocol on the Internet (HTTP, MIME, SMTP, etc.)

Ping/Monitoring System [2003]

This is an automatic pinging and monitoring system that generates ping monitor service calls to systems in question. If it does not receive a successful response from the system, it will record and report the issue on a GUI interface.

You may find company like RedAlert offers remote monitoring service. 

FTP - Java Client [2003]

This java package allows programmer to use initiate an FTP client session to download or upload files from/to FTP server. It supports both ACTIVE and PASSIVE file transfer mode. Many copies have been downloaded for personal and commercial use.

This package was referenced in this paper "An Architecture for Dynamic Data Source Integration", by Ian Gorton2, Justin Almquist, Kevin Dorow1, Peng Gong3, Dave Thurman1

DNS [2003]

DNS Java package is intended for use by application to support DNS lookups (especially for mail exchange server names) for a given domain name. If you understand how SMTP works on the internet, you would understand why DNS lookup is important for email operations.

Grozier Engineering Systems - Acoustic/Noise Monitoring [2002]

Implemented a Java-based HTTP server & Java Engine with very small foot-print that is appropriate for use in an embedded engineering system for noise monitoring. The system also implemented a Java-applet based GUI (remotely accessible from Internet) that replaced traditional LED/Control board (limited to local access).


Installation Wizard [2002]

A pure Java implementation of software installation wizard.


Java Server [2001]

This is a my Java implementation of HTTP and Java Servlet specification that supports the java web application development. This implementation also supports HTTP Proxy.