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 Completed Projects


extFloat class
Last worked on: 03/17/2003
Requirements: Windows 98 or better, C++
Description: This is a C++ class that can calculate floating points to any decimal place need given the amount of Ram and Hard Drive space you allow it. It is pretty fast although I haven't gone through and optimized it as of yet. With this class I am planning to calculate Pi to as many places as I can, not break any records, just a bragging right. I will use a formula I came up with to calculate Pi using fractals. To learn more about it click here. Anyway, this is what I am working on right now and having A lot of fun :)
Download: Not done yet



Omega OS
Last worked on: 12/23/2003
Requirements: 386+ processor and a floppy drive
Description: This is a homemade Operating System that I began working on in the middle of 2002. I work on it off and on for long periods of time until something else spikes my interest. At this point 90% is in NASM x86 Assembly, the rest in C. Right now I have finished the BootStrap, the Bootloader. The Bootloader loads in the kernel (which right now is nothing but a blinking prompt). It sets the A20 gate, setups Protected Mode and the IDT and GDT. I have also finished working on the Fat(12-32) Drivers, Floppy Drivers for reading and writing to the FD using ports and DMA! Right now I am working on Hard Drive drivers, Paging and Multitasking which is mainly the micro kernal. This is A lot of work for one person and my unrealistic goal is a OS that can run Linux and Windows programs without emulating but by translating to native calls. All the code was written by myself, with no copying what so ever. However, I do have A lot of thanks to my friend Luis Howle for encouraging me to finish the floppy driver (when it was really pissing me off :p) and for making one along with me; which is just cool to talk to each other about. Below are the most important links anyone could have for OS Development. Use them if you are looking into OSD or just want to learn Assembly. Any comments or Questions please email me.
Download: None... yet ;)
Links: [ Art of Asm ]  [ OSD Resource ]  [ Triple Fault Club ] <--Join now :p



OpenGL Forms class

Last worked on: 10/13/2002
Requirements: Windows 98 or better, C++
Description: This is a C++ class for OpenGL that makes it extremely easy to draw windows, buttons, textboxes, and labels in a game or graphics environment like OpenGL. Everything can be shaded in the code or skinned with bitmaps. I haven't finished it yet, and plan to add a few more things and make it more functional and user friendly before I release it for download. You can see a picture of an unskinned form in the Mandelbrote project (However when you drag the form in the program is smears due to how the Mandelbrote program draws; this isn't a problem with the forms class). Download: Not done yet

 

~`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.

 

Templated Tree class
Last worked on: 3/03/2002
Requirements: Windows 98 or better, C++
Description: This is a C++ class for Trees and Binary Trees that can do about anything you could ever wish to do with them. I love the Tree Data Structure alot. I like how efficient they are and how complex situations can be solved with simple recursive code. This class is coded in a way I usually call 'flexiable' which means that a small set of tool functions are provided that do basic tasks; from those few function literally anything can be done in a few steps with a good understanding of how the tool functions work (Ex/ is how so many Photoshop effects can be created with a realitively small set of filters). The coolest thing I have done with Binary trees is how I answered the last question on the Part Two of my AP Computer Science AB exam. The function recursed and build up a very complex crystal like structure (if you were to graph it) and then collapsed in a orderly fashion to find the decrypted string the question was asking for. It was small, effiecient, fast and beautiful... everything I love about programming.
Download: None (email me if you would like the source code)

 


VCommand (VUI)

Last worked on: 09/15/2001
Requirements: Windows 98 or better
Description: This is a vocie recognition program that lets you control your computer. You tell it a word and the action you want it to do when you say the commmand word and the action word. For example to shutdown my computer I would tell it to perform the action shutdown when I say the word 'Shut Down'. If the command word is 'computer', to shutdown the computer I would simply have to say "computer shutdown". Telling it how to react to a word is done in a GUI menu and there are basic actions that users can link up and form Macros to do just about anything from running a program to a series of actions need to check email (log on to the internet, open IE, goto hotmail, and login). The program works very well and all the examples I gave above I have been able to do with it. However, I don't release it because I don't feel that it is user friendly at all and it can't distringuish when the user is talking to it or to a person in the room; even though it can tell the difference between music being played (with or without words) and the user... with a performence hit of course. When a conversation happens where more than a few words are spoken the program can lock up trying to interperet everything that was said. I never intended it to get any further than this anyway; I really just wanted to see if I could make and understand how to make vocie recognition.
Download: Not finished yet

 

 

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