Java

Reflective Testing

    A framework used in my Automated Standards Enforcement talks. It allows you to reflect over source code so that you can test standards compliance

jNeedle

    A small framework to easily find elements in HTML documents. Look at the included test to see how it works. I will be adding more to this in the future. Ports to Smalltalk, Javascript, and Ruby are planned. The Javascript version will be part of a bigger acceptance testing framework. You can get the jar binary version here. It runs under Java 5.0 (Tiger) and was an exercise in playing with some of the new features.

Ruby

LazyEnumerable

    This is a Ruby port of my Squeak Lazy Collection project. It's one file and small. The test is at the bottom of the file. Enjoy!

Executable Comment Unit Tests

    This is a simple framework that hooks into RUnit and RDoc.
    It allows you to write arbitrary bits of code in comments that can be executed and then
    verified vis RUnit. It uses the RDoc parser to obtain the comments
    This was a quick weekend project and I plan to add more soon.

Javascript

The Game Of Life

    OK, I love Conway's Game Of Life. I thought it was sad that there were no implementations in Javascript. So, I made my own. I found some different rules to play around with as well. And I thought it would be fun to also allow you to type in your own rules. A fun little project with CSS, html, and Javascript. It works in every browser I could find (IE, Mozilla, Firefox, and Opera). ENJOY!

Squeak

Reflective Testing

    A framework used in my Automated Standards Enforcement talks. It allows you to reflect over source code so that you can test standards compliance

Java Serialization/ClassLoader/Disassembler In Squeak

    The code reads/writes Java objects from a Stream. It also reads in clas files and disassembles byte codes.

Smalltalk Scripting Workspace

    Come see what the fuss about us is all about! Programmers familiar with Javascript, Python, Ruby, Perl, etc now have a workspace that works like their environments. No more need to select and code and "do it". Simply write it and save it!You can even add methods and classes! Check it out now! Runs in Squeak!

Lazy Collections

    The idea for LazyCollection is very simple. It takes a functional approach to the common collection protocol of select:, collect:, and reject:. By functional, I mean the collection is not changed nor is a new one created. The blocks are kept around until they are absolutely needed. I have been wanting this functionality for some time because it's nice for large collections. If you have a collection in which you are calling a lot selects, rejects, or collects on, then this will not create the intermediate collections. It will wait until you ask something of the collection where it can not delay the answer. This should make these chained operations must faster on large collections.

    This was a lot of fun to program and it's not that big. Take whatever you want from it!

    For examples, see the LazyCollectionTest>>test.
    To use, simply append lazy to select:, collect:, and reject: selectors.

Seaside Presentation Written In Seaside

    Curious about the greatest web development system? Wonder no more. Check out this presentation written in Seaside itself!

Smalltalk Coding Competition 2005 (Original Submission) (Updated Version)

    I put up the original submission and an updated version as well. This got me in the Top 3 of the contest (I won third place overall). I had some subtle bugs in the original version that I fixed in the updated one at Smalltalk Solutions. If you would like another Seaside example to look at, here you go. Even though the code is rough, I thought other people might get some use out of it. Enjoy!

Dolphin

Microsoft Agent Remote Control 1.0

    A little Dolphin application where you can script MS Agents and then generate a JScript or HTML (that runs in IE only) to run your script. Pretty fun! A MS Windows only executable. Great for kids! In fact, I used it to teach my cousin programming!

Cincom Smalltalk

SmallHttpUnit

    A Http Unit Testing Framework built on top of SUnit. I worked on this at Camp Smalltalk 2004 with Roger Whitney. I recently upgraded it for the VisualWorks 7.3. Cookie support is broken, but everything else is working great. This framework is especially great for acceptance testing of your web applications, they don't even need to be written in Smalltalk! You can even test your Java applications!


Feel free to send me email!