The 80/20 Rule

You’ve probably heard the saying “Perfect is the enemy of good” and maybe you’ve even said it yourself a time or two. You may have also been in a situation where you’re working on something and a boss keeps asking you about fringe cases, those events that will only happen to an extremely small number of users or records. I’ve been in that latter situation more times than I would like to admit, but early on I came up with a method for dealing with such situations.

I call it it he 80/20 rule. This is different than the other 80/20 rule known as the Pareto principle. In my version of the 80/20 rule, I look at anything that’s outside the normal use case, as a fringe case. Something that isn’t likely to usually happen. So when trying to get to a releasable state, I will often ignore anything that isn’t going to happen more than 20% of the time. I don’t mean that I ignore it forever, just for that initial release, and maybe a few subsequent releases (bug fixes).

Over the years, I’ve come to understand one fact. You’ll never make whatever you’re working on perfect. So we have to stop shooting for perfect, and get it released. Launch it. Ship it. Get it out there for people to use. You can spend a lot of time working on every fringe case, but really the more you do that the longer it’ll take you to get release whatever it is you’re working on.

Our goal is to ship. So when a boss, customer, whomever keeps trying to find the fringe paths, try to counter by asking “how often do you expect that to happen?” or “That’s not important enough to be in version one.” You want to get what you’re working on out to the users. Then you can see what areas need addressing.

This isn’t an excuse to ignore errors, and not have your application error gracefully. It just means that you don’t have to work on ever edge case. Get the 80 percent solution finished (the parts that cover 80% of what you’re customers are going to need), then release it. Fix bugs, release a new version, rinse, repeat. Once you have the 80% parts done, and you know that’s working as flawlessly as you can make it, then worry about the edge cases. Those users who are the fringe of your customer base. But not before you have the eighty percent covered.

Posted in Commentary | Comments Off on The 80/20 Rule

It's Called "Income Tax"

It is not called “How much money I have in the bank or investment accounts” tax. If I save up millions of dollars and then put that into an investment account and earn interest I’m paying taxes on the interest, not what I already had in the account. This is a gross oversimplification of what’s commonly referred to as capital gains, and the capital gains tax (which is, I believe, at 15%) is how this is taxed. The tax code currently views capital gains differently than regular income (what you get in a paycheck).

So, when people say things like “The rich pay lower taxes” it’s not because they pay less income tax, it’s that they make most of their money in capital gains, which is taxed differently. This is most recognized in Romney’s released tax returns. It is also why Warren Buffet (falsely) claims he pays lower taxes than his secretary, because he’s mainly paying a different kind of tax than his secretary (he’s paying mostly capital gains tax while his secretary is paying income tax).

Again, this is all grossly oversimplified to make a point. That just because one has a lot of money, doesn’t mean that they’re paying taxes on that surplus. They’re only going to pay taxes on what was actually income, or their capital gains.

Now, with that in mind, it’s obvious that this is a tax code problem rather than a “rich pay less” problem. I’m all for changing the tax code. I’m also of the opinion that a person should take every single tax deduction they are legally allowed to and capable of, until such time the tax code is changed and they can’t take certain deductions anymore.

But please, please, please, remember, it’s called income tax for a reason, because it’s your actual income being taxed, not your surplus of cash.

Posted in Commentary | 1 Comment

It’s Called “Income Tax”

It is not called “How much money I have in the bank or investment accounts” tax. If I save up millions of dollars and then put that into an investment account and earn interest I’m paying taxes on the interest, not what I already had in the account. This is a gross oversimplification of what’s commonly referred to as capital gains, and the capital gains tax (which is, I believe, at 15%) is how this is taxed. The tax code currently views capital gains differently than regular income (what you get in a paycheck).

So, when people say things like “The rich pay lower taxes” it’s not because they pay less income tax, it’s that they make most of their money in capital gains, which is taxed differently. This is most recognized in Romney’s released tax returns. It is also why Warren Buffet (falsely) claims he pays lower taxes than his secretary, because he’s mainly paying a different kind of tax than his secretary (he’s paying mostly capital gains tax while his secretary is paying income tax).

Again, this is all grossly oversimplified to make a point. That just because one has a lot of money, doesn’t mean that they’re paying taxes on that surplus. They’re only going to pay taxes on what was actually income, or their capital gains.

Now, with that in mind, it’s obvious that this is a tax code problem rather than a “rich pay less” problem. I’m all for changing the tax code. I’m also of the opinion that a person should take every single tax deduction they are legally allowed to and capable of, until such time the tax code is changed and they can’t take certain deductions anymore.

But please, please, please, remember, it’s called income tax for a reason, because it’s your actual income being taxed, not your surplus of cash.

Posted in Commentary | 1 Comment

Introducing CodeCasts.tv

So where have I been lately? Busy. Among other things, I’ve been putting a lot of time in working on a new project.  And today, I’ve put it out for the world to see.

Allow me to introduce, CodeCasts.tv. CodeCasts.tv this is the world.

What to Expect

The idea is to learn little pieces at a time, so that you learn things gradually. I plan on keeping the videos at around 10 minutes on average, and hopefully I can keep most of them shorter than that. I want to try to be thorough, without being overwhelming. So things will get broken up into multiple parts, and I will try to make each episode laser focused for what’s being covered in the episode itself.

The first series of videos from CodeCasts will be focused on teaching the basics of the Ruby programming language. This is to get the ball rolling, as it’s easier to plan the videos out when I have an idea of what I’m going to be covering over the course of time. I’m accepting episode suggestions, so if you’ve got an idea for something you want to see, definitely let me know. If I can’t cover it, I’ll try to find someone who can.

After we’re done with the basics of Ruby programming, we’ll jump around a bit to touch on other programming languages, topics, operating systems, and anything else we deem needs to be covered. Not everything will be beginner focused and not every video will be part of a series. Continue reading

Posted in CodeCasts.tv | Comments Off on Introducing CodeCasts.tv

Where's Your Code Resume

You’ve read me talk about the importance of having your code online in the past. I’ve had several discussions, chats, and various thoughts on this subject since I wrote that post over a year ago and I want to talk a little bit more about this, and give some tips on improving your code resume. Continue reading

Posted in programming | 1 Comment

Where’s Your Code Resume

You’ve read me talk about the importance of having your code online in the past. I’ve had several discussions, chats, and various thoughts on this subject since I wrote that post over a year ago and I want to talk a little bit more about this, and give some tips on improving your code resume. Continue reading

Posted in programming | 1 Comment