Erik Krohn
Department of Computer Science
University of Wisconsin - Oshkosh
Over the years, I have created numerous small tools and software that I am in the process of cleaning up and posting for anyone to use. The majority of them are tools associated with teaching. However, someone outside of academia may find them useful. Tools are offered for free and with no warranty. Click on the name of the program to find out more information about the tool and how to download it. If you have any feature requests or find any bugs, just let me know. Since all of the code is provided, if you upgrade the software and think others would benefit from it, feel free to send it back to me and I'll post your update with an appropriate citation.
Anonymize - A small tool that lets the user anonymize files/folders. Useful for grading if you do not want to know who submitted the assignment. Changes all file/folder names to random numbers and records which random number is associated with which file.
Anonymous Message Board - This is a website that I created so that students could provide anonymous feedback to me. The website initially had no way for me to interact with the student though. If I had a question or comment on what the student wrote, I couldn't respond. This version allows for the instructor and student to have an anonymous conversation. This tool is being cleaned up and I hope to post it shortly.
Find Duplicate Files - This tool is not that novel as there are many tools out there to help you find duplicate files on your system. However, most of those tools are bundled with a bunch of junk. I just wanted a tool that tells me where duplicate files are on my machine. It is then up to me to decide what to do with them. This tool is being cleaned up and I hope to post it shortly.
Simple Editable Client/Server - In my research, I had a problem that took a lot of computation power to solve. Multithreading only went so far. If only using multithreading, it would have taken months to finish the program. This simple client/server template can be used to send information from a server to as many clients as you want to create. Each client can use as many threads as it wants to connect to the server. The server hands out "tasks" to each client. The client solves the task, reports an answer and gets a new task. As of now, knowledge sharing between threads/machines is not possible with this template.