July 28, 2003

Beyond Anger

Go read this

I would post a scathing response... but I have too much work to do. Maybe I'll come back to it later, but for now, I just wanted to make sure this article got some screentime from some conservatives. It won't be long till we're all labeled as having a 'social disease'.

Posted by naginata at 01:27 PM | Comments (8)

Running on Empty

So I ran this weekend in the "YMCA Swinging Bridge 5k", and I have a few thoughts to share:

  • The swinging bridge, they're not kidding, that thing swings like mad. It was the first time I've been on it, and when you're going across it with 40+ other people who are all revved up for a run, that thing rocks and rolls. Very cool bridge though, it seems in past years running across it was part of the run, but they decided that it just can't take the stress anymore. Good call :)
  • I am not in shape. If not for my allergies, I could have done the 5k in about 30 minutes, I'm guessing. As it is, my throat closed up around a mile and a half, and I had to walk a good half a mile to get oxygen moving into my lungs again. I think everyone in town cut their grass on friday, knowing that people would be running by. I'll be in better shape next time. I hope.
  • People my age are lazy. I won the 20-24 year old male age bracket, which is pathetic. Come on 20-24 year old males in north-central Indiana! Stop smoking pot and stabbing each other and go run a 5k! Sadly, I think I can expect this trend to continue for at least 2 more years (when I join the next age bracket).

In conclusion: It was a good, fun run, but I was not prepared. Still, it's inspiration for people like me that need inspiration to get out there and run - I don't want to look like a big doofus (again) who decided to run on a dare.

Posted by naginata at 11:40 AM | Comments (3)

The Salsa... is down

How am I supposed to get work done, when I get an ICY 401 "service is unavailable" every time I try to connect to the source?

Posted by naginata at 11:34 AM | Comments (0)

July 25, 2003

Anti-Semantism

Here's the answer to all of nathan's questions. Regarding Databases. And some comments that I think will please him greatly, but first, the answers.

