About the Interactive Caliber Conversion Application
To use the application, click here. To read about it - well, keep reading.
This section is strictly about using the application.
What "Having" a Conversion Implies
Please note that when you answer "Have" on a conversion, it is assumed that you "have" all of the necessary parts to load that caliber! Certain things (Magnum powder bar, for instance) are shared requirements across many calibers, but are not included if you just buy the conversion kits. So, if you click 'have', it will be assumed that you're actually loading that caliber, not that you only have a conversion kit listing that caliber.
Presently, only caliber conversions from Dillon Precision's manuals are in the database. There are many undocumented conversions which I would like to add, as they become available. I know Dillon keeps a few "you can do X caliber using Y parts" notes scrawled around somewhere, and I would love to get ahold of those notes so that everyone can benefit.
The "Making Of" Stuff
Hopefully, this will be only the first of many TGW gun-related apps. I'm presently trying to think of a good one to undertake after this one. This one probably took close to a year from concept to execution, though.
This application is hosted on a Linux server running mod_perl. The .asp file suffix may confuse folks, but the files involved are Apache::ASP files. Apache::ASP takes ASP syntax, adds a few useful Perl objects, and lets you quickly get about the business of writing Perl web applications. I've been using it since '98 or '99 with a reasonable degree of success. All of the data is sitting in a Postgresql database. At present, the scripts aren't making use of persistent hashes, but the interested community is small enough and disinclined to concurrency, that it's not a big deal. Even if all the Dillon owners out there tried hitting the app on one day, it's unlikely that it would cause a slashdot effect.
Ever since I bought my Dillon 650 a while back, the table of caliber conversions in the back of the manual kind of bothered me. My first shot at reducing that annoyance was a while back, when I started a spreadsheet of the caliber conversion parts for the 650. I'd been tossing the idea of an interactive app around for quite some time before that, but I was never quite annoyed enough to do more than doodle out a few different SQL schemas for it. I'd spent a good amount of time grumbling about how annoying it was going to be to write a data input system for all those various dependencies, though. Writing a data input module is the one thing that really kept me from jumping in and starting. I will say however, that the algorithm to detect common parts kept intriguing me - it was a problem I just had to solve, sooner or later.
Ultimately, it was my membership in the #kplug-militia channel on irc.freenode.net that caused me to write some code. As I managed to blunder my way into being the resident Dillon pusher on the channel, I incurred plenty of questions about various caliber conversions. One evening, I realized that if I would stop putting off writing the app, I'd spend considerably less of my life answering Dillon conversion part questions.
That evening, I decided to abandon data input as a pre-requisite, and just manually inserted some conversion kits for the 650 as raw SQL. Most of the manual was even correct, but it was just a rough draft anyway to get the common part algorithm ironed out anyway. I then wrote a CGI which would produce the current 'compute conversion' output, and then got it working for the most part.
Once that was done, I started working on a few data input modules (some objects in the data model were best left to a separate page for data entry). At first all of the input was pretty much drop-down powered, but then I wrote a SKU-based input method later on. A comma-delimited list of SKUs proved to be an extremely fast way to input caliber conversions. I will say that I've spent much more time on making the data input modules fast and efficient than prettying up the "user-visible" parts of the application. If I hadn't done so, I probably would have taken several months to get done with all of the machines' conversions. As it stands, I did all the conversions for the 550, Square Deal B, and 1050 in a leisurely manner over a course of two post-work evenings.
My Goals for This Program
I will consider this program a success if it gives gun owners more available time in their lives than they would have had in a world without my program. I'm trying to cut down the time people used to waste figuring out what caliber conversion parts to buy for their Dillons. It's likely that this program will actually give me back more time than writing it took from me, by ending pretty much all future occurrences of caliber conversion questions I may receive.
Naturally, I also hope to gain a bit more popularity for TGW as well.
-- SeanNewton - 11 Jul 2009