Its been a long time since I’ve written anything, I’ve kept busy at work and at play. On the work side I’m going to look into what it will take for me to actually run Three Planets as a real company, mainly for tax purposes and my own sanity. On the play side, there’s been a LOT more developments.
I just picked up a motorcycle about two months back since one thing I love to do while stuck on some code is drive. Naturally I figured that riding would be an even better escape. It turns out it is, but I’m concentrating too much on the riding to be able to head-code. The upside is, this is probably the most fun activity I’ve ever found. So, meet Kari:

I realized on Sunday that I’ve put 1000 miles on her in the month and the week since I got my license, not too shabby considering I probably spent on the low side of $100 of gas for that entire time! Since she’s an older bike, I’m doing as much of the maintenance as I can, so that I’ll only need a mechanic for major operations. More on that later.
I also (very, very recently) decided to get into Gun smithing. To that end, I’m going to be making an AR-15 over the next month(s), and keeping track of my progress here.
So, what do the two new activities have in common? Both of them stem at least partially from an interest to be reliant upon only myself for work. This comes from the programming I do, where I have chided others for not thinking outside of the box, and really doing anything they want with the code. It finally dawned on me that that goes in all walks of life, and you can even approach it in the same way.
Lets take the Gun smithing, for example. I’m approaching this from a design perspective first. I laid out what I want to use the gun for, then set my constraints (money), and planned out the parts. This is exactly the same method I take for programming: First I’ll plan out how I want it to look/act, figure out what corners I have to cut to keep it within my memory/CPU/bandwidth bounds, then start with the functions.
In this case I decided I want something for (eventually) match target shooting, for medium ranges (100-600 yards). My constraints were that I wanted to build it all myself, short of fabricating the parts, and that i didn’t want to spend more than $700 on the total cost. So far I’ve decided on the following:
- DPMS Lower Receiver, stripped (already purchased)
- DPMS Lower Receiver parts (already purchased)
- Advanced Technology 6-position collapsible stock
- Ergonomic pistol grip
- 20″ chrome lined barrel (not sure of manufacturer yet)
- Flat top upper receiver with rails
- Generic bolt/bolt carrier, stripped
It should be a really fun project, I look forward to learning a new machine and how it all works. This will also mean that from now on my firearms will be like my computers, completely unique, and I’ll have an intimate working knowledge of each and every part.
So why now? Why am I trying to learn all this new stuff once I get out of college, and not while I was in it? The answer here stems from some conversations I’ve had about why I enjoy firearms, and thoughts I’ve had after them. The short answer is: “I’d rather learn how to shoot now, when I don’t need to, than later when I need to, but don’t know how.” I don’t think carrying rifles in public is necessary, though I am a vocal defender of the 2nd amendment, however I do think it is very short-sighted to assume you’ll never need to use a firearm, and therefor write them off. Didn’t you learn how to change a tire, even though you may never need to, perform CPR in gym class, or how to balance an equation in science (or for the scientist, write in plain English, or not blow up the world)? Sure, all of those will be needed a whole lot more than shooting, but other than CPR shooting might be the most important to know if any of those situations came up.
Now, I considered myself set once I learned safety, and how to aim properly. But lately I’ve been thinking that its really short-sighted of me to assume the rifle will work perfectly all the time. More importantly, I don’t know when its not working at 100%, because I don’t understand it all. Just like the sorority girls whose computers I’d clean up at the end of the school year, I might not realize all the junk that is building up inside my gun. So, I’ve decided that I need to know at least basic gun smithing, just in case. Knowing this will keep me, and those around me when I shoot, a whole lot safer in the long run, plus save me money!
The motorcycle is the same story. I have no idea what’s going on, and if you read up on an inline-4 engine, there’s really no excuse for that. So again, I’m teaching myself basic mechanics in order to keep my machines running as smoothly and safely as possible.
And if you think about it, these skills of checking the usual fail points, oiling the squeaky parts, and throwing your own custom parts in, are the same across many fields, not just mechanics, gun smithing, and programming. So get out there, and get yourself head first into a new field today!