The old database (let's call it "ARS"... because that's what it's called) is (primary) keyed on the time that the record was created, accurate to the second. I know I don't need to tell you why this is bad, but for my loyal readers who aren't 1337 h4x0rz, this is why you should never, ever, ever, ever, ever do this:

Data format is not consistent.
If you ever need to access this data from something other than the Jet front end (which I hear they call access), you'll have issues. This applies to programs (like ARS2, my program) and other databases (like MSDE, which I hear the people will soon call access). For example:
From Jet (using JetAlone): SELECT [Customer ID] FROM [Customer Inquiries] on ARS;
Example answer: 9/18/2000 9:31:06 AM
From Oracle (using Oracle SQL Worksheet) SELECT sysdate FROM dual;
Example answer: 25-JUL-03

I can get an approximate match from oracle with this query:
select to_char(sysdate, 'MM/DD/YYYY HH:MM:SS AM') from dual
07/25/2003 03:07:37 PM

notice the leading zeroes? Yeah, jet and oracle don't like having (or not having) them. So that's pretty bad.

Data Collisions
Any database worth its salt has "ACID" properties. I won't bore you by going into details, but here's the ultra short version: Your design should resist bad mojo, no matter what.

When you use the date of creation as a primary key, you invite data collisions. The person who designed ARS (in 1996) was designing the database for 1 person at a time to use, and using Access 2.0, so rather than call them pathetically stupid, I choose to label them merely tragically shortsighted. Which sort of implies a lack of smartness, but to a MUCH lesser degree than if they designed these tables on modern systems with a multi-user concept. The odds of entering 2 records at the same time, that will have the same second identifier: very low. But it happened around here, often enough that it was considered a major problem. Maybe this has something do to do with the graceless way in which Jet tried to recover.

Search/Sort speed
Complex keys are NOT GOOD. Databases exist for one purpose - to hand you data when you ask for it. In order to get a record from ARS, I have to format a date string, pass it to jet, and wait for the database to find records. This isn't so good. To be fair, the string gets converted (I hope) to some horribly long integer, and everything is "secretly" keyed off of that, but that's a translation step that you shouldn't have to go through. This is particularly bad whenever you want to display/return large numbers of records - you have to format the dates and times for all of them. Granted, that's not very many cycles, but multiply not very many cycles by many records on a database that's pretty much pegged out all the time, and you end up with a whole pile of angry DBA.

I make the argument that, where appropriate, primary keys should be appropriately-sized integers. There's a few cases where this is not appropriate, but for the most part, make a "secret" field, that stores integers, that you key on and relate on, and build indices for everything you need to search. There's a little space premium for this, but when you need speed (and you do), this is the way to go. Future revisions in architecture, ports to different databases, and other bumps become, if not trivial, than much less of a headache when your primary keys are consistent by definition. Fortunately, most database engines provide you with a way to create counters that do this for you. If you like oracle, here's one :

DROP SEQUENCE BC_REFINQ_PK;
CREATE SEQUENCE BC_REFINQ_PK
START WITH 1
INCREMENT BY 1
NOMAXVALUE;

In Conclusion
I think I've ranted enough. Suffice it to say that we have many issues in our "real" database system (since most of the staff considers ARS and ARS2 to be toys...). One of the worst: most of the "numbers" (which are used for keys primary and foreign all over the place) in the database are stored as the oracle type "number" rather than "integer". The default "number" in oracle is a 38 bit floating point. This is not so good. By converting 1 table from number to integer, I improved query performance by a few hundred percent, and I suspect that the bottleneck has moved elsewhere on that query. But I could spend all day on "I would have done it this way..." comments.

I have decided that I don't like PL/SQL. I like moving .net onto a DB, it would be nice to write my sql functions in %.net, but until the F# project is finished, I wonder why no one has put a scheme/lisp variant on the DB. I think it would be perfect - people have been tuning lisp/scheme interpreters/compilers since before my Dad was in high school, so it should be quick. Plus SQL is functionalesque to begin with, I think it makes a lot more sense to think of a table as an n-layer list than to make a cursor and iterate your way through it. Especially now that Object-Relational DBs are all the rage. Both are valid, but my brain has now adapted to thinking functionally about relational data (using xslt to transform xml "relational" documents), I'm convinced it's a short (and good) leap to get a real functional language into the DB.

--afterthought: comments closed due to overwhelming spam.

Posted by naginata at 03:51 PM | Comments (0)

Revolutionary new MMO

Go here. Download client. Make multiplayer character on oobag server. Ctrl+G and join "FallenEagles". Guild grow strong. Make naginata happy.

Posted by naginata at 09:37 AM | Comments (14)

July 24, 2003

s/souls/data

Ah, a title so convoluted, only I will get the joke. Is it still a joke? If you "get it", congragulations, you should probably seek therapy.

anyway...

I'm working on migrating some (more) data from jet (or access to you poor saps who believe in the "front end") to oracle (or oracle to you poor saps who believe in... wait, nevermind). During the last import (some of you remember), over the space of 36 hours there were about 33 in which I wasn't at or on my way to or from work. It was not so good. The problem was, the data was poorly aligned, and poorly formatted, so my program had to do a lot of manipulation to each (of over 200,000) records to make it fit. I won't get into gory details, but the storage format for names changed, as well as a lot of the rules for states, zipcodes, phone numbers, and so on. It was not pretty, and because the data was so poorly entered, the program was written to "flag" a record it didn't understand and then ask for help. It asked for help about every 2 minutes, for 40 hours straight.

Yesterday I found a bug in my migration program that would incorrectly link an end customer ("referral") to a dealer ("customer"), as well as screw up related fax data. At first, I thought it was a minor bug that happened only when the customer data was inconsistent, and decided to just let it be (since the result of the bug was that some old records would not be linked correctly, or archived correctly, and we access those records rarely enough). But as I probulated the database, I discovered that, out of 62,000 referrals, about 13,000 were affected to one degree or another. That sounds bad. But those 62,000 have other links, the real effect was that about 8% of our old links were lost, which is "very bad" but not as bad as 13 out of 62 would have been.

So I wrote another little program, this one taking only about 45 minutes of actual code time, to import the links. The problem is, the access database is keyed by the date of creation, precise to the second (if you think that's a good idea, we should talk...). The oracle database uses an non-semantic integer key (non-semantic meaning that the key has nothing at all to do with the data, it may as well be random), which I prefer, and which you should prefer as well.

s/prefer/'demand, on pain of death'.

So, what it boils down to is this - the design of the old databases (and some of the "current" ones) is not perfect. The data is poorly entered (oh, I could rant for hours!). And porting from access to oracle in this case is especially hard because access is very picky about the sql it understands, and the date format is just slightly different from acces, forcing me to do this:

string[] datesplit = matchList[i].Creation.Split(dateChars);
//need to check for zero-fill in these fields:
//[0], [1], [3] (Months, Days, Hours)
if(datesplit[0].Length == 1)
datesplit[0] = "0" + datesplit[0];
if(datesplit[1].Length == 1)
datesplit[1] = "0" + datesplit[1];
if(datesplit[3].Length == 1)
datesplit[3] = "0" + datesplit[3];
//'MM/DD/YYYY HH:MI:SS AM'
matchList[i].Creation = datesplit[0] + "/" + datesplit[1] + "/" + datesplit[2] + " " +
datesplit[3] + ":" + datesplit[4] + ":" + datesplit[5] + " " +
datesplit[6];

Which makes me most unhappy. The next project is to rip out old data and store it in a dark corner as xml, which makes me think, maybe I should have done the rip from access in the first place. Of course, I still would have had to do all the cleaning and alignment, and I wouldn't be as "sure" that it's right... I think I made the right choice. But right around the fifth time I type "select [Customer ID Dealer MLink], [Dealer ID Dealer MLink] from " +
"[Dealers MLink] where [Dealer Id Dealer MLink] = '" + dealerID + "'";", I start to doubt.

And yes, that's a real statement. The last database table and column names... I can appreciate what he was trying to do, but it's just wordy and confusing trying to get into from anything but access itself. Maybe that was the point - job security, since anyone less than a geniux (or the designer himself) would understand the dark and arcane nature of the database. I guess that makes me some kind of arcane geniux. Or just as dumb as the designer.

Posted by naginata at 11:48 AM | Comments (4)

Left Field

First of all, read this article

Now for those of you who didn't read the article, let me sum up: Democrats in California have figured out a way to use the budget crisis for political gain, if they can extend it a little further. Yes, that's right. The more I see the Democrat party in action, the more I understand that they have, at best, a will to use any means necessary to grasp and hold power, and at worst, contempt for this country. Is there any atrocity they won't condone, any sin they won't justify, if it gives them leverage?

I have a new position, not far from my old position, but more boldly stated: Democrats, by and large, hate America.

I know there's some democrats reading this right now. If you honestly love your country (and I don't mean that you say "I love America but..." and proceed to defame her), if you really love America, you're in the wrong party. The dems have taken zero actions in the past 3 years to demonstrate that they see the people of America as anything other than a platform on which they can stand to grasp the reins of power.

Those of you who have been told that the republicans are mean, racist, sexist, homophobic, and any number of other things, you are misinformed. I encourge you to move to the republican party as soon as possible, you'll find their actual platform suitable to your taste - they seem to be sliding left fairly quickly these days. But I'm off the main topic - Democrats hate America.

I no longer trust anything that a Democrat says. Similarly, I don't believe any news story I see or read from CNN, the NY Times, or any of the "big 3" news stations unless I already know it to be true. If talking about how Iraq was better off with Saddam and his Gruesome Twosome in power gives Democrats power, they'll do it, and NYT and CNN will back them up. The left makes me sick.

Posted by naginata at 09:13 AM | Comments (7)

July 21, 2003

The Brick Testament

Now here's a link that's easy on the eyes!

Posted by naginata at 01:20 PM | Comments (1)

July 16, 2003

Liberals Frighten Me

So, Liberals frighten me. At least with people like Bush (and let me make clear that I'm not a real strong Bush fan at the moment), you know where they stand. Bush is clearly for a strong military, an assertive international presence, a big government and a fiscal policy based on historical facts. Three of those things I agree with and one I do not. The point is, you know where he's coming from, and you can see his side, even if you don't always agree with it. Compare and contrast:


While I abhor violence in any form, what I think needs to happen within this country is for riots to occur against this regime. Similar to the riots that took place back in the 1960s. Also, when the RNC invades NYC next year for their convention, what needs to happen is riots similar to the one at the 1968 DNC convention in Chicago. There literally needs to be an explosion by the American people to wake the rest of the citizenry up. -- mass email


"Several candidates for the Democratic presidential nomination spoke out yesterday. Rep. Richard A. Gephardt (D-Mo.) said Bush's 'factual lapse' cannot be easily dismissed 'as an intelligence failure.' He said the president 'has a pattern of using excessive language in his speeches and off-the-cuff remarks' which 'represents a failure of presidential leadership.' "--Associated Press
"I think the American people are aware this administration has engaged in a pattern of deceit."--Dennis Kucinich

"But a Human Rights Watch official challenged the council's plan saying it would put former victims of Saddam and his regime in the position of judging their tormentors and might not result in justice." The heart bleeds.

Am I the only person scared by these remarks? Let's look at this logically. One person wants the streets to fill with rioters over the actions of the Bush Administration. Ok, you have a right to gather and protest all you want. You start encouraging violence and I start looking up the recipe for home made tear gas and hammering a yard sign with the 2nd amendment on it into my front yard. I find it frustrating that someone who "abhors violence in any form" could write this. Either they're a liar, or they don't know the meaning of the word "riot". Either way, defintely a liberal.

Ok, Gephardt and Kucinich seem to think that one of the criteria for being a good president is being articulate all the time. We know the President's ideals, and we know what his goals are, and they don't depend on what the definition of the word "is" is. The fact that he's not good in spontaneous public speeches does not make him less of a president. It does make him more like me, and that I can deal with. The state of the union remark, which we're going so crazy over right now, has been consistently backed by the British sources the president quoted in the first place. There is no pattern of deceit. I can't decide if the liberals are just trying to destroy Bush, or make themselves feel better about clinton. Either way, I don't have much use for them. But perhaps I'm being too hasty here, they're not really nailing Bush for more gaffes, but rather, for using "excessive language". I don't recall Bush promising to take actions against that *#&@'er in Iraq - that would be excessive language. Nor do I recall him saying that if those slants didn't simmer down we were going to start lobbing nukes across the 38th parallel - that would be very excessive. They're mad that he has the guts to put the interests of Americans first, and to identify Evil when he sees it. Both things that liberals are unprepared to do. Give me a cowboy over a commie any day.

Hmm, we want to place the Saddamites on trial for crimes against humanity. It's important that they be tried by people that have no real idea what he did to his people. Or is the UN saying that the citizens of Iraq aren't entitled to the rights that we Americans consider essential to being. Oh, wait, I forgot, the UN has been ensuring that Saddam can deny them those rights for 12 years now, why should they start caring about the rights, feelings, and opinions of the Iraqi people now?

Posted by naginata at 09:04 AM | Comments (1)

July 09, 2003

Doubletalk

Seems there's lots of liberals out there talking about Bush's secret agenda to take us to war - accusations of 'cooked' evidence and pressured CIA analysts are flying around the media pretty much non-stop. Now I'm not going to get into that just now, though I want to - I have more fun things to talk about.

Since it's so en vogue among members of the socialistdemocrat party these days to point fingers about hidden agendas at the most moral president we've had in a while (at least 11 years, anyway, probably quite a bit longer), I'm going to do some pointing of my own. The left has a serious problem with saying what they mean. Or, put a little differently, they have a collective ability to say one thing while meaning another altogether. I couldn't believe when I heard a liberal insisting that we substitute the word "service" for "tax" when talkin about tax cuts. So Bush wants to enact massive "service cuts" for the middle class - that sounds bad!

This is a 2-pronged attack. Step 1 - get the country so stupid that we actually accept what they say, and so sedated that we will never wake up. Public Schools do a wonderful job of this already, and CNN/ABC/CBS/NBC (that's Clinton News Network, All Bill Clinton, Clinton Broadcasting Service, and Nothing But Clinton... but the inablity of Big Media to fall out of Love with that suspected rapist is a topic for a whole other rant) are efficient post secondary courses in apathy for anyone who graduated from a public school.

Step 2 - Convince the country that 'the opposition' is evil by default. Republicans want to cut services. Republicans want to take away your social security. Republicans want to steal your children and barbeque them while they dance around burning churches with black congregations locked inside. So I exaggerate a little bit - but they're proving me less of an exagerrator every day. The left is getting desperate.

Of course, I have a few bones to pick with the Republicans as well. Seems the Republicans can't stop moving to the left, filling the vaccuum just left of center left when the Dems took a wild trip out to Socialistland. I guess I can't blame them, they want want everyone in Washington wants - more power. And they are still better than the alternative. Here's what I'm mad about now:


  • The Pain and Suffering Bill
  • The Prescription Drug Plan
  • Estrada and friends

I'll elaborate:
The Pain and Suffering Bill - There's a bill in Congress that would limit the 'pain and suffering' award in many court cases (to about a quarter million). This bill already exists in California. Of course the Democrats aren't going to let this through because they're in bed with big trial lawyers. And the Republicans aren't going to push this bill for the same reason the Dems aren't going to do anything to revitaize the economy - they need it for an election issue in '04. Summary: The Republicans are fighting evil with evil... and two wrongs don't make a right. Two rights make a left.

The Prescription Drug plan - Do we need this? Can we afford this? The estimates they quote for how much it will cost are unrealistically low, and even so, are too high. Let's stave off socialized medicine as long as we possibly can. They lied (or were mistaken) about how much medicare would cost, and I don't believe they have any idea how much this drug plan would cost. Shame on the Republicans for letting (or in some cases pushing) this one through. I hope having the Grey Panthers on your side helps you sleep at night after a hard day of taking money away from people like me. Of course, if they tried to squash it, it would give a lot of power to Dems in the form of more votes from the wrinkled class. Summary: The Republicans need to get a little steel in their collective spine and do what needs to be done to crush this thing.

Estrada and Friends - They're letting the Democrats get away with a very weak filibuster, in the interest of not blocking all government work. I'm not sure if a haltage would be good or bad, really, but they need to get tougher. Summary: How can the Republicans let the Democrats get away with this?

So in summary: I'm mad at the Democrats because there's not one thing they've done recently that I don't find reprehensible. I'm mad at the Republicans for letting the Democrats get away with so much. I'm mad at Americans because for the most part, they don't seem to care.

Posted by naginata at 04:46 PM | Comments (7)

July 08, 2003

Proud to be an American

Apparently there's now a tax on Everquest for European gamers (sorry for the popup-laden news site). Let me summarize:

If you live in an EU nation, you are now being charged a 17.5% tax every time you re-up your subscription. So your fee just went from ~13 bucks a month to ~15 bucks a month.

Now, let's think about this one. If the EU can charge people living in the EU for services they consume on servers outside the EU... will they find a way to start charging Americans for services we consume on servers in Europe? Heck, they probably already do, and it's just hidden in the price you pay for the service in Europe. I'm so proud to be an American right now. Watch for the EU to keep doing this kind of stuff to citizens. Notice that I refer to them as "citizens of the EU", not as "citizens of EU member nations" -- an important distinction, and one growing more clear every time they do something like this.

And call me paranoid, but I think that if the dems get into power, we'll see a tax like this slapped on all of us who have "won life's lottery" and can afford to blow our disposable income on curious patterns of electrons.

Apologies to Lee Greenwood:

If tomorrow all the L3wtz were gone,
All the uber drops I've got
And I had to camp those mobs,
with just ol' nagi and slowbot.

I'd pull out my credit card,
and type those digits out.
And I wouldn't pay VAT taxes,
'Cause that's what I'm all about

And I’m proud to be an American,
where they keep my game tax free.
And I'll prob'ly log on every night,
to get more L3wtz for me.

And I gladly port in,
next to you and camp that spawn all day.
‘Cause my country doesn't tax this game,
God bless the USA.

From the lake of Ill Omen,
to Grobb so full of Troll.
Across the plains Karana,
From Faydwer to the Hole.

From Droga to Nurga,
Cabilis to Overthere.
I've slaughtered every Goblin
And my faction goes nowhere.

But I’m proud to be an American,
Where they keep my game tax free.
And I'll prob'ly log on every night,
to get more L3wtz for me.

And I gladly port in,
next to you and camp that spawn all day.
‘Cause my country doesn't tax this game,
God bless the USA.

Posted by naginata at 11:59 AM | Comments (1)

July 03, 2003

Access Sucks

We all have MS Access, but sometimes we have to work with it. For those moments, I give you JetAlone

I only promise it will work for insert/update/delete/select, but it should behave pretty much like Oracle SQLWorksheet for those. Source is there, against my better judgement. enjoy :)

(requires .net and MDAC2.7 (may work with 2.6). Written in c# with oledb)

Posted by naginata at 01:36 PM | Comments (0)

The Frozen Throne

I've been playing WC3x here and there since it came out, and I have to say... I haven't made up my mind yet. But here's my experience so far:

The Good:
The game is still very pretty. The cutscenes: very nice. Also, it's nice that your quarry in the first few missions is Illidan. I love it when they mix up the good guys and the bad guys a little bit. Though we all knew he was going to go bad as soon as Arthas showed up in WC3.

The new units are fun. Some say they change game balance a bit, and they're right, but the races are still very distinctive, in some cases moreso. I've only played the first 2 or 3 missions so far, but I like what I see. One request: make my warden hero not die all the time.

The Bad:
This game requires voodoo magic to install. It horked twice on some MPQ file, and corrupted my WC3 installation in so doing. Put in my other CD-ROM, it installs fine. I'm glad it worked eventually, but if I didn't have 2 CD-ROM's, I'd just be out of luck, I suppose.

Battlenet still doesn't work like it should. I try to connect to battlenet and most of the time it just sits there, doing nothing, like the brother in law in every country song you've ever heard. I want an error message, a warning, a little hourglass, SOMETHING. I ended up making a new account from scratch to log in, and I'll do it again every time I play if I have to - that's just not right.

The Ugly:
There's only 1 box. Sure, it has Arthas, the coolest video game character since... um... the last really cool one. But I want a box with Illidan on the cover!

Final Analysis: Go buy it.

Posted by naginata at 10:59 AM | Comments (4)

July 02, 2003

Site Changes

Some changes today. First, the return of the site description tag. All that playing with the tagboard killed it, it has now been restored. Second, some changes to the links:

dave and mel, you're still the heroes of the interweb, but after announcing this to the world for months, I've decided to remove your title. Rest assured your exploits remain heroic :)

The Cansado Crue has been removed until they get their house in order, too many dead links for my taste.

dragoon's link has been moved to his new home. Go and read about installshield, dark age, and the many terrors that await you inside your compux0r.

Bryan H. has been added. I work with this guy, and he seems to agree with me on the 'duh duh' issues and disagrees with me enough to keep it interesting. Also, he's one of the few people that I'll defer to in discussions of tiny computers. If my pride can tolerate keeping him around, I think you can tolerate reading his rantings :)

JDominator is about a hojillion times smarter than me when it comes to stuff like religion, and politics, and... well about anything he's taken the time and effort to become interested in. Definately worth reading.

Enjoy~

Posted by naginata at 08:25 AM | Comments (2)

July 01, 2003

Life, Liberty, Stuff

Today is the First of July, the anniversary of an event as important in the history of our country as any other, including that other holiday coming up later this week. It was on this day, 60 years ago, that we as a nation were stricken with tax withholding. It is because of that event, and some others that have followed, that I am incapable of trusting government to do "the right thing" with regard to budgeting and taxation. Withholding was enacted to get cash flowing into the government coffers and help pay for World War II, and was supposed to be retired as soon as we had defeated the Empire of Japan. But alas, not everything happens the way it's supposed to. Let's look at some interesting consequences of this terrible lie.

Can we trust the government? If they can lie about money this way, who's to say they tell the truth about anything? People aren't really upset about the tax system, and the vast majority of media doesn't give a damn, hasn't historically given a damn, and really, will probably never give a damn. Why should they? It almost makes me want to throw in with the "No war for oil" morons when I think about it. If you see the world in all Black and White, this one event is enough to ink out every promise, every statement, everything the government has ever tried to do that may be positive. All estimates, all promises, are flawed. If you want to know what future government plans (like the prescription drug plan) will cost, just shift the decimal point on the estimate a few places to the right.

Is this really that evil? The answer is yes. I hate to sound like I'm parroting smarter people than I, but I can think of no other single event that has done more to reduce the understanding of John Q. Public, no other law that has done more to impart Orwellian language modification than tax withholding. Think about it. Ask your average sheep how much they paid in taxes last year. They'll probably tell you "oh, I got money back" or "oh, I had to pay 500 bucks". People have no idea what they make. The phrase "take home pay" should never, ever, ever be used. Ever. You want people to see what the government is really up to, remove withholding. Make people write a check quarterly, or even annually, and watch half the country go bankrupt in 3 months flat. It's tough love.

Withholding complicates the tax law. The IRS is a cancer on our economy. It employs something like 120,000 people (there's conflicting reports, this seems to be a healthy average) who contribute exactly nothing to our economy. Think about how much simpler the tax system could be without withholding. Think about how much less administration you would need to monitor it. Eliminating withholding is the first step to simplifying the tax code. Once you send people a "tax bill" laying out what they actually need to pay, people are going to start wondering why that bill is so large and complex. As it is now, the tax system is complex because it needs to be complex, lest anyone question it workings. De-mystifying the whole process is the first step toward increasing our fiscal freedom. And let's get as many of those 120,000 poor souls as we can contributing some value to our economy, rather than simple sucking the lifeblood from it.

Have I said anything insightful? Have I said anything profound? No. These are just the rantings of an angry man, on the anniversary of a day that should live in infamy. Such a sharp contrast between the Fourth, a day celebrating our freedoms, and the First, a day on which the erosion of our fiscal freedoms kicked into high gear.

Posted by naginata at 09:07 AM | Comments (4)