Archive for January 2012


The Absurdity of the “Double Taxation” Argument

January 25th, 2012 — 12:26pm

Unless you’ve been lucky enough to have been bashed over the head with a giant rock and in a coma for the past few weeks, you’ve undoubtedly heard the uproar about Mitt Romney’s sub-14% tax rate. If you haven’t, keep it that way. Close this browser window now and be a better person for not getting sucked in to this disaster of partisanship, hyperbole, and misleading statistics.

First of all, my personal feelings? I understand the rational behind the 15% capital gains tax meant to encourage investment and help grow companies. However, I also agree with Fred Wilson that it’s silly for carried interest to fall in the 15% designation, and with Mark Cuban that high freqency trading shouldn’t count as capital gains income since you’re not actually investing.

Now, on the the ridiculousness of the WSJ oped by John Berlau and Trey Kovacs.

The former Bain Capital CEO and Massachusetts governor caused a brouhaha last week when he estimated the tax rate on his investment income at 15%. “How unfair!” pundits exclaimed, noting that the top marginal rate for wage income is more than 30%.

The tax rate on investors is unfair, but for the opposite reason. Our tax code layers taxation of dividends and capital gains on top of a top corporate tax rate of 35%—which even President Obama acknowledges is one of the highest in the world.

This is ironically the embodiment of the “corporate personhood” legal doctrine otherwise so decried by the left. The law taxes corporations as if they were separate beings from the shareholders who own them and then levies a separate tax on shareholder payouts and gains. This double taxation brings the effective tax rate on investment income to as much as 44.75%.

Well, here are a few problems with that analysis (outside of the common argument by anti-corporate tax folk that “corporations don’t pay taxes anyway, they just pass it on to the consumer!”):

1: It assumes that capital gains income from stock prices matches up 1-to-1 with profit earned. So if the profits for a company were $10 per share, it assumes that the stock price would go up and by exactly $10.

2: It assumes that corporations are actually paying a 35% effective tax rate (hint: they’re not).

So let’s break this down a little using Apple since they just blew the stock market up. A few links that may be helpful: Apple’s Q1 press release, Apple’s 2011 10-K filing, and the Google Finance chart for AAPL.

Now, AAPL just posted a quarterly profit of $13.87 per diluted share. Since the start of their quarter (10/1/2011) shares have risen from $381.32 to a current price of $446.10, or $64.78 in capital gains.

So already stock gains are 467% of profit. Capital gains tax on that $64.78 increase would be $64.78*15% = $9.72 in personal taxes.

Also, according to their most recent 10-K, AAPL’s effective tax rates for 2010 and 2011 were 24.2% and 24.4%. Assuming it stays at 24%, on that $13.87 AAPL is paying $13.87*24% = $3.33 in corporate taxes.

So actually, for that $64.78 gain to the investor, the government as a whole is receiving $13.05 in tax, or 20.15%.

Math is hard.

Comment » | Random

Sudoku…Solved

January 17th, 2012 — 10:19pm

Alright, it’s not pretty but I’ve got something surprisingly solid. I don’t feel much like typing out a huge explanation, so here’s a copy of the email I just sent to Aaron about it.

So, I’m in this weird spot right now where the script actually does more than I originally planned, but only has the extra logic half-finished.

Basically what it does is:

1) Copy any known numbers from the starting matrix to the answer matrix
2) Look at a cell, and then create an array of any number it CAN’T be (already in the row, column, or square)
3) Remove any number in the “can’t-be-the-answer” array from the answer array
4) Do this for all 81 cells
5) Any answer array that has a length of 1, convert to an integer in the answer matrix
6) If the answer matrix has changed since starting step 2, do this loop (steps 2 through 5) again
** This works for all easy sudoku puzzles **
** If you just end now when the answer doesn’t change, you’re good to go **
** Here is where shit gets a little wonky **
7) If the answer hasn’t changed, then look at the first row
8 ) Figure out what the “missing numbers” are in that row
9) If there is a missing number that is only an option in one cell, put it there
10) Do this for all 9 rows
11) If the answer matrix has changed, go back to step 2.
12) If the answer matrix hasn’t changed, print the answer matrix

The piece that’s missing is doing that same pass9 function for columns and squares like I do for rows. It wouldn’t be THAT hard to implement I don’t think, but I have to think about exactly how I’d do it.

This code is fairly easy to read but probably a distaster to anyone who writes in Python a lot. Thankfully I don’t think you qualify yet.

The example coded in here was from the “Hard” level of my sudoku app. I had already beaten “Easy” and “Medium” with steps 1-6. It took 19 iterations to complete this one and basically no time except for the printing functionality

If you want to see the code for some weird reason, you can check it out here.
If you want it in a .py file (because you’re just too lazy to copy the txt, I understand) well then here you go.

Comment » | Programming

