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.
Important navigation information: Mouse over a column header for information about its data or sorting/moving options. Hidden columns are reaccessible via the Hidden Columns section below the main menu to the left.
Name
Thumb
Ver
Description
Rtn
Stat
Start Date
End Date
Languages
Extra Information
Concepts
Projected Time
Notes
Requirements
Dwnld
Project Name Title & Link to Information Page
Thumb Project Thumbnail
Version Project Version Number This is only set for uploaded (complete) projects
Description Overview Description
Rating Personal Rating based upon achieved goals, usefulness, final project outcome, time it took to make, and skill level.
Status Status of project with the following possibilities:
C: Completed and released. Updates may still be made in the future
SC: Specs Completed. These are not so much true projects as just data from assignments or such.
-: Ongoing. Project will never be considered “complete” and will be continually receiving updates
%: Percent organized. Project was/is completed, and just need a certain amount of touching up for release. Expect to see these being released periodically in the near future.
%: Percent completed. Project has not been completed, and should not be expected for release any time soon.
x: Abandoned. Project is incomplete and there are no plans to finish it.
Start Date Start Date of Project I am as accurate as possible with these, with a precision of a month. I had to go through a lot of old logs to find some of this info :-(
End Date End Date of Project (Official release, not including updates) I am as accurate as possible with these, with a precision of a month. I had to go through a lot of old logs to find some of this info :-(
Languages Computer languages used for the project Click Here for language information.
Extra Information Main scope and explanation of the project without going into intricates. More information is probably available within the projects information page, especially if project is complete.
Concepts Important programming concepts used in the project
Prj Time These are the guessed (often probably quite far off) amount of time spent doing a project, unless noted with a *, meaning time was kept track of.
Notes Interesting notes, or things I learned from the project
Requirements Requirements to run the project. Windows is always assumed, unless noted with a *, meaning the application was built for cross operating system compatibility.
Download Download Binary and/or Source. A red S indicates the source will later be provided. A red M indicates download information is available in the project’s contents section.
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.
Hardware Integration, Large Scale Databases, optimized and stable code to run thousands of transactions a minute, among many others
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
Mobile compatibility, scalability
900
When trying to create a complex new experience, custom software always does the trick
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
Graphics, 3d algorithms, insane cube-i-ness
35
I’ve always been a bit obsessed with the rubiks cube...
Rating Note: Is one of my all time favorite projects. I had so much hopes for it, but never finished :-\. It was in a working state though and ran multiple games.
Very long project with lots of history. Plays (some) NES games! ^_^
Emulation (Which involves too many concepts to list including CPU architecture, sound wave generation, reverse engineering, graphics, and many many more)
Rating Note: I much prefer application programming, but have been doing websites for a living for a while, and am really fast, prolific, and experienced in the field.
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.
“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.
Rating Note: Lots of configurable and toggle-able options to make the program more versatile. Can be used to replace standard Windows Picture Viewer or 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.
A MySQL library for PHP with functionality to help facilitate cleaner and quicker SQL access
Rating Note: This has been an ongoing library for a long time that has constantly shaped and evolved into exactly what I want and need (Along with DWCF)
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.
Dakusan’s Web Communication Framework
A communication framework between the client and server sides of a website with an emphasis on security.
Rating Note: This has been an ongoing library for a few years that has constantly shaped and evolved into exactly what I want and need (Along with DSQL)
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.
Security, Generic Libraries
15 hours
This class can use any unicode encoding, however, you must make sure the same encoding is used on both the client and the server
PHP Server; jQuery for the client module; The server optionally uses DSQL
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.
Android, GPS, Google Maps
17
Android Platform, MySQL Server, web server with PHP support, Google maps API key
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.
GUI Design
25
I hate branching library dependencies ^_^ (and creating GUIs!)
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 :-)
8
Command line
Python 3 (compiled against v3.4) or Windows
The Plex database
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.
Reverse Engineering, Graphics, Common Sense
25
When you want something, sometimes you have to do it yourself
I really liked some backgrounds on a virtual computer desktop of the first .Hack PS2 games and wanted them for my computer, so I got them.
Reverse Engineering
15
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 web based application that allows for managing a venue’s daily event bookings.
Rating Note: This is very typical of web CMS systems I put together (of which there have been dozens), and while it wasn't a particularly large or complex project, it delivered strongly what multiple clients needed.
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.
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.
Networking, HTTP, executable and memory footprint size minimizing
60*
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
DNS write/refresh and PHP access to the server hosting the domain, written for the namedDNS server
This was an experiment to get some solid performance numbers from computationally expensive processes written in different languages.
3D Geometry, graphics, cross-language development
6
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.
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.
Low level windows hooks
3
Well, Microsoft is always going on and on about handicapped accessibility...
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.
Networking, security, good fun
40+
While this was completed I do not plan on releasing this, for what I hope are obvious reasons.
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.
Weee Solitaire! This was written in the age when Klondike Solitaire was the norm before FreeCell and Spider started taking over peoples' lives.
?
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.
A desktop buddy in the form of a pair of eyeballs that follows your mouse cursor around, keeping the pupils always focused on the cursor.
Rating Note: Was a very simplistic fun little program I thought up while bored in geometry class. Was just learning about trigonometric functions (sin/cos) you see :).
The more program instances you add, the creepier it gets!
Windows APIs, geometry, animation
3
#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.
Recursion, digitally linked list
< 1
Offered to throw this together for a family member that needed it, as I already had all the base components I needed to make it.
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.