A variety of sample code spanning all the way back to 2000.

Assembly language code for a Microchip PIC16F88 microcontroller. The code converts MIDI messages into transistor gate state control as well as a variable analog voltage output generated via PWM passing through a simple RC circuit. The device converts MIDI Note values to voltage values between 0 and 5 Volts DC. It should be noted that I�ve learned how to make this code much more efficient. Though, it functioned fine as is. It could be more elegant than it is.

An ocx wrapper I wrote for MIDI input and output. It wraps the functionality implemented in the mmsystem.dll and winmm.dll windows apis (2002).

An http debugger proxy I wrote in VB6 to help me write a WAP wrapper for an MLS website (a contract from 2002-2004).

A series of classes which formed a wrapper I wrote for MIDI input and output. It wraps the functionality implemented in the mmsystem.dll and winmm.dll windows apis (2002).

Part of the itBeat.com web site. I don't mind sharing this because itBeat has been out of business since the end of 2000. And, this is code of no value to anyone. It demonstrates my early understand of DHTML via JavaScripts. I created an interactive searching mechanism. It used data that was encapsulated as multidimensional array variables in .js files which were generated and overwritten from the database every hour. These files were used by the interface to show a list of copiers/faxes/multifunctional devices and narrow the list interactively and dynamically on screen as you input criteria into the form elements. The trick to making this work well and efficiently was to encapsulate the data and use it in Javascripts which was a very novel approach for the time. One very reminiscent of the approaches used today.

A server and client application I was developing to try to improve and maximize data transfer between two computers on a local area network. It served its own web interface. Handles socket connections and segmented data for asynchronous downloading (2001).

Code I wrote in 2006 as I was exploring the various uses of the WebBrowser control and interacting with objects on a web page via the DOM. I could get/set object properties as well as bind to events.

I made this application for my own personal use at ALAS and at home. It was a convenient way to switch between virtual desktops. The changes made to the taskbar have made this application non-functional now. However, it was a convenient way to organize groups of application windows and only show the taskbar representation for the windows currently visible in the selected desktop to avoid taskbar clutter with many open applications. I also made easy means to start commonly used applications and open web pages I visited frequently.

I was interested in voice control accessibility for a while. I created an application to leverage the Speech Library and respond to verbal commands from a microphone. The application would do a number of things like open applications or web pages, create random playlists or play specific music. It was actually quite handy. Windows 7 and later broke compatibility and I never updated this application. Dingleberry was the wake-up command. I selected that because it isn't something I commonly say :-)

I was asked by a friend to create an application to watermark images with his various logos in bulk.

A VST control written in C++ that I started developing and never finished. Various functions work. The high frequency limiting still needs to be finished, however. I also ported the code to Mac OS X via XCode.

This zip contains everything necessary to compile and run an example Web Application created with Visual Studio 2010 using ASP.NET and VB.NET. The application is the default web application with the addition of a custom WebService. This webservice contains a number of public WebMethods. I call this WebService from the Windows Forms Application above. The WebService demonstrates the following concepts: Public WebMethod implementation, Robust, clean and intuitive error trapping, Returning of formatted error messages including line numbers to the calling application.

This zip contains everything necessary to compile and run an example Windows Forms Application created with Visual Studio 2010 using VB.NET. I quickly wrote this application to demonstrate the following concepts: Reading from an XML settings file, Creating an initial XML settings file if none is present, Robust, clean, global and intuitive error trapping, Random data generation, Selection of a subset of data from the randomly generated data, Interaction with a WebService, Calling WebMethods, Example of returning an error dump from the WebService, Splash Screen, Error Details screen with ability to copy, Clean application structure.

I was asked by a friend to help create an application to clip video files. The clipping information was stored in the session files used by video mixing software called GrandVJ. The file, start point and end point of all clips are read from the file, any that do not play the entire clip start to finish are prepared to clipping using another video clipping application that can take a file with many clipping tasks specified. Once the files were clipped, the original GrandVJ session file is modified to use the new clipped files and start/end times.

A VST control that sends MIDI messages which can be routed to a MIDI Output in Ableton Live and used to control my Neumann VMS70 Vinyl Mastering lathe via a MIDI translation device I created. A video demonstrating the device is located here https://youtu.be/KIRTQjStW0Y This VST simply gives on screen control of this device without having to sequence MIDI notes.

An application I created to pull image representations of web sites using the WebBrowser control.