New 2012 Project #1: Sudoku solver

January 16th, 2012 — 6:30pm

Like I said, one of my 2012 resolutions is to “create” every day. That’s a pretty broad term, and I can use it to describe a lot of things. So far I’ve considered that everything from new processes for getting stuff done, to little journal entries describing new ideas I want to flesh out.

But I also want to focus on computer programs. Whether they’re little web apps, new page designs/templates, or just Python scripts like this sudoku one will probably end up being it doesn’t matter. Hopefully by the end of 2012 I’ll have done a few cool things.

My goal is to write a Python program to solve a “beginner” level puzzle from the random suduko app I downloaded on my iPhone.

Now if you’re coming here expecting some awesome solution, you’re going to be disappointed. Go check out this guy instead because he solved every possible sudoku puzzle. I read Norvig’s description of his code a while ago, but am going to try to stay away from it while I work on this one. Afterwards I may go back and compare, but I won’t actually be coming up with stuff on my own if I’m just copying his thought process and code.

I’ll try to remember to update the blog with code samples and what I’m thinking about in each step, so be ready to rip it to shreds.

Comment » | Programming

It’s 1:13 in the morning, and I just cleaned my room

January 10th, 2012 — 12:19am

Not that this is some kind of accomplishment or anything (granted it was really dirty)

I had been falling in and out of sleep all evening. Read a little finishing up the Steve Jobs biography before going to sleep, and then suddenly was in the midst of an hour long cleaning session. I’ve picked up, done laundry, dusted, de-cluttered about a garbage bag full of stuff, swept, and even made the bed just so I could get back in it and write this post.

And all the while all I was doing was lecturing in my head to some imaginary class of students.

I want to say “Strange” here, but I actually think I understand it a lot more than I would’ve expected.

Comment » | Random

2011 Resolutions Look Back

January 3rd, 2012 — 10:28pm

In 2010 I went 2 for 4 on completing my resolutions. I came up with 5 new ones for 2011, each focusing on a category of my life. They were:

1. Health – Run a half marathon
2. Mind – Create a mobile app
3. Business – Get paid by 20 people
4. Friends/Family – Stay closer to those important to me
5. Other – Figure out my life goals

How did I do?

1. Yes! And I actually enjoyed it enough to make a resolution to keep running.

2. Nope. I could try to stretch the truth here and say that “Oh, but I redesigned some of liquid for a mobile browser interface” or “Well I completed a couple tutorials that worked on HTML5 or the Android SDK” but I’m not going to do that. I didn’t create anything myself that I would qualify as a mobile application. But I do have a couple ideas, and I’m looking forward to working a couple out, especially now that I have a Mac and can develop for iOS.

3. Nope. The final count will be in the single digits. I believe it’s 5, but I could be forgetting 1. Getting a real job and turning the focus off of selling was a big hurdle to overcome. That and not trying to create something else that was easier to market to it’s target audience are what doomed me.

4. Yes! Except in situations where I have purposely avoided someone (which is an unfortunate but necessary part of building strong relationships with others, I only have so much extrovert to give) I was much better about staying in touch with people. Whether it’s the simple things like texting someone happy birthday, or writing a couple emails to catch up, I’ve made an effort and while I’m still not great at it, hopefully I kept some people closer.

5. Nope. Who knew that coming up with life goals would be such a daunting task? Almost every time I sat down to try and type some out I was overcome by a feeling of fear. What if I pick the wrong goals? What if I don’t accomplish them? Suddenly making life goals felt more like a trap than a way to inspire myself. While I think it would be a cop-out at this point to say I’m of the mindset that goals are pointless, I may be moving along that path.

Comment » | Random

My Plans for 2012

January 1st, 2012 — 10:01pm

I’ll do a post tomorrow probably that discusses what I did and didn’t accomplish from my 2011 resolutions, but suffice to say that I have decided I need to simplify them a little. So just three this year, and all are much more defined than the last set were.

1. Never go 3 days without running
If I run on a Monday, then I have to run again on Thursday at the absolute latest. I chose this rather than a mileage goal, or another distance goal like my half-marathon this year, because I’m more concerned about making it a habit than hitting any specific goal.

2. Cook one new dish every week
My Christmas gifts included a couple new knives, a dutch oven, and a cast-iron skillet. So now I need to use them. No limitations on what kind of food I have to cook, or where I have to find the recipes. Just that every week I have to cook something that I’ve never made before.

3. Do 3 things every day: Create, Laugh, Learn
Pretty simple stuff, but something I know I take for granted way too often. Each day is something special and I need to make sure I’m taking advantage of that by creating something (art, programming, whatever), enjoying myself enough to laugh, and learning something new. I think if I can do that, then I’ll end 2012 a much better person than I start it.

Comment » | Random

Back to top

Bad Behavior has blocked 109 access attempts in the last 7 days.