(Back to Odomatopoeia Home)
Programs
As a systems administer and all-around IT guy, I write a lot of "glue" scripts and applications. What is here right now are the least impressive of them, but if you want to see the others then you'll need to talk to me directly. I've written applications used by regular users and IT staff at the school district in C, C#, Objective C, Perl, PHP, ASP, VB.NET, AppleScript, Java, and good ol' Bash. In a previous life I have also worked in DCL, the system scripting language of OpenVMS, which I mourn a little bit. Recently I have found that I prefer Perl for Unix or OS X-only scripting (with osascript as a GUI), and C# for any application that requires cross-platform compatibility because I can run the same binary on Windows (via .NET), Linux, and OS X (both of the latter via Mono).
Most of the programs that I write are very specific to my work location, and so aren't useful to the wider world. With a little tweaking, some might be universally helpful, though, and so I'm starting this section to gradually provide them. There is also some academic stuff I wrote for my M.S. (like my toy programming language) and for some older systems I have inherited that should be released but which are going to require a bit more work before I post them. Check back here as I clean things up and get them ready.
- Novell Universal Password Policy Change GUI Tool (redirects to Novell Cool Solutions page)
- An OS X Login Hook for Novell Networks (redirects to Novell Cool Solutions page)
- Playwright Minus (.NET) Programming Language A simple programming language I wrote for my M.S. that is somewhat verbose and uses Samuel French playscript as its metaphor (along with other elements of music and theater). The parser/compiler is written in quite strict ANSI C and outputs .NET CIL instructions. These instructions can then be turned into real .NET / Mono programs via the ilasm compiler. An example program can be found here. The zip file contains the source for the compiler, instructions on compilation, BNF notation for the language, language documentation, and several examples programs. There is currently a crashing bug that I'm trying to track down in the CIL instructions generated by the compiler (beq and add operations are affected).
- ECSD Diagnostics (Windows) A single button app that returns the computer name, Windows version, current user name, whether the system has an active network connection, and the primary IP address. Useful for phone support. I wrote this years ago as an exercise in understanding how a VB.NET Winforms application looks. Requires .NET 2.0 or later. The horribly simple source code is also available. The binary includes the seal of my present employer, but you may still find it useful.
- ECSD Diagnostics (OS X) The same app, but written for the Mac. Tested on 10.3 - 10.6. This contains a bit of "Googled" code, although all of it is either blisteringly simple or modified. Source code is here
- Recursive Find and Replace Perhaps the most obvious Perl script in the world. This script goes through a folder hierarchy and does a simple find and replace on the contents of each text file it encounters. For some reason, I couldn't find a script that did what I needed how I needed it on the day that I needed it.