mov si, Projects

    Listed below are some projects I am working on or have worked on, a description of each is provided. The ones that are completed and I feel would help others out I have posted for download. If you have any comments or questions on a project just email me (Link at the bottom left of the screen). A lot of projects I work on are purely for my own learning purposes so I don't know how useful they will be to other people, but nonetheless I have posted some of them. The others deal with things I find interesting but probably wouldn't help anyone or would probably not interest others like messing around with Binary trees or modifying Trees to act like a neural network. I have not posted the source code to some executable projects, because I have had too much of my work stolen and no credit given in the past; however if you are interested in a project and how it was coded just email me and I will be more than happy to help you out, or write a tutorial for you.

View Incomplete Projects



Always on Bottom

Finished: 12/17/2001 Version: 1.0
Requirements: Windows 95 or better
Description: I wrote this program originally to get a command console (MS-DOS) to 'stick' to my background and always stay there. Meaning if you click it, the program will not come to the foreground but stay attached to the background. However, one could use this program to attach any program (as a child) to any other program so they can't separate from each other :).

Note: In Linux I use a program called eTerm, which is a transparent console for CmdPrompt. I wanted to use such a thing in my LiteStep theme so I found eConsole which is a transparent DOS, and wrote this program to 'stick' eConsole to the background. If you would like eConsole with AlwaysOnBottom already working together for LiteStep I have included a download for that as well (just extract them to your C:\LiteStep folder).
Download:  [ Always On Bottom V1.0 ]  [ eConsole & Always On Bottom ]

 

Find Files
Finished: 07/16/2001 Version: 1.0
Requirements: Windows 98 or better
Description: This is a simple program I wrote so that I could find files on my computer without using the one that comes with MS Windows. It was a great learning experience especially with recursion and understanding advanced sorting methods (Quick, Shell, DOS, ect). Again, this is quite useful in my Shell Replacement. Download it if you need a File Finder that is pretty fast and will even show you a few folders that Windows search tool wont!
Download:  [ Find V1.0 ]

 

Mandelbrote Set
Last worked on: 02/01/2003
Requirements: Windows 98 or better
Description: This is a program I made to graph the Mandelbrote set and zoom in on it. I am not done writing the Zoom function so it doesn't work properly (sometimes it picks the wrong bounds to graph :p). But if you would like to attempt to zoom in just click on the upper left hand corner of the new window and drag to the bottom right. I didn't finish this program because I began working on the extFloat class to calculate Pi(see below). The program does however produce some very pretty pictures of the set!

Screenshots:

Download:  [ Mandelbrote ]

 

The Matrix ScreenSaver
Finished: 06/06/2003  Version: 4.0
Requirements: Windows 98, ME, 2000/NT, or XP
Description: This is a screen saver that reproduces the code that appears on the computer screens that are looking at what is going on inside of The Matrix. This screen saver can also be used as an executable (by renaming it to .exe). By doing so one can have it run all the time, windowless, stuck to the background (always on bottom), and/or always on top. The main purpose for this was to allow users to use this program in Litestep (or other shell replacements) as part of the background or as a Widget or Module. However, anyone can find use for this program as a .exe to do just about anything! Everything is customizable, from the speed, the Music playing in the background (mp3 or wav), how often the New Window and Hacking/Deja-Vu events happen, to even the color of the code itself! It can do A lot more, just read the Help file for more information.

Screenshots:

Download:  [ Matrix V4.0 ]

 

Natural Sort
Finished: 02/27/2005 Version: 1.0
Requirements: Windows 95 or better, EasyGl (to compile)
Description: Basically my sort breaks a set of data up into naturally ascending or descending data and then merges them back together. It is of O(a log n) and a pretty fast sort, although it isn't as good as quick sort (which I was aiming for) but I am happy with its overall performance. The sort does have a simple algorithm for determining if there are more ascending or descending data, that way if the data is partially or fully sorted the algorithm. In the actual file you can download is my sort with a few others to compare graphically how it sorts, and time wise how long it takes compariably.
Note: The time sorting program (as compiled) takes about 10 seconds to display anything. And the graphical sorting program does NOT accurately run quick sort; they need to be multi-threaded. The algorithm is in interative form(graphical file) and in a simple recursive form(Time file) that runs until its complete. The source code is under the GNU license and is copyrighted material.

Screenshots:

Download:  [ Natural Sort (Source code and pre-compiled)]

 

Navi (Serial Experiments Lain) - Shell Replacement
Finished: 05/12/2001  Version: 2.0
Requirements: Windows 98 or better
Description: This is a theme I made using LiteStep and A lot of special code I wrote to get everything working exactly the way I wanted it to. Basically it, changes the whole Graphical User Interface to what I want it to look like. All the graphics were done by yours truly in Photoshop 5.0, and all programming except from the core of LiteStep was also done by myself. Some of the executable code I wrote can be found below, all other code is only of use with my specific theme.

