Folder Organizer is an organization tool designed to help users store all of their files and websites in one location. Folder Organizer uses a simple drag and drop interface. To add a file of website users simple drag the file, or URL onto the window, and their data is automatically saved for them. In addition to the simple and easy to use drag and drop, Folder Organizer also has an import feature, which allows users to quickly add many files, folders and programs to Folder Organizer's data. Finally, Folder Organizer has several sorting options, to help users stay organized. If you want a to organizer the list yourself you can, but if you want the list to automatically update based on use frequency, Folder Organizer can sort itself for you.
While Folder Organizer is technically a finished project, every so often I will find a few small bugs, or small features that would help make Folder Organizer better. I will usually only patch Folder Organizer once every month or so. For an up to date version of Folder Organizer visit the Folder Organizer page.
Folder Organizer is my single proudest programing project so far. The original idea behind Folder Organizer was to create a program that could help to organize my quick launch and my desktop by pulling all of the programs off it, and allowing me to somehow store inside of a program.
My first try at this program in VB.NET was a program called AutoComputer, which can be found. AutoComputer took the original idea from AutoIt and added user friendlessness to it. While making it, I was very happy with it. I was able to do everything I wanted to do with it, and I ended up with a much better program than what I had in made in AutoIt. My VB.NET AutoComputer has user friendliness and many more extra features than my original AutoIt AutoComputer.
As I learned more about how VB.NET worked, I began to realize that most of what I had done in AutoComputer was bad. I had missed all of the good coding standards, and had created a program that was nearly impossible to edit or change in any way. If something went wrong, my code was so bad that it made it almost impossible to fix it.
Eventually, and reluctantly I abandoned my entire AutoComputer idea. My attempt at writing in a better language had failed, and it had taken me weeks to write it. I tried going back to the original idea of AutoIt and wrote file paths directly into a program, and then used the program to help organize, but nothing I did, was ever as good as the original AutoComputer.
After about half a year of writing small programs to replace AutoComputer, and then scrapping them, I had a new idea for a program. This program would have 2 major improvements over AutoComputer, first it would primarily focus of user friendlessness, and second I would put in a huge effort to write good code, and comment everything I did. My new version of AutoComputer used a drag and drop UI to allow users to easily add the files/folders/program/websites into one convenient location. I also kept the UI very bare, there was no settings to change, or font color to mess with. This version of AutoComputer, which I called AutoComputerV3 was elegantly simple yet completly functional.
Unfortunately, while working on AutoComputer one day I broke a key part of how it stored program data, and to this day have been unable to fix it. Having learned Object Oriented Programing about a week before this horrible bug I created, I decided to once again rewrite AutoComputer. This time however, I planned out every part of it, so that the UI would be simple, but the user would have settings to work with. I also, stopped storing program data in an INI file, as I had found the VB.NET My.Settings object.
The program Folder Organizer, which I currently use all the time, combines all my knowledge of VB.NET into a single program. The complete source code of Folder Organizer can be found below.
HTML Live View is an HTML editor with a split view. On the left side a simple text editor editing an HTML page. On the right side a web browser loaded to the HTML page. As changes are made to the HTML page on the left side, changes are automatically updated to the web browser, allowing users to see their changes as they make them. Also included in HTML Live View is a complete list of all HTML tags, and information about what the tags do.
HTML Live View is still under construction and receiving updates about once a week. For more information on HTML Live View, visit the HTML Live View page.
I started working on HTML Live View when I started learning HTML. I found that notepad was far to primitive to work on creating large web pages, because as I made changes, I had to save and refresh a web browser. I decided to try to create my own editor, with the only goal being to allow me to see my changes as I made them. After using it for a while, I found myself looking up what every tag did, before I could use it. To fit this need I added a list of all tags, which linked to information on all the tags. The final feature I added to HTML Live View, was actually unrelated to the original purpose of the program. For some time I had been interested in creating my own console. So as an added feature, HTML Live View, also has a console, which can be used to change some of the programs settings.
ClipBoard Extension is a simple program designed to extend the functionality of the windows clipboard. ClipBoard Extension runs in the background, and monitors the use of the CTRL+c/v keys (Copy and Paste). When the copy command is sent, ClipBoard Extension intercepts text that was copied and clears the clipboard. Then, when the paste command is sent, ClipBoard Extension displays a list of all strings that have been previously copied. Users can then select the string that they want to paste, by clicking it with the mouse.
Note: No picture of ClipBoard Extension is available because of a basic design flaw in how ClipBoard Extension works. While open, ClipBoard Extension only allows strings to be copied, thus I was unable to take a print screen image of ClipBoard Extension running.
I started working on ClipBoard Extension when I heard of a feature in Microsoft Word, which allowed users to see a list of everything they have copied and then choose one to paste. It occurred to me that a similar feature could be very useful for programing, because commonly there are variable names and function names that it would be easier to copy and paste, rather than type exactly. As I worked on ClipBoard Extension, I found that VB.NET was not the correct language to right this program in. VB's ability to intercept and override the copy/paste commands was poor, and thus, when used ClipBoard Extension override all functionality of the clipboard. If users copied anything other than text, ClipBoard Extension would clear the clipboard of it. I stopped working on ClipBoard Extension in VB, however, I did attempt to remake it in AutoIt.
Database Application is a complex database program that is primarily focused on objects. Almost all of the forms in this program are generated dynamically through the use of objects interacting with objects, which interact with the database. The database uses several tables which are all linked together by join tables. The program itself is a demo/test program for an employee security badge scanning system. Included in the program is code needed to for an RFID badge scanner to scan badges in, and return the badge number to a form inside the program.
Database Application was the final project for my advanced VB.Net class. The project was completely is several parts throughout the class. Through this project I learned all about how objects work, and more importantly why I should be using objects. This project also had a large focus on databases and using objects to interact with the database. Due to a general lack of time with the class itself, a few of the features in UI do not work, as there was no time to learn how to code them in. This program was designed to be an employee security program, in which, an RFID badge scanner would scan badges, and check to see if users were a database.
Project hangman is a program which allows user to play one of two types of hangman:
In Regular hangman users pick a word length and a number of guesses. The program then random selects a word from a large word list. The game is then a simple game of hangman against a computer who's vocabulary is rather large.
In Evil hangman, users pick a word length and a number of guess. The program however does not choose a single word. Instead, the program maintains a list of all words of the correct word length. As users choose letters, the word list is shrunk to not include any words with the chosen letters, while still maintaining at least one word. If users do not know before hand, evil hangman can appear to be a regular game of hangman, in which you simply guessed wrong over and over again.
Notepad-- (minus minus) is a simple text editor. It allows users to open and save text files, as well as change the appearance of the text. Notepad-- in an incomplete project. There are many unfinished features in the UI. Unlike a standard text editor such as notepad, Notepad-- saves user settings on close. Specifically, Notepad-- saves font, size, color, and back color on close.
I started working on Notepad-- when I noticed that I could not change the colors in Microsoft’s Notepad. At the time I wanted to make notepad resemble a console, by change the back color to black, and the fore color to lime. When I found out that notepad does not support color changes, I realized I could write a program very similar to notepad, but with the option to color change.
The name for Notepad-- comes from the far more advanced program Notepad++. My idea for a notepad program was to create a program very similar to notepad, only less powerful. At the time I did not see a need for many of the feature that notepad had, and thus has no intention on including them.
Notepad-- is an incomplete project. It works as a simple text editor, but more of the UI features, either do nothing, or do not work completely. The main reason I abandoned Notepad-- was because while I was learning a small amount from it, I was far more interested in trying to create a very simple program similar to paint, which I had absolutely no idea how to even start.
Not Microsoft Paint, or NMSPaint is a very simple graphics tool. It allows users to draw thin lines, thick lines, rectangles and circles. Unlike most other graphics programs, when using the rectangle or circle tool in NMSPaint, clicking and dragging will draw many shapes. NMSPaint has no save feature, and in fact drawings can be lost by simple minimizing the window. Because of this, NMSPaint is less like a simple graphics program and more like "etch n sketch".
AutoComputer is the precursor to Folder Organizer. AutoComputer is only worth mentioning because through many iterations of it I was able to learn what did and did not work, so as to be able to create Folder Organizer. AutoComputer was the first major project I ever wrote in VB.NET. While functional, the UI of AutoComputer is cluttered, and the program itself is very slow. Through the images (above and below) you can see that AutoComputer's windows are unnecessary huge. The code for this version (the one shown in the pictures) of AutoComputer is not available, as this was my first VB.NET project and my lack of knowledge makes the code unreadable.
The source code that is available is for a different version of AutoComputer which cleans up the UI and is the direct predecessor to Folder Organizer. Unfortunately, I ruined the some piece of the code to AutoComputerV3, which to this day I can not find, and fix. Whatever it was that I broke, it stops AutoComputerV3 from working. However, unlike my first version of AutoComputer the code to AutoComputerV3 is clean and commented, and is thus available above.
The AutoComputer project was one of the most important projects that I ever worked on. Through it, and then eventually through the Folder Organizer project, I leaned far more about VB.NET than I did reading any book or taking any class.