Programs I have written
In my spare time I work on the projects on this page. Some of them, I consider to be completed, like TkNotePad. These are are all released as "Open Source". These programs are provided as is and with no warranty expressed or implied! While I have tested them, I am not responsible for anything that might happen if you use them. They just might not work the way you think that they should!
Please notify me if you intend to include any of this software as a part of any distribution or mirror site. Thank you! Email me with any questions or comments.

NOTE: Unless otherwise specified, these programs are all released under the GPL. If not supplied with the software in a License file then the GPL can be found here gpl.html.


godura on github
This is a simple editor that requires gtk2.0+. It will not work with earlier version of gtk+. It is basically an implementation of my Tk Notepad Editor. It is not complete. See the INSTALL, README, TODO, and KNOWNBUGS first. screen shot. NOTE: This is pretty STABLE.

GUTime on github
This is a simple uptime applet for the GNOME panel. It was basically take from the GNOME Applets example and enhanced. It now installs the the .server file. This is the first release for gtk 2.x and GNOME 2.x on x86 Linux machines only. Here is a screen shot. NOTE: This is considered STABLE.

mpstat on github
This is a program that I have hacked for Linux specifically. It was hacked from the source code to vmstat.c. The mpstat.c file I have written no longer needs procps in order to compile. Here is a screen shot . NOTE: this is INCOMPLETE but STABLE as of 2 July, 1999.


Tk Notepad version 0.8.2 TkNotePad by Joseph Acosta. Click here to download.
When I first started using Linux I could not find any good text editors, other than vi and Emacs. There were other editors, but often I could not get them to compile or they did not work the way I expected them to, or they were just to different. I soon came across a Tcl/Tk program, that had a bug in it and fixed it. I found Tcl/Tk to be a rather easy to understand language. I then decided to learn more about Tcl/Tk and bought a book on Tcl/Tk. Soon I had written a basic editor that could read and write a file and TkNotepad was born. I then decided on a design that I would find familiar to myself. I decided to mimic the behavior of MS Windows Notepad. A simple editor that had cut, copy and paste, and a few other features. It now mimics most of the behavior of Notepad, and has a few added features like unlimited Undo/Redo. It does not print under Windows, or Mac, but it will run on those platforms and all the other functionality works. It was written entirely in Tcl/Tk. I consider it to be completed, as most of the known bugs are now removed. I will continue to work on removing those last bugs and some code cleanups, but there will probably not be any new features added. It is very stable and I use it quite frequently myself. Originally it was designed using Tcl7.6/Tk4.2, but now it has since moved to Tcl8.4/Tk8.4 and no longer works with Tcl 7.6 / Tk 4.2. Although it is designed to resemble Notepad for windows it also runs on Linux, and other UNIX flavors, Windows 95/98/NT, and I have been informed that it works on Macintosh also.
It was written once and runs anywhere, but it's BETTER on LINUX!
Here is a screen shot taken with gimp for Linux.


Many iterations and now we have this. Most of the old code is still in use, but migrated slowly over time. From objects all declared on the window object, to namespace under WebBrowser and now import/export and es6 syntax.
Currently Supported browsers are moden browsers and IE11+.
See repo src/client/pages for implemetations and then view source of this page :)

Calendar Examples

See example page for implementations and git repo

This was my first real javascript page. It is basically a calculator that is done using HTML forms and JavaScript. I originally did this program in 1996 and it was not till late 1999 that I started modifying it again. In mid 2000 I re-implemented the calculator to make it work better. There is at least one bug that I know of, but it basically works. It does multiplication, division, addition, subtraction, cosine, sine, tangent, inverse (1/x), x^y, arccos, arcsin, arctan and a few other functions. I may make some more additions to improve it and make it truly useful on the web. You can try it out here.

My alternate calculator, which is based on the WebBrowser object and so requires WebBrowser.js. This is still a work in progress, but seems to bea cleaner implementation and works better. It can be seen here. You need to include WebBrowser.js. First include the WebBrowser object base functionality:
<script type="text/javascript" src="wb/WebBrowser.js"></script>

<div id="calcID"></div>

function loadScreen() {
  var webCalc = new WebBrowser.GUICalculator("calcID"); // pass id of parent object
  webCalc.render(); // render the calculator

This is a little digital clock form 'modern' browsers. Currently Supported browsers those that support the document.getElementById, the Date object, the setTimeout() function, and Object.innerHTML. It is a good idea to get the WebBrowser object and use it for browser detection and upon detecing a supported browser then call this code. Currently just download the clock and
Create the script tag and set src= to the downloaded file.
Then a div or span on the page where you want the clock on the page.
Lastly, create the DigitalClock, set its id and start it.
myclock = new DigitalClock();
                        // clockId is the id of the div that the clock will run in.
                        // The element should already be created.
                        // It is typically a div, but any element that supports innerHTML should work.


This is my php script to generate the ascii table. It also generates the extended ascii table. For the ascii table this script shows the decimal value, the character that they represent and also the equivelant octal, hexadecimal, and binary values. For the extended ascii table it only shows the decimal value, and the equivelant octal, hexadecimal, and binary values. The output can be viewed here.


apcupsdconf on github
This is my web based application to configure Apcupsd. Apcupsd is the apc ups daemon. This tool, when used in conjunction with Apcupsd, makes it slightly easier to configure the apcupsd.conf file, by informing the user when an error may occur in a selected configuration. A few screen shots can be seen here, here, here, and here.

Java / JSP

jwmailapp on github
This is a complete refactor of the the original 2001 codebase. The first refactor was in 2006, this has taken the 2006 code and refactored it again. The old POP3 class has been refactored into a new POP3Service. The old using mail tag files to send mail have been replaced by an SMTPService. Struts and tiles have been implemented, so there are now two layouts, one for ajax and one for regular pages. Configuration is done via an XML file for the pop mail server. JavaScript and AJAX are used for reading messages and refreshing the inbox.

Right now you can only have one pop server because that is specifed in xml config file. This may change in a future release.

The UI works but it is not considered completely polished at this time. It needs a 'design' touch as well the ability to send and recieve attachments.
Pictures can be found here, here, here, and here.