Skip to content


Subversion checkout URL

You can clone with
Download ZIP
An assortment of random code (Java, C#, Clojure)
C# CSS PowerShell JavaScript Java Visual Basic Other
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This repository is for random code that I am writing day to day. It's 
unlikely that any of this code is completely finished. It serves more
as a dumping ground for odds and ends.

- RepositoryPatternExample : A simple repository pattern demonstration
that shows the beginnings of a simple wiki with a driver for SQL and

- PasswordGenerator.cs : A small 16 character password generator with
upper case, lower case, numbers and special characters.

- : This uses JNA to hook into the Netapi32 dll to
expose one function to grab DFS path information. This wraps a few of
the structs as well. It's not complete but is moreless a real example
of how to use JNA to do something useful.

- LookupLastLogonForUser.cs : A small utility to look up usernames
in Active Directory. This application takes a file where each username
is specified one per line. The output is a CSV with each username
and their last logon times for each domain controller.

- DFSTranslateTest : This is a C# app that basically does what the does. It wraps all the same things as it's java

- watermark.clj : My first Clojure script which takes a jpg image and
adds a small text watermark to it and then saves a copy of the image.

- ADDump : Mines Active Directory for users and computers and stores
the information in a database table and also writes a log file. 

- : A python stream ripper

NOTE: This used to work fine, seems has recently inserted some
randomness into their song title meta data to confuse rippers
like this. Oh well. I'll throw it on the net for posterity!

- Ripley.* - Various incantations of a stream ripper. These are quite
old now and I don't know if they currently still work. They used to work years

- IRC:

- IRCSandbox : This is a small IRC Bot that does only enough to connect to a
server, stay connected, send some basic commands and receive data back while
outputing it to standard out.

- IRCCommandRegexSandbox : A little sandbox to test parsing various IRC commands
into their respective groups. I am envisioning this will be used to parse
incoming data in the IRC client lib in order to determine what kind of command
we are dealing with. There is still some work to do. Learning makes the journey

- jquery-search-dropdown-builder.js - This is somewhat of a convoluted jQuery 
plugin in that the requirements are highly specific to a business decision that
was made on a team I work on. This builds some dropdowns and uses the 
selections made from them to build a query string that can be used to open a 
SharePoint page containing a list and filter it's contents. This is basically 
a poor mans search for a specific SharePoint list.

- Journal Munge - a quick fire Node.JS script to read a bunch of text files and
munge them together into a single file. I used this to take individual journal
files I was writing every day and munge all them together into a monthly file.

- Added a folder called Unfinished which will house projects that have been 
started but not finished. Projects that I am still interested in but don't have
time to work on.


Frank Hale <>
20 July 2014

All code is under the GNU GPL version 3 or later unless otherwise noted.

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <>. 
Something went wrong with that request. Please try again.