FarAwayForests

Seth Vance's Software Projects


I am currently rebuilding my website, because of this and the underlying migration, many links on this page will not work. Come back soon!!

Software Projects & Programs

Welcome to my software project page. A number of my projects are not available for download as they are being remade. Much of the software I have created has been contracted for different companies and as such has not been made available. Some of those are in the active process of being remade from the ground up as open source releases. My favorite programming languages are PERL, C++, & PHP. I also have worked extensively with both Java & JavaScript.

I am pretty old-school when it comes to software development. Occasionally I use the NetBeans IDE; however, the vast majority of my software ( and websites for that matter) are made using KATE. KATE, combined with Firefox Developers Edition, Konsole, and a bunch of custom PERL scripts, make up the majority of my programming tool-set. Minimalist? Yes. Arduous? Sometimes. Effective? Always. Being an avid FOSS advocate, almost anything I create personally will be released under either the MIT license or the Apache 2.0 license.

Software Highlights

Accumulus
Accumulus is a networked transaction manager that allows for the integration of real-time web code linting from within a browser. It is designed to aide browser-oriented web design, especially in the academic sphere where it provides interactive tools for students, and automatic syntax grading for instructors and teacher's assistants.
Daedalus & DaedalOS
Daedalus & DaedalOS work together to assist computer technician shops in the process of stress testing computers and automatic asset association and management.
Lapse
Lapse is an interpreted, byte-code based soft-compiled multi-paradigm flexibly-typed cross-platform programming language written in C++, inspired by PERL, with a focus on syntactical consistency.
JAB: The Javascript Appendant Builder
JAB is a powerful string based DOM builder and manipulator framework feature a compact 4KB size, batch manipulation, and fast performance.

Accumulus

Built Using: JavaScript & Node License: Apache 2.0

Accumulus is a server and group of browser scripts that work together to provide real-time linting and validation to assist in the process of web design specifically for the browser-oriented development style. Accumulus is especially designed for academic environments with a great number of features and modules that aim to assist student, and instructor alike.

Additional Information & Downloads

How Does Accumulus Work?

Accumulus is an Express.JS based Node server that is server-configurable through JSON & ENV formats. Accumulus allows the creation of "Kits" that provide access to clients and instructions on how the client script should behave. The goal of Accumulus is to provide instantaneous feedback to students and instructors alike in regards to coding best practices as well as coding errors and validity. Accumulus itself provides no such service, but acts as the automatic intermediary for other projects through Accumulus Modules, or, wrappers around static code analysis tools.

Accumulus provides easy access to industry standard linting tools to students new to the world of web development, through including a single, short, copy-and-paste-able line of code to a student's website. From here, every time they load it in their browser, not only can they see exactly how their website will look to end-users, but helpful messages and pictorials will be presented to within the browser itself. Accumulus is fast, efficient, and tested to be compatible with WebKit, Gecko, & Blink based browsers (Goanna currently broken).

Because of the scope of this project and what it has transformed into, it has been given its own project page. Please click the link below to read more about using Accumulus as an instructor or as a student:

The Accumulus Project Page

Downloads:

Setting up your own Accumulus Server is easy and straight forward! Before attempting to setup an Accumulus instance, it is recommended that you read the full project page linked above.


JAB: The JavaScript Appendant Builder

Built Using: JavaScript License: Apache 2.0

The JavaScript Appendant Builder is a simple but powerful string based JavaScript DOM builder & manipulator.

Additional Information & Downloads

How JAB makes DOM manipulation easy:

JAB takes either a string or an object as its input, or, if given no input, it defaults to the body. From here, either using the in-build manipulation short hand or the series of helpful functions, you can change and manipulate any aspect of an elements, multiple elements, or even different aspects of different elements with compact simple lines.

Examples of JAB:

Example of JAB Shorting Code
Notice in this comparison how JAB is able to take a very common DOM tools element creation and simplify it into one line! You can already see how JAB could make repetitive tasks easy through variable interpolation and looping.
Example of JAB Shorting Code
The use of "&&" shorthand allows JAB to change elements it selects, such as adding, removing, and toggling classes. By using JAB for common, mundane tasks, programmers are able to streamline tasks and save loading large swaths of boilerplate code.

JAB can do a lot, and as such, the following page details how to use JAB in your front-end JavaScript to simplify your life:

Using JAB: The JavaScript Appendant Builder

Downloads:


Daedalus & DaedaluOS

Built Using: Lubuntu, Java, BASH, & PHP License: Closed

CURRENTLY ACTIVELY BEING REMADE, MUCH MORE TO COME!

Daedalus & DaedalOS is a server and custom operating system designed for technician shops to use to automate accounting hardware assets, stress test computers, better document and analyze returns, and easily manage inventory.

Additional Information & Downloads

More about Daedalus:

One of my first large projects, written to automate a large part of the production line at a former employer of mine, Daedalus was a Java program installed on a Lubuntu Linux image used to stress test, verify the specifications of, and manage the serial numbers and inventory of a wholesale computer repair warehouse. Daedalus was designed to pull serial numbers from hard drives, RAM, and the motherboard of a target machine (typically loaded over iPXE). After doing this, it would then run a series of tests checking the health and well standing of the GPU, CPU, Drive (from S.M.A.R.T. data), and I/O. If all tests were passed, it would then ensure that the machine was built/upgraded/downgraded to the proper specifications set by the order number on the server, and then proceed to save all of the information that it had acquired to the server and inform the attending technician that the machine was ready, or display an error informing them of issues.

The web-based Daedalus console would then allow for the easy generation of order forms, labels, as well a tool to handle RMAs/returns. This system increased efficiency in exponentially where it was implemented, and I plan to eventually rewrite the client in C++, remove anything that was company-proprietary from the server, improve the system, and then re-release it for free here under the Apache 2.0 license.

Downloads:


Lapse

Built Using: C++ License: Apache 2.0

Lapse is a Perl-inspired, multi-paradigm, dynamically typed, mixed-type, cross-platform, interpreted, byte-code-compiled programming language that I created also while bored in a class. It is designed to be fast, and above all else consistent in its lexical syntax. Lapse code can be ran directly where it is compiled in a J-I-T form, or pre-compiled into a lapse executable file that can be ran directly by the lapse engine. When the first version of Lapse is released it will include much more information on its usage, what is included, etc. This is an ongoing project, more to come soon.

Additional Information & Downloads

More About Lapse:

Below are some examples that demonstrate the syntax style of Lapse.

Screenshot of Lapse programming language 1
Here is an example of Hello World written in lapse
Screenshot of Lapse programming language 2
Another example, this time outputting a variable after a calculation
Screenshot of Lapse programming language 3
One more example, showing it in an object oriented form

If you are interesting in learning more about Lapse, it will have its own page on this website soon.

Downloads:


BreenBot - @TheDailyBreen Twitter Bot

Built Using: Node License: Unreleased

CURRENTLY INACTIVE

As a Christmas gift to a friend, I transcribed all five movies made by the cinematic visionary known as Neil Breen, and then proceeded to build a bot that tweets out random movie quotes a few times a day. Follow it on Twitter to enjoy! Note: With the current landscape of twitter as it is, this may or may not be actively working.

Additional Information & Downloads

Links:

Twitter: @TheDailyBreen

WaterSortGame

Built Using: C++ License: MIT

During a stint of extraordinary boredom while in a meaningless class, I decided to try to speed run through the process of coding a clone of one of my favorite mobile games, "Water Sort" solely within the confines of a terminal window. There are plenty of things I could have written more efficiently, but again this was a speed run completed in just a few hours.

Additional Information & Downloads

Downloads: