Saturday, March 28, 2009

History - The teacher we never learn from

History is pretty humorous if the events you're looking upon are pretty distant from you. They are also pretty scary if you're tied up in those events. For a super-simplified example - Napoleon learned about the Russian winter. Hitler thought 'it's gonna be different this time' (in German). Things turned out to be not so different.

I'm looking at today's events - massive spending in hopes of causing economic recovery. There are a great many economists that believe that it hurts far more than it helps, and for reasons that make a lot of sense to me. Now, it's impossible to test economics with the same empirical methods that we use for modern science, because it's impossible to control certain variables. Did Obama's speech really hurt confidence in the market, thus causing a decline, or did a country that produces most of the plastic we use just violently undergo a regime change, and then cause said decline?

When I see a lot of older quotes, speeches, and commentary about the Great Depression, and I see how similar they are today, I can't help but think history might be repeating itself.

Friday, March 27, 2009

Netbeans - Debugging Rails apps

My new gig at Integrum could easily be described as constant, face-paced learning. The tool of the trade there is TextMate, a commonly used editor/IDE in Railsistan. Integrum feels like a place where ideas flow pretty openly, given said ideas have strong merit, so I considered bringing up the editor I use on my personal time and in my previous gig - Netbeans.

When using Netbeans, I did a lot of trail-blazing by going to desktop development route with tools like Monkeybars. I knew based on some peripheral projects that Netbeans had a lot of optimizations for Rails particularly.

During one of the weekly talks, I figured I'd do a quick rundown of things Netbeans could do that TextMate just couldn't. This isn't an attack on TextMate. I use TextMate personally as well, but more as a text editor that's lightweight, and less as my primary IDE, because I feel Netbeans fills that gap quite well. After some time at Integrum and learning some more of TextMate's cool features, I'm still sold on Netbeans as a primary IDE. I set out to learn more about some of the Rails specific or at least optimized features in Netbeans.

One of the Rails features in Netbeans is the debugger, as they love to talk about on their front page. Unfortunately, what the Netbeans team does and what their users do seem to be two entirely different worlds. Debugging a Rails app with Netbeans feels only useful if you're a Rails Core developer, and not one of the Rails users. This is because 'step over' in the debugger is really a smaller version of 'step into'. Stepping over a line in my controller code sent me deep into the bowels of Rails, and several more steps wouldn't get me out (and 'step out' simply wouldn't work and was disabled). I couldn't show this to my team.

Netbeans 6.5 had been out for a while. If there's one thing I've learned doing Ruby development, it's that if you're not on the cutting edge, then you're behind. I'm not very convinced that this a good thing. My dev directory is littered with tons of projects because a developer wasn't brave enough to make a release, and instead just has a repo up on github. Back to Netbeans - I nabbed the Milestone release (6.7 M2). Understand that going this route with Netbeans is quite an adventure, with crashes, stalls, and other things to look forward to. My hopes here is that this major shortcoming (rendering debugging totally useless from a productivity standpoint) would be fixed in a newer. No joy.

I can't show this off to my teammates. I can show off some other features that Netbeans has over TextMate, but Netbeans is only a little better. Method seeking, RDoc, syntax validation, IRB, etc are all in TextMate, just in a more primitive form. The real cherry on top would be having a solid debugger. It makes the difference of my talk being 'There's more than TextMate out there, just FYI, but it might be too painful to switch vs. the benefits' instead of what I'd like it to be: 'Netbeans: THE Ruby IDE'.

I'm hooked in to the feeds for Netbeans. I see the weekly announcements. As a Ruby developer, I feel like a second class citizen here (Netbeans was built for Java, after all). However, it doesn't help that lately I've seen mostly updates to the PHP side of the IDE. My thought always is: Wait a second, the Ruby side still needs a lot of love. Don't leave yet! To top this off, I've heard the Netbeans team got hit pretty hard by seemingly universal layoffs by larger companies at the beginning of the year. I won't hold my breath for a better debugger.

This is a place I'd love to be wrong. Is there something I'm missing?

Monday, March 23, 2009

Blogging

It's been some time since my last post. A new job and pneumonia will do that to you. When I started this blog, I was doing a post a day. Some of these posts have taken over an hour to write. I just don't think it is sustainable to continue writing a single post a day. It's also been getting harder to keep high content posts coming. Doing technical posts is almost impossible when a good deal of your time is spent blogging and not implementing.

I'm really glad I've gotten where I am in terms of post count. Even if I need to step things down, my blog now has a lot of posts that any user would want to read up on. For users that are current, not so much. But I sincerely hope that people have better things to do than read my content on a daily basis. Just as it is too much for me to keep up with, a few blogs like mine can easily occupy a lot of a person's time.

One of the cool things I've experienced with blogging is that I have an outlet for saying somewhat outrageous things. That means I'm not bringing it up as much in the workplace where it's likely to cause trouble more so than make an interesting debate. It's also nice because it works as a conversation starter. People read my posts and remember something I missed, or that they disagree with. Once we meet up, we then have something to talk about.

While I plan on stepping back on writing blog posts, it isn't an end.

Saturday, March 14, 2009

Critical Mass

Using tools like Nabble, TweetScan, etc, I'm able to get an idea of when people talk about Monkeybars. Since David Koontz and myself released it, it's been on the rise in terms of buzz. Initially, I was doing a lot to make sure the flame stayed lit for Monkeybars, but now others are adding wood to the fire. I'm still doing a lot of the buzz for Monkeybars, but my cut of the work keeps getting smaller and smaller. I wonder if a critical mass will be achieved, and Monkeybars will carry itself on its own momentum?

There's a few things I've done to stoke the fires, but it's mostly just blabbing about Monkeybars when there's someone talking about a related topic (such as GUI development, or Ruby on the desktop). On this blog, I try to link back to Monkeybars on the first mention of it in a given post. I also watch some keywords on some mailing lists. Common sense applied, I throw in a plug for Monkeybars. The same approach is applied to some IRC channels I frequent, and on Twitter.

Advertising is tangential to my topic, but it's pretty key to understand how to generate that buzz. "If you build it, they will come" implies we live in a world where merit alone is appreciated. Just think about that for a second. Does that match your understanding of the real world? Advertising - for open source, for profit, whatever - is not evil. I am advertising here, but that's ok. I'm telling people (when relevant) about a tool I sincerely believe will help them. What's wrong with that? Replace 'tool' with 'product' and nothing changes.

Another thing I've done to help promote the tool is keeping on the mailing list and opening up the wiki. This has provided a lot of documentation for other users, and allows folks to get their questions answered when they've been asked before. A lot of bugs can be forgiven with these project/community management tools in place.

Other people are really jumping in and adding momentum to Monkeybars. Currently, Monkeybars's mailing list has people other than the core developers answering each other's questions. The wiki is full of tidbits, and I've only written one page (maybe a 1.25 pages if you count edits). I'm seeing users occasionally mention Monkeybars in the Ruby-Talk mailing list as a recommendation to others. People I've never met prior to seeing their work have done talks at conferences about Monkeybars, which wound up online for all to see. I've even seen JRuby users mention us in the same breath as Rails, as if we're the production desktop framework/library for Ruby.

Thursday, March 12, 2009

Creativity

At my previous workplace, it came up from time to time about certain members there being creative because they used web design tools and Adobe products all day. My coworkers (myself included), were simply not creative, but technical, because we used programming languages all day. We felt pretty pigeonholed by that observation. Creativity is seem as a good thing. Being told that you don't have it is considered almost insulting. The creative/technical observation doesn't seem wrong to me on account of pride, it just seems inaccurate.

Programming languages and Adobe products are my simplification of the argument. The basis really boiled down to - you guys are nerds reading technical manuals, and we paint landscapes. Landscape painters are creative. You can't be creative by reading technical manuals. This may be mischaracterizing a bit - no harm was meant by the original statements.

Creative is roughly defined as imagination or production of original ideas. We can say that Monkeybars is creative in its approach to view-model mapping. We can say that it is creative produce game design documents for concepts that haven't really been put together before. Creative doesn't mean artistic. Creativity itself is an abstract concept, there's no restriction to the medium.

I did get in an argument with the Mrs. once about creativity in music. I submitted that the act of playing music (as it is on the sheet) simply isn't creative - nothing original was being produced, and no imagination is needed. Perhaps this just shows my lack of understanding for playing music, just as I believe the officemate who submitted that programmers can't be creative did so because he didn't truly understand what we did during the work day (and knew nothing about what we did on the off-hours). I could always be talked out of my position of playing music.

Now that my rant is done - this might just be a matter of semantics. If he'd used the word artistic, I'd have to come up with something else to blog about today.

Wednesday, March 11, 2009

Yours Truly

I just updated my blog's sidebar with a bunch of information with which anyone can contact me, as well as see what I'm doing in terms of project work. I should have done this before I started looking for a real job. Wish in one hand...

I've normally shirked away from the idea of putting a bunch of information about myself online. A part of me is still a little hesitant. However, I'm pretty open in person as far as what I keep to myself vs. sharing. Why should my online presence be any different?

These additions are by no means complete. I'll probably remember some other things to toss up at some point. Once I have an official job (I have a temp-to-hire arrangement right now with Integrum), I'll update that as well.

Tuesday, March 10, 2009

FFF - Favorite Founding Father

Occasionally, I'm tempted to ask a very strange question to those around me. This one I asked was "Who is your favorite founding father?". The answer I got back was "Washington wins every category". Sometimes, my thoughtful conversations are over before they are started. Another of my friends prefers Benjamin Franklin above the rest. I reversed the question to myself, and found I didn't have a good answer.

I do believe we need our heroes, and people we can look up to. Everyone is human and therefore imperfect. While people may not be great to look up to, we can certainly look towards their image to inspire us and hold us to a higher standard. That may be self-delusional, but there's easily a healthy application of it with a little hero worship.

I get the impression that conservative folks look upon their founding fathers as almost deities. I can't speak for everyone, but I don't regard these men as perfect in any way. I do think they laid out the best plans for government thus far, and did not do so by accident. I think that alone speaks volumes of the founding fathers, but by no means deifies them, or makes their judgments infallible.

I know some bits and pieces about Jefferson, but I'm afraid my knowledge of the others is pretty weak. I think it would be a fun exercise to learn about the others (and even about Jefferson) so I can form an opinion. Even if having an FFF is childish, it makes a game out of study. It's easier to play than do work, so I'm turning work into play.

Sunday, March 8, 2009

I heart Arizona (DST edition)

All told I have at least nine currently functioning clocks in my household. I don't ever need to adjust them any number of times during the year. Why is that? Because Arizona rocks. Arizona and Hawaii are the only two states that don't observe Daylight Savings Time. I could speak volumes on the topic after doing a lot of research, but I think these guys put it together pretty well (and don't have a lot of good things to say about it, even though they present both pros and cons of DST).

Oh, and today is the 'spring forward' day. Enjoy less sleep non-Arizonans!

The main reason for me against DST is that my life is enriched by not using DST. It's pretty simple. It's things like this that makes sure that Arizona will always have a place in my heart. It's by no means perfect, and it can get really hot here, but on average our law-making seems to be well done (pardon the pun).

Bio Technology

When attending DeVry, I had to take an economics class. This class let me play the day trader game. I invested in two things: Blue chip companies, or companies that slowly gained value (low risk, low reward), and bio tech, a relatively new industry. My bio tech stock grew, and my stock values served to indicate my phallic dimensions to my classmates.

But is bio technology really that new? I suppose that depends on how you look at it. If technology is described as the application of science, and science is described as beakers, pocket protectors, and the pursuit of grant money, then I suppose it is pretty new. If science is described as knowledge, then it's been around long before us or anyone we've known. They're just not fancy and glowing like we see in sci-fi.

I'm not sure what this does, but it's very scientific

One of our mundane yet extremely useful forms of bio-technology is the dog. We've had dogs around for a really long time. What's the 'science' form of a dog? Robots! Dogs can be bred for very specific tasks. They are born with the basic behaviors they are bred for right from the start, and can be trained to refine said behaviors, like herding sheep. You don't need a manufacturing plant to make more dogs, just a male and a female. The 'scientific' alternative looks way cool, but is pretty clumsy compared to a dumb dog. I doubt that thing has a lot of loyalty to the owner, and can run on water and kibble! I also doubt it's capable of self repair (:

Let's not forget yeast, with the magic powers of transmutation, reconfigures flour into dough that can be baked into bread. Bread is an incredibly cheap food. Try to think of how many restaurants you go to that use bread in some form or another.

A source of almost completely free food is deer. Deer just live out in the wild (there's lots of wild, just drive a few hours out of a metropolis and see how much nothing is out there). They eat and grow and make pretty lean meat. You don't need the middlemen that are farmers, distributors, butchers, and Burger King in your way. You're a tag, rifle, and bullet away from a lot of food. Is this humane? It's definitely more humane than cows in captivity. It's also pretty humane when you consider how many people deer kill via car accidents.

All of this is pretty much farmer/hunter stuff. I'm not giving up my trade as a software developer. Although hunting isn't a full-time job, so my work and hunting could be compatible. I just think it's pretty amazing that we've done a great job on harnessing nature itself.

Earth is a machine that produces energy and work in more forms that just fossil fuels, sunlight gathering, and atom splitting. Earth keeps a temperature, water, and air that allow for life. Biological things can accomplish quite a bit of work in an economic and physical sense. Just because we've found out really neat things to do with semi-conductors, metal, and plastic doesn't mean we can't appreciate the more mundane technological accomplishments of humanity.

Kindle

It looks like I nailed a gig with Integrum, a cool Rails shop here in Phoenix. I haven't done a ton of web work, although I feel very understanding about the web tools and the concepts they revolve around. I just need the memorization of said tools. Rote memorization isn't a bad thing, and I wouldn't describe that as what is needed to learn these tools. I'm pretty comfortable on a conceptual level, it's just the specifics that I'm lacking.

To get those specifics, I set out to find some quick reference pocket books for things like CSS, Javascript, jQuery, and possibly even Rails. That way I'd have something to thumb through while doing pairing at Integrum so I wouldn't have to arrest the keyboard and mouse to search for something on Google.

While on my search for such books (I haven't turned up a lot yet), I found Amazon's Kindle. Kindle is like one of those pads they ran around with all the time in the later Star Trek series. It's a super electronic book. It uses cellular networks to download books and you don't pay for a cell phone fee. The skeptic in me went looking for problems with Kindle right away. After all, my PDA is a pen and paper. I'm a software developer, not a Luddite. Tech toys can be cool, but often are just short on practicality.

An endless army of $1 notepads serves as my PDA.


My first flaw I looked for was the LCD screen. You can't see LCD screens in normal daylight. LCD screens might work in places where it's constantly cloudy like Oregon, but the constantly sunny skies of Phoenix are a different beast. When checking Amazon's site, they claim to have solved the dreaded dim LCD screen problem.

My next thought was battery life. Batteries don't tend to last long in portable devices, which means you need to constantly feed it electricity as you would water to a plant. However, the batter life lasts for days. Batteries do go bad after a while. My Macbook Pro (which I think is over three years old now) only has about 30 minutes of life, even if I rig it to run longer. But a battery that starts off with days of a lifespan will take some time before it gets worn down to an inpractical level.

This is sad. I know I'm looking for flaws in a device I haven't used. This isn't because I hate progress, and want the texture of paper running across my fingers as I turn pages. This is a form of monetary self-preservation. These toys are cool, and I have to talk myself out of getting them.

I did actually find some problems that are important. Price: The new Kindle runs $360. That's an expensive 'book'. The next is DRM (Digital Rights Management) - Copy protection that's as seamless and fun as airport security. If you can't trust me to be a good boy with my products, then I probably can't trust you, plain and simple. Penny Arcade describes the problem of DRM pretty accurately. It's my data. Let me put it on my fiancé's machine, or my machine, or my other portable devices. Similarly, this is why I won't get a cell phone 'plan'. First, your limit me minutes (or overcharge me) during hours of the day I'd actually want to use the damn thing, and then I have to sign up on a two year contract with big penalties for leaving? Sit and twist buddy. A company that shows active distrust to me is a company that doesn't get my money, plain and simple. DRM is distrust. I won't steal your stupid content, but now I won't buy it either.

Saturday, March 7, 2009

Sovereignty

About twenty or so states have sovereignty bills moving through their legislators. That doesn't mean a whole lot until these bills become law. Lots of laws that have no chance of passing wind up in both state and federal legislators. I don't have the nose to smell which laws have a chance vs. which ones don't. Arizona, my favorite state, has one of these bills in the works as well. I'm not really sure where the bills come from, and if they are the source of some nation-wide group being rallied (I suspect Paulites when left to my imagination in the absence of more information).

These bills have a common element: The tenth amendment - The powers not delegated to the United States by the Constitution, nor prohibited by it to the States, are reserved to the States respectively, or to the people. The general ideal is that the federal government's power is limited only to what the Constitution gives it. The rest of the power is left to the states. Under the tenth amendment and some laws and court rulings that support its interpretation, these bills assert themselves.

These bills also seem to address federal encroachments upon the Constitution - such as an overreaching federal government with a massive expansion of power. I think there's some that list bills specifically or other expansions, but they ultimately have the same message. A state passing such a bill draws a line in the sand saying "That's too far".

Now, this doesn't mean secession from the union. Could it lead to that? Maybe, but we'd have to go a lot further down the rabbit hole first. I think the message is a powerful one. Once that line has been drawn by enough states, will a boastful federal government want to cross it? Either way, it's a statement that says that the fed works for us (and the states), not the other way around. There's no mention of action (let alone secession) if Congress prints more money on the shredded remains of the Constitution.

I like Arizona's bill myself, and I hope it becomes law. Arizona's lawmakers generally have me pretty happy. However, more than just Arizona will need to pass these bills if they are to be effective. Such bills come in a time when Obama is in office with his Democratic majority in Congress. However, I'd welcome them during any administration, and no matter what bills were sitting in Congress.

Thursday, March 5, 2009

Solved Problems

While working a little big on Da Good Bitz, I've been taking the opportunity to use every new Rails tidbit out there that I can find. There's some cool new stuff, and most of that cool stuff actually has practical value. I decided quickly while playing around with things that I needed to get authentication out of the way quickly. Everything is restful now, which is unintuitive when applied to authentication (do you 'show' a session? Create perhaps?).

Enter Restful Authentication. Well, it doesn't really enter. You have to drag it in and then bolt it down to your app. I've seen numerous tutorials and the documentation on the github repository itself shows a lot of instructions and code that's needed just to get the plugin wired properly into the app, let alone install it. I'm a library maintainer who does so on my spare time as well, so I know it's hard to put in a lot of that polish. My gripe isn't about the library, but rather that this is the best Rails has to offer in terms of an authentication system (and it's third party).

I'm tempted to just write my own. It's not that hard. But I'm also trying to brush up some things for the workplace. What does Rails shops use internally? My guess is that it's custom for every app. That's unfortunate. One of the things that Rails brings to the table is structure. I can guess where everything is pretty easily, but authentication will be different for every app. Granted, there's a lot of different ways to do authentication, but I think we can agree that there's some pretty standard ways to go about it. I would think authentication in Rails would be a solved problem by now.

The Budget

If you ever want to do anything with your money, you need some kind of plan for it. I don't have the willpower to have a Quicken registry where I record every purchase I make and catalog it neatly into its predefined expense types. I gave it a try for about a year. I wound up in receipt hell. Then I started going by gut, but I kept tapping into my savings and never quite replenished the amount. I took a look at what was happening for just one month and found that we were spending $800 a month on groceries! Something had to change.

My latest method of tracking my money is a nice blend of my kind of lazy, but with some structure. It's nothing too special - it's just a budget. I treat a few things - such as fun money, groceries, etc as bills. Savings is a bill. Repairs of any kind is its own bill as well. I think this makes the biggest difference from other budgets. You have to have enough slots to cover all of the obscure expenses that come up in life, or this system falls down pretty quick.

If I can at the beginning of the month, I dole out cash to certain accounts (such as an account for misc. repairs and preventative maintenance). Then I don't have to worry about it again. Cash is also nice because it isn't floated. For the maintenance bill, if I didn't spend all of the money in a given month, I just save the cash somewhere for a more expensive repair later.

It's been working out really well now, and I know exactly how much money we need to make it through a month. I also have a 'squeeze' budget vs. a living easy budget. Both allocate funds a little differently based on being forced to get by (because I'm unemployed or going without checks), or doing well (if I got a huge raise).

To make your own, you don't need to be super precise. Just look at what happened last month from the beginning to the end and start there. You can adjust as you go, which I've had to do several times since I started in October of 08.

Tuesday, March 3, 2009

Plan B

When money is involved, it's always good to have a plan B. Sometimes I wait until something bites me before I develop one, but even a late plan B is better than none at all.

As Happy Camper Studios and Rising Tide Software become no more, I'm quickly learning that finding a job as a Ruby/Rails developer may not come as easily as I thought. Lots of poking around has shown me to see that there aren't a ton of Rails 'jobs' out there, even if there's a lot of Rails work. Now, the argument could be made that Rails developers looking for 9-5s are commodities, but I can't feed my kid and pay my mortgage on such a gamble. This isn't a Ruby/Rails criticism. Had I been more aware of this a few months ago, I would have been looking for work sooner (and well before I needed it) as a solid plan B (where plan A was my business). Had I done that, I might have been in a position to jump ship at a better time, or at least feel confident that I had something to catch me if my business should fail.

Fellow Rubyist (and game developer Rubyist at that!) Jay McGavren pointed out to me that there's some recruiters looking around at Ruby/Rails user groups for internal projects. While this wouldn't be my first choice (I'm still waiting to hear back from the first), it feels good to know that I have other options.

Monday, March 2, 2009

Da Good Bitz

In one of my previous posts, I mentioned Da Good Bitz. Da Good Bitz is the site that led me to Rails and Ruby. It was my pet ASP.NET project. I felt like there were lots of cool ASP.NET tools for a connect-the-dots approach to rapidly building a web app. I found myself writing a lot of code whose differences were mostly the types, and there was lots of code duplication between NHibernate's XML and model/factory code. There had to be a better way. Once I saw Rails, I immediately dropped the project, even though a very rough but working version of the app lives on here.

The purpose of the app was to provide a web based version of an army builder... much like Army Builder. The difference being that this one would be optimized for Warhammer 40K, a wargame close to my heart. I hadn't worked out all of the legalities and specifics (it might be something I do hand-in-hand with Gamesworkshop themselves). I also wanted to add in some social features such as the ability to share army builds and comment on them, etc.

For funding, I was thinking about advertising with local game shops, and use localities to make sure the ads were pretty targeted. That part wasn't hashed out very much. I wanted to interview some local store owners to ask what would produce the most value for them, and take that angle.

I'll be starting this project up again, but this time in Rails. I think I can do a better job this time, and make it pretty from the start. I'll be a great chance for me to test out JRuby and glassfish deployment, and well as brush up on Rails proper (although I'm finding out that the pieces of Rails I've been using in Monkeybars have kept me pretty current).

Sunday, March 1, 2009

Gun Control - A counter-proposal

In last week's post, I tried to convey some sense of understanding of why gun owners cling to their weapons, and talk a little bit about how we want the same thing (freedom, prosperity, safety, etc). I also submitted that gun control legislation seems to come from a place of corruption or stupidity when brought into the light. It's possible no one can do anything right in terms of legislation. Wouldn't that be a great argument for lesser government? But I'm digressing.

Pointing out problems and saying "We have a mess here" just doesn't help very much, especially if such knowledge is widely accepted. I do think gun laws are a mess, but perhaps not for the same reason a gun-control person may think. Regardless, I submit my proposal for what I think would be effective gun control - training.

I can point to numerous sources that say gun ownership is on the rise, while crime is dropping. I know it's an NRA link, and to some degree they have their best interests in mind, but cite lots of sources that are very credible. There is legislation that's doing some good out there for us, and that's concealed carry permit laws. I'm pretty sure that concealed carry permits aren't the only reason we're seeing a drop in crime, but I do submit that they help.

Concealed Carry of Weapons (CCW) allow a person to carry weapons on their person in a lot of situations. There's a lot more to it than that though. To get the permit, you often have to take a course (this doesn't apply to all states) that shows 1) You have some basic competence when it comes to handling your weapon with a live fire exercise, and 2) Learn about the legal consequences for using a weapon.

The CCW offers an exchange - a more flexible amount of second amemendment freedom in exchange for making someone a safer citizen in terms of their knowledge, skill, and accountability. Some posed that CCW permits would make for blood in the streets. Instead, we've found that CCW permit holders are more law abidding than the general public.

My thought is that the second amendment is my permit. You don't need a permit to speak or publish newspapers (first amendment), so why do you need one to have a gun? I guess the permits don't really restrict your ability to have guns such much as how you carry them, so there's some debatable points here (just like there's rules for broadcasting on radio waves). In Logan's dream world, we'd need no such permits. Gun control would be defined as using both hands.

Understanding that I live in this world, where you just can't have things that are absolute, I see the permit system as a great thing. This should be what the gun control debate is over. When you go to ban or take away guns, you will always meet opposition. If the true goal is to make our society safer and more prosperous, then entice gun owners to get more training. It works! Yeah, there's some compromise on both sides. These compromises are much more reasonable and have results.

Let's end with some fun stuff:
Right to carry law progression in the States
In my favorite state, Arizona, about 2% of the population are permit holders. One out of fifty people you run into carry a permit. My sources: Arizona's population (07), Arizona's CCW stats (09).
There two out of fifty states (and three out of five territories) in the US with no CCW system allowed whatsoever.
In recent events, I've heard CCW departments across the States are flooded with requests for more permits, including Arizona's:

Applicants:

Please allow 60 days for the processing of your permit application. Phone calls inquiring if your application has been received and/or the status of your permit takes time away from the staff who are actually processing your application. We are experiencing an increased volume of applications and are operating with minimum staffing levels. Thank you for your patience!