Monday, December 31, 2007

The pocket veto, and Congress being "in session"

Recently President Bush has said that he will "pocket veto" a recent bill. This involves using a clause in the US Constitution where if the President doesn't sign a bill and Congress is not in session it is automatically voided.

The problem is that the Senate is currently in "pro forma" sessions, where they do just enough to be technically operating. This was done for another reason (blocking recess appointments) but has a bearing here.

Some have argued that the pocket veto can be used in this case. I disagree. To quote the US constitution:

Article 1, Section 7:
If any Bill shall not be returned by the President within ten Days (Sundays excepted) after it shall have been presented to him, the Same shall be a Law, in like Manner as if he had signed it, unless the Congress by their Adjournment prevent its Return, in which Case it shall not be a Law.

That's the pocket veto in bold. So the key phrase is "Congress must be Adjourned". What does it take to do that?

Aticle 1, Section 5:
Neither [House of Representatives or Senate], during the Session of Congress, shall, without the Consent of the other, adjourn for more than three days, nor to any other Place than that in which the two [sections] shall be sitting.

Did the Senate consent to the House of Representatives being out of session? I doubt it. Therefore the House of Representatives and the people in it are, in a phrase, AWOL, and Congress is not Adjourned, and the pocket veto cannot be used. QED.

Friday, September 21, 2007

Lying Statistics: When people bring up Congressional approval

One of the things that really bothers me is when people throw around the phrase "Democrat-controlled Congress" and "Approval rating".

There are three kinds of lies: lies, damned lies, and statistics.

    —Benjamin Disraeli

Usually, it's because they make the implicit assumption that "People rate Congress poorly" and "Democrats have a slight majority in Congress" add up to "People rate Democrats poorly". Given the statistics available, this is false.

So, after pointing people to the right statistics over and over, I'll just put it in this blog post because I'm sick and tired of ersatz wit from smarmy conservative partisans saying "Hah, the Democrats suck [even worse than Republicans], look at Congress' approval rating!"

Free Image Hosting at

My prime exhibit is a set of polls conducted by the Washington-Post and ABC-News. In these polls, they actually asked questions about why voters are giving Congress a low approval rating.

Why separate ratings? Whole-Congress Polls don't mean much.

Congress has traditionally polled badly, and is not uncommon for them to poll worse than the President. This is generally because when people rate Congress unfavorably, it doesn't reflect on the people in it they like—it's always the other side that is the problem. Even people who are in Congress can say nasty things about the institution, because then they look like "reformers" and "mavericks".

At any rate, the claims people make out of the statistics rely on a fundamental logical flaw: People won't rate Congress the same way they rate Democrats-in-Congress, and they are not interchangeable statistics and Congress' rating cannot be used to support the idea that people like Bush because of it.

Myth #1: "People disapprove of Democrats, who control Congress"

Fact: While the Democrats currently control congress, it is by a very slim margin. In fact, Republicans are still a near-equal force and are using the filibuster to maintain influence.

Fact: People disapprove of Republicans in Congress more than Democrats in Congress. In the most recent December poll, the group "Democrats in Congress" had an approval ratings of 40%, versus 32% for Republicans and 32% for Congress overall.

Congress' ratings, lower than the usual low, appear to be sinking more due to public dissatisfaction the Republican half.

Partial-Myth #2: "People are angry at the Democrat-controlled-congress for not getting anything done"

This is only a partial myth, because the reason why people are angry is important, and often ignored by Conservatives. The September poll shows 55% of respondents find Democrats are "not going far enough" to oppose the current war policy, and this likely explains their eroding popularity.

However, the other part is general Congressional activity. In the same September poll 82% said that Congress has accomplished "not much" or "nothing" this year, but in a followup question 51% blame "Bush and Republicans in Congress" while 25% blame "Democrats in Congress". This supports the theory that people are mainly dissatisfied that Democrats are still "not doing enough" when it comes to the war. While Democrats may be seen as ineffective, people see Republicans as the real obstacle.

Myth #3: "Bush has a higher approval rating than Congress! HAHAHAHAH!"

Closely tied to Myth #1, we see that it's more accurate to say that Bush has a higher rating than his own party in Congress.

