The site uses cookies that you may not want. Continued use means acceptance. For more information see our privacy policy.

Fiscal Cliff

Overview of the fiscal cliff.

With the election done, the question turns to the approaching crisis of budget, taxes, and social programs.

Back in June, 2001 the Congress lowered tax rates. Again in 2003. Together these actions comprised the Bush Tax Cuts. Set to expire in 2010 (at the time of passage, it was thought (or claimed to have been thought) that larger reform would be accomplished by then), they have been extended to the end of 2012. And there’s currently no deal to extend them further, leading to a situation whereby tax rates revert to their former levels (which can be sneakily called rate hikes).

Budget sequestration. Enacted in August of 2011. This is the set up to a perverse game of chicken, in which the Democrats and Republicans tie themselves together and race headlong at the cliff, and if either fails to turn away in time, we all go over.

All of the non-exempt departmental budgets will be cut by a quarter-percent.

But what is the cliff itself? It is a combination of lower revenues from the tax cuts, which created the trench, and increasing costs/outlays, creating the ramp. We’re moving along a curve, and come the end of the year (technically the cliff hits in a more nuanced way), the curve drops off and the trench closes up as revenues increase due to rates returning to normal.

It’s not really as much of a cliff as a ramp. Into a revenue wall.

The fear is that the turmoil of decreased government spending, coupled with increase pressure from taxes, will lead to a recession.

All of this is overshadowed by the larger fear that the government no longer functions properly, and won’t deal with the underlying causes of the cliff in a meaningful manner.

That is, between the military budget, Social Security, Medicare, and the broken tax code, we face long-term debt and deficit issues that impact our ability to adhere to our values.

The Republicans believe that we should cut the government down to size, except for the military.

The Democrats believe we should raise revenues through tax increases.

In many ways, the entire cliff is built out of the same sort of crisis the Republican party should be going through in the wake of the 2012 election. They have shown an inability to adjust their values to the modern world. They weren’t willing to take up immigration reform when it was their own president, George W. Bush, pushing for it. They continue to try to enact draconian measures against women, including efforts to block access to contraception and abortion.

We face a similar crisis of values. Our military is too large. Our prisons are too full. Our tax system offers perverse incentives. Our medical system uses misguided payment arrangements such as fee-for-service. And so on.

Big military replaced the value of security. Big prisons replaced the value of justice. Tax loopholes replaced the value of government by the people. Fee-for-service and similar money-first schemes replaced the value of pursuit of happiness.

Reelection and career politician replaced the value of government of the people.

Our underlying values are still strong, but their weak counterparts, their value-for-dummies equivalents, are detriments to the functioning of our system.

The supposed traditionalists, the Republicans, are not calling for a return to our true, core values. But the Democrats are silent on most of them as well (notable exceptions being things like equality under the law when they call for recognition of marriage).

In the end, it’s unclear whether the fiscal cliff will scare the congresscritters into action.

Pondering a Query Language for Mail

Thinking about mail activities and how a query language and other tools might make such activities easier.

Query languages are typically used for databases. The basic formula of a query follows subject-predicate form: which entries are targeted and what to do with them.

The simplest form is “print (or return) all entries in this database.”

When you’re dealing with a single piece of mail, you don’t really need a query language. It’s just a matter of directly applying predicates to it.

But when you want to do batch operations, it seems like a query language would be much more useful.

Thankfully, there’s always python. With a few lines of this language you can do the equivalent to what you would with a query language.

Doing something like (untested):

import mailbox
import datetime

# factory to None to avoid it being an rfc822.Message
md = mailbox.Maildir('~/Mail', factory=None)
for key, mail in md.iteritems():
    if not mail['Subject']:
        date = datetime.datetime.fromtimestamp(mail.get_date())
        mail['Subject'] = "[Received on {0}]".format(date)
        md[key] = mail

This will set any mail missing a subject to have it say when it was received as the subject. That’s probably not very useful, but for other things it might be.

But it’s still a bit complicated, in that you need to know python and if you need to operate on several folders, it gets more complicated.

Also, given the number of systems mail might have passed through, all the different filters and handlers, each which may tack on its own special headers, mail is rather messy. Add to that the fact that you may need to leave them untouched for reasons of regulatory compliance and/or security, and the medium becomes a great joy to deal with.

My guess is that separating e-mail into the usable copy and the canonical copy is the best strategy. Every mail gets thrown in a read-only archive that’s untouched and only accessed to pull out of, and another copy goes to the user where they can mangle it as much as they please.

I’ll also take issue with the interfaces used for mail. There has to be a better way to build an interface for cases where people have to manually sort through many items.

A few thoughts on that:

  • Don’t necessarily show the user the whole mail as one piece. By breaking up subject, from/to, body, etc. and showing these independently, it may allow the user to make better judgments. They don’t have to look at the subject and the from/to, two types of data, in rapid succession.
  • Reshow the mail several times. By having it appear more than once, the user has less pressure to get it right in one go. In a normal interface, if they misfile the mail, it will be permanently misfiled. If they know they will see it a few more times, they can give their best guess and the system can sequester mail that has conflicting filings over multiple passes.
  • Show progress. The user seeing that they are on page X of Y has some idea of progress, but most systems, they’ll stay on the first page and the Y will diminish. They won’t have as clear an idea of how much they’ve accomplished.
  • Let modes be modes. While some activities eschew modal uses, others thrive as modes. Manual sorting is such an activity. Instead of trying to have the same interface function for both browsing and sorting, a dedicated sorting mode is perfectly fine.

When used with a query language, such a sorting activity might just be to weed out any false positives. Other times, the query language would be used to feed into the sorting, with sorting being the predicate.

It’s important to recognize that the use for e-mail can apply equally to any sequence of complex artifacts. It could be news, search results (web pages, library books, etc.). Currently, you get a large set of ordered results from services like Google, which you have little ability to easily cull out of. While the engineers work hard to guarantee the relevance of items, often a further search within the set would be easier left to the user when equipped with more advanced tools.

America Lets Ohio Choose 2012

Brief musing on the upcoming 2012 elections.

The upcoming Ohio-elects-the-president election is upon us. But do not lose heart, there are plenty of predecided races in your area to choose from!

Take where I live, for example. I can vote for the known winner or known loser for congress! I can vote for the unopposed candidate in 21 races (of 39 total; more than half are unopposed, and the only race with more than two choices (excluding write-in) is for president).

Ain’t democracy grand! I can vote up or down on a total of 11 amendments to the state constitution, none of which will actually force it to be rewritten in whole.

For the presidential election, my prediction is either 303-235 or 290-248 with Barack Obama winning a second term.

For the senate, 54-46 for the Democrats (with Maine’s Angus King, running as an independent, caucusing with the Democrats).

For the house, between 234-201 and 230-205 for the Republicans.