Technology

Home Automation

FireworX-10
Last Updated: February 3, 2004
Intended audience: Novice
Featured in the February/March 2004 issue of Home Automation Magazine
This is a software application for Windows 95/98/NT/2000/XP which I wrote to create and schedule events for the Firecracker X-10 device (CM17A) which was sold very cheaply (~$6) at www.x10.com. I originally intended this program to be for my use but I am offering it here to others who may find it useful. It is currently offered as freeware. It was written in Visual Basic 5 so, given its small feature set, it consumes a lot of space. It has only been tested on a limited number of computers with different hardware/software configurations.

FireworX Web (Beta available)
Last Updated: March 5, 2001
Intended audience: Advanced
Featured in the February/March 2004 issue of Home Automation Magazine
FireworX Web is a Web front end for the FireworX-10 application. In its initial release, it focuses on viewing of FireworX information from a Web browser and the ability to issue manual, one time commands to control X10 modules. It requires you to have an existing Web server that supports Java Server technology.

Sample VB Code
Last Updated: April 28, 2000
Intended audience: Intermediate
Some sample VB code to get you started with programming your own solution for the CM17A.

FUzE ActiveX Control (with source)
Last Updated: May 2, 2000
Intended audience: Intermediate
FUzE ActiveX control is a component that can be used in your programs to control the CM17A X-10 device.  Source code is available!

Related Information

In case you are interested in programming you own solution or finding out more about Home Automation this section is for you.

1. There is a "Firecracker (CM17A) Communication Specification" that defines the protocol on how you communicate with the CM17A through the COM port. That document is posted at ftp://ftp.x10.com/pub/manuals/cm17a_protocol.txt. Basically you use RTS and DTR signals.

2. There is a very knowledgeable community of home automation folks on comp.home.automation.  I find the easiest way to use it is on Google.

Lotus Notes/Domino

Calling DLL routines from LotusScript. Part II: Lotus Notes C API
March 6, 2005
At times, LotusScript falls short in giving you the access you need to your Notes/Domino databases through the classes it provides. On the other hand, you can do theoretically anything to your databases by using the Lotus C API. This article is not a tutorial on using the C API but only on the nuances of using the C API through LotusScript.

Getting the computers IP Address via LotusScript with five lines of code (or, LS2J to the rescue)
February 20, 2005
At time, it seems that I have pushed LotusScript to its limits. There are a lot of things it can do but sometimes there is a better solution. Getting the computers IP address is one of those things.

Calling DLL routines from LotusScript. Part I: Windows API
February 8, 1999
Like me, you probably find LotusScript just cannot do everything you want at times. After seeing the article titled "Changing Drivers on the Road" in the February 1998 Lotus Notes & Domino Advisor a whole new world became obvious to me. The article described how to call the Windows API functions from within LotusScript.

Research

Having completed some degree work in the area of Computer Science and Engineering I have done research in areas that hopefully do not just have academic merit but also have real world applications. As you might imagine, in the course of this work I did a lot of papers. This subset are those that I would consider of "publishable" quality.

Applying the Unified Modeling Language to Hierarhical Performance Modeling
Last Updated: February 8, 1999 (original work done in Fall 1998)
UML is something very useful as I found out when I had the opportunity to write this paper. In this effort, UML is investigated as a means to provide a common representation of various software performance models so that they may be easily related to each other within the hierarchy they form.

Colored Two-dimensional Bar Code (C2DB)
Last Updated: February 8, 1999 (original work done in Fall 1997)
When this idea was pitched to me I thought it sounded like the most boring topic in the world. How wrong I was. In the end, I had written a Windows program in Visual C++ to implement a test bed for investigating fault tolerant colored bar code designs and had come up with an algorithm of my own for a robust bar code layout.