Concurrent OS Command Executor for Linux using Java Virtual Machine

Standard

For my Java Applications class we were required to incrementally design a Java software system that could run Operating System commands in parallel. I chose Linux Ubuntu as my testing OS, however this program should technically be portable to any system with Java installed. I designed this program to incorporate modular components that do not contain dependencies among each other. This should allow quick concurrent execution of commands without much memory space collisions so long as the user does not define the OS commands to conflict.

This application also provides an editable text file, where a user can modify, add, or delete as many parallel “jobs” as they want to run. These “jobs” are essentially shell scripts that can be run sequentially. The standard output and error can also be retrieved by the user for use in their own program.

To test the program, I made 5 copies of the OS’s English dictionary file and used Grep’s regex packages to search and match words against 5 different tags. Each copy and search of a single dictionary was performed as a separate job (ran in parallel).

Here is a Github repository with source code for the components as well as the aforementioned testing program:

https://github.com/MattLamont/Java-OS-Command-Executor-.git

Basic Cellular Automatons Application for Android

Standard

One of my first application development projects was a practice application I developed for Android smartphones that created and displayed Cellular Automatons and allowed the user to create their own.

I named the project “Thundersnow” (I know it sounds really corny) and began learning my way through Android’s various API’s. I spent much of time learning how to programmatically develop user interfaces and process user events. The very first feature of the app allows a user to view 17 of the most interesting Cellular Automatons and interactively alter the color and resolution of the automaton.

cellular automatons

The application also allows the user to choose and select the automaton rules to be active and generate their own automaton.

automaton generator

Overall, developing this app was a fun and creative experience where I had the chance to learn about and use Java, XML, Android operating system, Linux, user interface elements, image editing software such as GIMP 2, and animations just to name a few.

Here is a link to a Github repository containing the source code:

https://github.com/MattLamont/Project-Thundersnow.git