Poll links:

  1. Oct 2007 poll:

  2. Nov 2007 poll:

  3. Dec 2007 poll:
  4. July 2007 poll:

Tuesday, September 04, 2007

Habeas Corpus: Cases of invasion or rebellion?

One of my favorite examples of the Bush Administration's nefarious activities has been the case of Jose Padilla. Basically, the President had a US citizen from US soil imprisoned without charges, lawyer, or a conviction, etc., completely bypassing the normal US court system. It's the kind of arguably criminal offense which is surely just cause for impeachment.

Anyway, one of the common responses that Bush apologists have is that Bush is allowed to do that because it's an emergency of some sort. However, that's not what the constitution says. Let's review two relevant pieces of law:

US Constitution, 5th amendment
No person shall [... or] be deprived of life, liberty, or property, without due process of law

US Constitution, Article 1 Section 9
The privilege of the writ of habeas corpus shall not be suspended, unless when in cases of rebellion or invasion the public safety may require it.

So we see here two very specific requirements by US Constitutional law: The government can't jail anyone without it being part of a law, and usually everyone has the right to habeas corpus, or the right to challenge their imprisonment or punishment as unlawful, or--specifically--in violation of the Fifth Amendment.

Here's the argument I'm rebutting: Some people claim that Bush is allowed to suspend Habeas Corpus, either because "We're at war!", or because "They're a terrorist, that's rebellion!"

The first argument does not stand up, because whatever kind of war we are in, it is not the kind which would "require" our court system to abandon habeas corpus. Maybe if we were beseiged by an army of the living dead (or telemarketers) and the normal court system could not function... but thankfully that's not the case.

The second argument does not stand up because the "cases of rebellion or invasion" clearly do not refer to what the suspect is accused of. If you need more proof, consider this: The law would be totally toothless if it were true.

Why would anyone bother to write it? It would offer zero protection against a corrupt Executive branch. All the dictator would have to do is change the trumped-up charge from "unpatriotic speech" to "rebellion", substituting one false or unlawful charge for another.

Wednesday, August 01, 2007

Senate Vote Tabulator

The previously mentioned Senate vote tabulator is done, although I still haven't gotten around to scraping multiple pages at once.

You can download it from here.

Tuesday, July 31, 2007

Experts-exchange deobfuscator

Here's a little something I ended up with. Someone on Digg mentioned a de-obfuscator for postings, and looking at it I realized it used ROT13 but did an AJAX call to someone's free rot13 service, which seemed a little inefficient. (And impolite)

So here's a version that does it locally and also does it better by only converting actual text in the posting.

(Kudos Code2HTML)...

// ==UserScript==
// @name Experts Exchange Deobfuscator
// @author Terr
// @namespace
// @version 1.0.0
// @description Makes content in experts-exchange visible.
// @include*
// @include*
// ==/UserScript==

Merged from two scripts

Improved with better text conversion by using the DOM to find text nodes
instead of changing innerHTML.

