Overview of solo mining with no GUI's and with GUI's, short explanation. So I recently have gotten into bitcoins and bitcoin mining am enthralled with the idea of the whole system. I even went out to buy a POS Evga 610 GT to start mining the day I found out about it. (currently at a blazing fast 12.7Mh/s)

I am using electrum, guiminer, under slush's pool and have made something like 3cents (.006 BTC ?) in the past week. 

So I plan to, here in the near future, build my PC/mining rig and wanted to start my solo mining career. I am happy to be in a pool but I love the idea of the lottery.

So I was wondering if someone could give me a quick run down of the options for solo mining on a windows machine. Preferably with GUI's such as guiminer and without GUI's. 

I have found this guide
http://www.newslobster.com/random/how-to-get-started-using-your-gpu-to-mine-for-bitcoins-on-windows

Which tells you how to get it running but not the methodology and logic behind it. Could someone explain the steps I would need to take pro-grammatically to write my own miner?
Such as


Create transaction
Build a block object
Hash till good hash found or someone else says they found a hash
Repeat


But obviously more indepth. Aslo please forgive me for my current lack of knowledge, still learning!

** I have a good knowledge of the BTC system, its logic, and how it works abstractly but have not gotten into how nodes communicate and keep the network running. Which is what I would like to know.

Here is me learning the calculation process abstractly
https://bitcointalk.org/index.php?topic=143329
There are a few approaches you can take as of 3/18/13


You can either be interested in the low-cost learning of the protocol and related technologies
You can invest in equipment related to mining
You can invest in BTC directly, exchanging cash for the few Bitcoins that are available.


Just be sure to expect that up front, any of the latter two choices are a gamble.  The knowledge you gain is something you can keep with you as the technology matures.

I'll touch on a few of your points:

I want to be a miner

"Mining" for coins is not always a profitable situation.  It depends on the hardware you use, and often time who you team up with in a pool. 

ABOUT THE HARDWARE:  CPU's and GPUs have been replaced by FPGAs by normal miners.  If you want to achieve more than 0.000x BTC then you need to invest in an FPGA, and soon, an ASIC chip for mining.  Your new video card doesn't have to go to waste, you can partipate in the vanitygen pool, or the litcoin generation pool.  Note that litecoin is a way of diversifying your risk in cryptocurrency and doesn't mean it will achieve the greatness of Bitcoin production coins.

ABOUT THE POOL: Each pool will allow you to even out your earnings over time.  @Meni has written a very nice whitepaper on the subject.  If you're new to Bitcoin, read all his posts.

I want to make my own pool

This is an interesting subject since I also wanted to do the same thing.  It turns out that the math and "hackability" of a pool isn't straightforward and that it's entirely possible you can go bankrupt running one (or whatever you invest).  Make sure you protect yourself from PPS pools of you run one.  I think as of now the safest is "double geometric" for both the operator and the client.  Look up @Meni's whitepaper for more info

I want to just learn the technology

The very uninitiated can run "bitcoind" from their computer with the parameter gen=1 set so it uses CPU to hash.  This is only viable on the "test network" where coins have no value.  To learn this way, simply run Bitcoind with -gen=1 and -testnet set at the command line.

On the other hand if you want to programmatically do the steps you listed, I suggest you read the source code of some of the python or C++ clients available.  It may be a good idea to have your question list the languages that you're familiar with since the code your looking for may have already be written, or even optimized with low level optimizations in mind.

I want to invest

There are a few ways to purchase BTC. Namely MtGox and Coinlab are the top two leading trading sites.  I suggest looking at the purchase requirements there to buy coins at the best price.