Student Projects in the Open Source Movement
In the winter term, our CSC630 course covered The Open Source Movement. Central to the study of open source software is building in each student a scrappy, can-do attitude regarding software development: if you feel like some software should exist or should be changed, just make it happen! The main focus of our course was the final project wherein students were tasked with creating a unique software library of their own choosing, hosted on GitHub, available for the world to see and utilize. There’s a twist, though: students had to spend some of their class time each week working on each other’s projects—and to create a welcoming environment to encourage other developers to help out on theirs. The result was a strong sense of community around helping one another create amazing work—the true spirit of open source software. Below is a sample of some of the impressive projects that resulted from the course. ~Dr. Nicholas Zufelt
ePostit ~ Sarah Zhao
With the overwhelming number of emails that clog our inboxes daily, I decided to develop an Outlook add-in, called ePostit, to search for specific emails in Dr. Z’s winter term course that explored the open source movement. ePostit helps efficiently find specific emails among the sheer number of daily emails by allowing users to attach post-it-note-like summaries to emails and then search for these emails with keywords from these post-it summaries. ePostit categorizes emails similarly to the way that folders and tags do but is more flexible, permitting more classifications than normal folders, and user-friendly, replacing the clutter of many tags with one simple post-it. It was such a fun experience working on this project, which I hope to continue to work on and improve, and I am so grateful to have taken this course as it has encouraged me to explore, collaborate with, and contribute to the amazing open source community.
Scarlet ~ Nicholas J Miklaucic
For CSC630, I developed an open-source library called Scarlet, which makes quantifying and working with color simple. I learned a lot about the modern science of human color vision and color theory, and then made a library that abstracted the innumerable complexities of color perception into words that all of us instinctively know—hue, dark, light, saturated, etc. Scarlet takes these concepts and allows the user to manipulate them in a way that makes sense mathematically, but also visually.
ConText ~ Anlan Du
As someone who’s fascinated by both computer science and English, I embraced the flexible, independent nature of this course as a chance to pursue both. To that end, I downloaded a bunch of well-known books from Project Gutenberg. I then created metrics to compare them, using both original code and open-source libraries such as NLTK and Scikit-learn. Through techniques that range from simple counting to probabilistic machine-learning, my library is able to determine which books are most similar to a user-chosen text. This is an ongoing project; I hope to eventually guess a text’s author using this data!
ArmorLib ~ Miles McCain
During Dr. Zufelt’s course, I learned the Rust programming language to build ArmorLib: a fast, efficient, and open source antivirus framework. A journalist can use ArmorLib’s fingerprint detection capabilities to scan text files for hidden information that may compromise her source. A security researcher can use ArmorLib’s flexibility to scan for a new type of malware. A website owner can use ArmorLib to scan uploaded files for viruses. Dr. Zufelt’s course allowed us to improve our computer science abilities while also contributing to the open source community–the perfect embodiment of ‘Non Sibi’! (https://armorlib.org)