document.addEventListener('load',function (e) {
function rot13init(){
var map = new Array();
var s = "abcdefghijklmnopqrstuvwxyz";

for (var i=0; i<s.length; i++)
map[s.charAt(i)] = s.charAt((i+13)%26);
for (var i=0; i<s.length; i++)
map[s.charAt(i).toUpperCase()] = s.charAt((i+13)%26).toUpperCase();
return map;
function rot13(rot13map,a){
var s = "";
for (var i=0; i<a.length; i++)
var b = a.charAt(i);
s+= (b>='A' && b<='Z' || b>='a' && b<='z' ? rot13map[b] : b);
return s;

var elems = document.getElementsByTagName("div");
var todo = [];
for(var i =0; i< elems.length; i++){
var elem = elems[i];
if( elem.className == "answerBody quoted"){
if( elem.getAttribute("id") == "intelliTxt"){
}else if( elem.className == "blur"){
elem.className = "seethru";
}else if(elem.className == "hasMouseOver"){
elem.onmouseover = function(){};
elem.onmouseout = function(){};
var rot13map = rot13init();
for(var i =0; i < todo.length; i++){
/* We're inside a comment, but they can have BR tags as well as text. Only work on text.*/

var elem = todo[i];
for(var j =0; j < elem.childNodes.length; j++){
var subnode = elem.childNodes[j];
if(subnode.nodeType == 3){
var newnode = document.createTextNode(rot13(rot13map,subnode.nodeValue));


Friday, July 27, 2007

Senate Votes and UserJS

Well, I've accomplished a dubious achievement, melding the areas of politics and programming.

I've just finished a UserJS script—a type of Javascript module which several popular browsers support—that will automatically calculate a 3x3 table when you visit a senate roll call vote page, showing how groups voted.

Of course, I don't really want to visit each and every one of the 478 cloture votes since 1989 personally, but it does get me a step closer to automatically scraping that data.

And yes, I first tried Python and XML libraries, but unfortunately the Senate webmaster doesn't seem to think that XHTML is important.

I'll be posting the script up on when I get a chance.

Thursday, July 26, 2007

Internet Explorer Sucks

I'm posting this mainly so that anyone else with the same problem won't tear as much hair out as I have.

I'm using Javascript to add new content to a page via the DOM methods. The page is set as XHTML transitional. With IE6 and IE7, I'm having stupid rendering bugs.

  • When you make an HTML table, it does not display in IE6 or IE7. In order to make it display, you must wrap your row elements within a <tbody> element. According to the HTML 4.01 spec, this is actually an optional element.

  • A table cell's "rowspan" and "colspan" attributes are ignored by IE7, unless you capitalize the letter S on the attribute! This is in violation of the XHTML spec which says that all attributes should be lowercased. (Not tested in IE6)

Remember kids, friends don't let friends use Internet Explorer.

Monday, July 23, 2007

Who likes the filibuster now?

Well, I hadn't anticipated using this blog again--my personal site has been pretty much in permanent-under-construction status since starting my current job.

Anyway, with the recent filibuster in the Senate, I decided to re-examine some old history and congressional records--with surprising results. Last Wednesday, I decided to try to present the results to some sites like ThinkProgress or Crooks & Liars, but nobody has gotten back to me so I decided to dust this blog off.

Recently there has been quite a bit of discussion regarding "filibusters" in the senate, so I set out to try to check the record. Just how much was this tactic used and who probably used it?

In the last several years, most talk of filibusters have actually been about cloture votes, where the Senate needs 60 members to vote showing that they are ready to make a final vote on the subject. Most notably, during 2005 Democrats used this method to block the appointment of several judicial nominees, and the Republicans threatened to change the rules via the so-called "Nuclear Option" to bypass it.

Now, Democrats have a slim Senate majority, and Republicans are using some of the same tactics party leaders once decried.

But how much are they doing it? Let's look at the numbers for the Senate, considering when it was, how many days they were working, and how often a cloture vote failed. I'll use the acronym "FPD" to describe the assumed number of "Filibusters per day" of Senate activity. (Note that I had the rows horizontally sized to make a visible chart, but blogger strips out style attributes.)

Year Days Failed Clotures FPD
2001 173 8
2002 149 13
2003 167 22
2004 133 14
2005 159 5
2006 138 12
2007 108* 19
*Ongoing session

One important caveat to these statistics is that I cannot say what number of failed cloture happened specifically to block legislation. But with the basic assumption that the minority party cannot initiate these votes and has the most reason to block them, some interesting numbers still emerge.

Period FPD
2005: Republican's "Nuclear Option" threat
2001-2006 average: Democrats in minority
2007: Republicans in minority

  • Compared to 2005, when Republicans were threatening to change the rules, FPD is 5.67 times higher now that Republicans are the minority.

  • Compared to the Republican-majority 2001-2006 years, overall FPD is 2.18 times higher.

  • The current year has the highest FPD than any of the previous years shown.

The implications are not good for Senate Republicans: It suggests that—now that positions are reversed—they are willing to filibuster more often than the Democrats previously labeled "obstructionists" for doing the same thing.


Update: Ideally, I'd prefer to replace "failed cloture votes" with "votes where most of the votes against it came from the minority party, and where most of the minority party participated". It would be a much better metric. Unfortunately, it's difficult to get those figures from the Senate records, although if enough people show interest I may reconsider the effort.

Update: As 2007 draws to a close, I wanted to update the stats for 2007: The FPD ficgure is virtually unchanged, following the level I calculated back when I wrote this post. (~1% increase of the FPD)