Screenshots:
  

 

Run (Toggle)
Finished: 05/16/2001 Version: 1.0
Requirements: Windows 95 or better
Description: This mainly has its uses with shell replacements or things where you would like to toggle a program on and off with out directly interacting with that program. It will check to see if a named program is running. If so it will close it, if not it will run it. The program you wish to toggle must be sent as a command argument (ex/ in a shortcut). This is a very simple program but if you find it of use and would like help on how to use it just email me or read the ReadMe.txt included with the download.
Download:  [ Run V1.0 ]

 

Schematic
Finished: 07/16/2005 Version: 1.0
Requirements: Windows 95 or better
Description: This is a Schematic editing program that I wrote for a engineering class I was talking over summer. The code isn't done but it's a pretty cool start. Basically, you can design schematics that use gate logic. Because of the way the code was written, it will be very easy to add a function that converts the graphical design into a logic equation and even a truth table. Hopefully I get around to that soon =P. The source code is under the GNU license and is copyrighted material.

Screenshots:

Download:  [ Schematic (Source Code) ]  [ Schematic (pre-compiled) ]



my Sudoku

Last Worked On: 08/20/2006 Version: 1.0
Requirements: Windows 2000 or better
Description: This is a completely free fully featured Sudoku program. It comes with around a 100 hand made games ranging from Very Easy to Hard. The source code is completely written from scratch and the Sudoku Engine/Class is under GNU License (The game GUI however is not). The code is seperated into a OO Sudoku Game Engine that contains the functionality and a OpenGL GUI that interfaces with the Sudoku class.
   It features a human style solver that never guesses or uses back tracking (which means it can very precisely rate puzzles in a very reconfigurable way). The solver uses bit mapping for several different markup techniques which makes it very memory efficient (around 1k). The solver will also never incorrectly place a number (Which is in constrast to say a brute forse method).
   It also features a Symetric random puzzle generator. It first creates a new solution, then uses transformations that preserve the solutions integreted, then it descides which numbers to remove to best make a new puzzle. It is an average generator that is able to (because of the human style solver) put in some techniques that usually only hand construction can lend to. It will also tell you how difficult the puzzle it created is.

It features:
     - A human style solver / rater (with a current rating of medium-hard)
         - Ratings depend on the techniques that Must be used to solve the puzzle
     - Creation Mode
     - Auto/manual markups
     - Symmetric random puzzle generator (Very Easy to Medium)
     - 2 skin modes
     - Half size miniMode
     - Always on top and Boss Key =)
     - Every action as 2-3 ways to do it (Mouse, Menu, Keyboard). Read the readme!

Features being worked on:
     - Adding more techniques to the solver to bring it to Hard (already very close) and Very Hard
         - Note: As the solver gets better the puzzle generator should automatically scale as well!
     - Adding more hand constructed puzzles from various generous authors ;)
     - A PocketPC and Linux port (GUI manily... the Class compiles under both)

Screenshots:

Download:  [ mySudoku (Source Code) ]  [ mySudoku (pre-compiled) ]
Links: Bangkok Post Article about mySudoku


~`Tenshi`~ - Shell Replacement

Finished: 06/10/2003  Version: 1.0
Requirements: Windows 98 or better
Description: This is a theme I made using LiteStep and alot of special code I wrote to get everything working exactly the way I wanted it to. Basically it, changes the whole Graphical User Interface to what I want it to look like. All the graphics were done by yours truly in Photoshop 7.0, and all programming except from the core of LiteStep was also done by myself. Some of the executable code I wrote can be found below, all other code is only of use with my specific theme.

Screenshots:
  


~`Tenshi`~ - Window Manager (Linux)
Last worked on: 05/22/2004  Version: 0.6 beta
Requirements: Linux w/ X11 installed
Description: I love my Tenshi (LiteStep) theme so much that I decided to program a window manager and several clients so that my linux experiance feels much like it does in windows. The purpose of this project is more than just a 'theme' like its windows counter part. I hope to have a minimalistic Window Manager that uses external code so that a user can completely control the look and behavior of X. Ranging from more minimalistic than BlackBox to more, yes you heard me, more customizable than Enlightenment. However, because of its modularity it will not be bloated as the user loads only what he wants to run! This also allows users to write programs to control different aspects of X without modifing the actual WM code! To see the look and feel I hope to achieve refer to the LiteStep theme above. Also, this WM unlike the LiteStep counterparts will be publicly released under the GNU license. However the Tenshi graphics will not be, so I probably will make a real cool theme for distrobution. Feedback is welcome!

Note: I could not have programmed this window manager without the source and help from a window manager called Golem by Jordan DeLong (c) 2001. In the documentation, all of my original code, code changes, and additions are clearly marked.

 

 

All code, graphics and content
(C) Thomas A. McDonley 2003
Unless otherwise noted.