Warning: you do not have javascript enabled. This WILL cause layout glitches.
Projects - List view
The following is a list of all projects I have been able to find that I have worked on over time, sorted by rating.
Click on their title to go to their page with further information.
Many projects are unfinished, or just not organized enough yet to be uploaded, and only have their basic information displayed.
I will be periodically getting up the projects marked in green first, as they are done, but just need some cleaning up.
Don’t expect the non-completed red ones anytime soon. Alas, but life and real work keeps me away from the fun stuff....
When projects are uploaded for release, much more information will be included. It unfortunatly takes a lot of time to get everything sorted out for release. Questions, comments, and suggestions can be sent through the forums.
Description: A suite of products for managing ticketing and entrance into venues and providing social media and cashless solutions for (mostly) music festivals.
Current products include databases and software for “white ticketing” solutions, ID badge creation and management systems, facebook/social media technology integration, and ticket cashless/addon management.
Gregory Charles’ 8 million dollar Vintage Experience project. This included:
The primary website
Voting software that handled millions of web page votes in under 30 seconds, which was first deployed during the Gala Artis, a Québécois Television Award Show
A complete suite of control software for the stage manager to push audience content to two gigantic stage monitors and the monitors embedded in the artist’s piano
Mobile compatible web pages for the audience to answer live questions and send chat messages to the artist during the performance to help shape the show
Mobile compatible web pages for the audience to order drinks during the show, and for the staff to manage the drink orders
Virtual cube with multiple face and cube view rotation methods, find solution (in under 20 moves), input custom cube state, remap face colors, save/open cube states, view from multiple angles, solution tutorial, and timer
Concepts: Emulation (Which involves too many concepts to list including CPU architecture, sound wave generation, reverse engineering, graphics, and many many more)
Description: C2 is a business conference that has multiple conferences per year across the world. I created multiple systems for the Montreal conference
Most of the websites’ I’ve participated in as the primary programmer with information including programming languages used, the designer, creation dates, screenshots, and what I was involved in for their creation.
This is an Android [phone] application that displays one random letter at a time at industry standard sizes for a patient to read for visual acuity testing purposes. It is intended for doctors to use as a portable eye test chart.
Description: “Picture Viewer” cycles through a compiled list of image files for viewing at set intervals. Images can also be overlaid on the screen, and this can also be used as a screen saver.
Python wasn’t really built to utilize normal (C based) DLLs and Windows APIs. It’s really clunky to use both of those... but oh well. It’s an interesting language.
I’ve found using php’s included MySQL functions to be cumbersome, take a lot more code than necessary, and create code that is not very readable. I am also not completely happy with PDO, so DSQL is my solution to this problem. I use it heavily in all of my professional web projects.
The classes in this library are written generically so they could easily be converted to any other database software.
Description: Dakusan’s Web Communication Framework
A communication framework between the client and server sides of a website with an emphasis on security.
This helps facilitate quick, clean, and secure asynchronous communication for a website via AJAX and JSON.
The PHP and JS classes are independent and not required for each other. However, some of the functionality of each of the two classes complements the other.
This set of applications keeps track of a user’s current global position via GPS on their android device so their whereabouts can be monitored through a Google Maps interface. Only the current position is known, and previous positions are not logged. A person’s position cannot be viewed by another user without an access key provided during registration.
Dynamically configure any global hot key to: Set availability status (message can be chosen many ways including via a popup); Move pidgin Buddy List to top/bottom of windows; Hide the Buddy List window or taskbar window.
My music directories have been growing for over 2 decades in a folder based hierarchy, often using playlists for organization. Plex’s music organization is counterintuitive to this organizational structure, and Plex currently does not have an easy way to import external playlists. Hence this script was born :-)
I Originally tapped the MMORPG executable memory and pulled the “hidden” character information from it. The second version edited the executable itself and had it display the information in the client’s GUI.
This might be usable for other PC or console games, most likely more PS2 games, as they might use this same file archive format. The program might take a little tweaking for them however.
A menagerie of web base scripts. Besides the pluggable ones, there are also informational based ones like the date and character converters.
See content section for downloads.
Requirements: Web Server or Root command line access; Letsencrypt command line executable;
cPanel (Any of these can be switched out with other services)
Description: An interface to manage Recipes for Guild Wars 2. The interface allows filtering and sorting recipes by many variables. It also has user toggleable checkboxes per recipe that you can use to group and filter recipes. For example, all recipes with the first checkbox selected might be recipes your primary character already knows.
This project has 2 parts. The first pulls all of the Item and Recipe info for Guild Wars 2 into a database. The second is a client side only recipe management interface (no server processing).
I threw this together for a friend in 8 hours, as some of its functionality coincided with stuff I needed for another one of my projects. It was not meant to be pretty, so the interface is a bit spartan, and the code comments are a bit lacking. It also doesn’t check user input very thoroughly :-) .
Updates the IP address of a domain which you own (for example, home.yourdomain.com) to that of the reporting computer. The client connects to the DNS server that you (or someone who can install this) has full access to. With this, someone outside your location can always look up the IP address of your home computer to access it for whatever reason across the Internet. Some example reasons include troubleshooting your computer via remote desktop, a web server, or web cam access. This works across NATs too.
This was very useful when ISPs often forced dynamic IP address changes when release dates were hit. Fortunately, you can bypass that nowadays by just keeping the machine (usually a router) with the assigned IP address active, which is especially no longer a problem now that home [wireless] routers have become such a norm.
Also, adding the extra stuff is always what takes all the time!
Time to program working DDNS client: 5 hours
And afterwards, time to debug, add bells and whistles, make a working service, design, and shakedown making sure it has all it needs: 55 hours
Concepts: Networking, HTTP, executable and memory footprint size minimizing
With a little 3D knowledge involving vectors and matrices, true 3D engines can be written in any language. Speeding up these engines however is a little tougher.
Concepts: 3D Geometry, graphics, cross-language development
My best friend in college told me about a keyboard that allowed you to type with only one hand by remapping both halves of the keyboard to the other side (swapping when a toggle key is held down), so that it had a backwards QWERTY layout. So, essentially, you could reach the whole keyboard with either the right or left hand.
It will soon be expanded to instead remap keys based upon a configurable ini file so it could be used for other purposes.
Ah my hacking days (1996ish). This was one of the first modern fully fledged Trojan Horse backdoors, I believe. It was completed well before the Internet and firewalls were commonly known, and well before publically available Trojans like Sub7 were conceived. Unfortunately (or maybe fortunately ^_^; ), I never actually used or released it. It was more of a learning project for networking.
Most of the Personal Libraries were originally written for this. Due to proprietary reasons, I am only including one of the visual interfaces I had created for this for download.
Source code is currently in a complete mess and needs a serious reworking. I actually wrote the base code for this project out entirely on paper when I was at a relatives for the summer and without access to a computer. Surprisingly enough, it worked perfectly after I typed it in without a hitch. This was the very first real programming project I did, as I was learning my first modern computer language. I was rather proud of it at the time. I wrote it the summer before I entered the 6th grade.
#1 99% of the time, a person will enjoy an incredibly unsophisticated cute program over a highly complex real time one, ie, a dynamic fractal landscape
#2 Do not base program time-based events on the assumption that everyones computer runs the same as yours. Add actual time (millisecond) based sleeps and checks. (The easter egg originally broke when moving from my [486?] to my [pentium?] because it was based on doing certain actions in a certain amount of clock cycles [computer based time]).
A basic example of plugging my original “Digitally Linked List” (See Scrabble project) into another project. I only worried about making it work for 1 word, but could very easily be adapted for multiple words.
Originally used for a senior English project in high school (which I may put up later), I ended up turning it into a computer language speed comparison
User logs in via ID and takes a multiple choice test. Questions are held in one small binary file, and all user answers are logged in another. Admin can log in and view all user answers, and statistics on tests taken. Includes admin interface to create questions. Completely self sufficient data structure. Would be more appropriate in a web environment w/ database nowadays...
I wrote this when I first started playing around with numeric bases for encryption and other purposes. Custom arithmetic functions were made to work on base 10 numbers of any size stored in strings.
A clone of a program I had seen and couldn’t find, as the Internet was not yet really around as we know it today, so I just recreated it. If you want to get a laugh out of any easily pleased persons nowadays, just swap out the “poll” question for something relevant to today.