Daniel Benamy

My personal page.

TA Tools

Here are some scripts I wrote while TAing to help with various repetative tasks. If you find them useful or have any feedback (or improvements!) drop me an email at db2501.

Submission Unpacker

unpack - Mass unpacks compressed archives. Ensures that each goes into a nicely named folder. Tries to remove unecessary levels of directory nesting. Handles zips and tarballs compressed with gzip or bz2. It's got some bug when dealing with spaces in certain cases, but usually worked great for me. I should have written it in python. Bash and unix utilities are just terrible with dealing with spaces.

Courseworks Notifier

cwnotify.py, depends on ssmtplib.py - Logs into courseworks and checks the discussion board for a class for new posts. If any are found, sends an email out. This let me keep on top of student questions without having to keep checking courseworks manually.

Grade Processor

applygrades.py - Takes a file like this:

# This assignment is worth 10 points
100, -0.5, Doesn't do foo
101, -1, Missing bar

200, +1, Extra credit
and one like this:
db2501: 100. 101. Nice work!
ab1234: You have a stupid name. 200 - cool.
cd5678: 100.
and produces:
db2501: 8.5: DB: Doesn't do foo (-0.5). Missing bar (-1). Nice work!
ab1234: 11: DB: You have a stupid name. Extra credit (+1) - cool.
cd5678: 9.5: DB: Doesn't do foo (-0.5).
This makes it easy to start grading without assigning point values and then apply them to everyone at the end. Also, having a rubric forced me to grade fairly.

PHP Publisher

phppub - A small script to help set up php projects (with sqlite databases) for viewing.