Archive for November, 2010

Why everyone should calm down about airport searches

Update: if you’re going to comment on this post, make sure you understand that the point I’m making is *not* that the TSA’s actions make us safer. Take the time to understand what I’m saying, which most commenters unfortunately didn’t.
I tried hard to resist the temptation to react to this, but the hype has become too strong and the debate seems to be completely one-sided. So here are my thoughts.

First, a quick summary for non-American readers who might not be aware of the “TSA controversy”.

In reaction to the latest terrorist plot that involved printer toner cartridges, the Transportation Security Administration recently decided to increase their scrutiny in the security lines of airport by including more “private” searches. In short, if you get picked at random in the line, you have the choice between two methods of advanced searches, and this “private patting” is one of them.

A lot of people immediately expressed concern about what they called an “invasion of privacy”, which is fair. Where things when downhill is when people started calling this new measure “abuse”, “molesting” and “unconstitutional”. In particular, this person decided to refuse to be searched and then made a big blog post about it.

The most ridiculous claim is that this new search “violates the Fourth Amendment“.

People making this claim need to read up on US laws.

Here is the short version: the Fourth Amendment protects citizens against invasive searches performed by the government or law enforcement agencies, not private entities. And airlines are private entities.

Yes, I know, the TSA is a government agency, but the contract that you sign when you buy a plane ticket is with the airline, which is a private agency. The terms of that contract are therefore not law, and the Fourth Amendment is not applicable.

Imagine that I’m throwing a party at my house and I tell you that if you come, I’ll search you before you can enter. Am I violating your Fourth Amendment by doing so? Of course not. You can refuse to be searched and you won’t get arrested if you do.

The reason why the Constitution and its amendments exist is because what it applies to is the Law of the Land. Anyone who lives in the US has to follow the law or they can be arrested. Because the consequences of breaking these rules are so severe, the Constitution codifies limits to the reach of these laws and also includes basic rights that will always prevail when they conflict with the law.

Here is what the TSA has to say about it, from their web site:

Courts characterize the routine administrative search conducted at a security checkpoint as a warrantless search, subject to the reasonableness requirements of the Fourth Amendment. Such a warrantless search, also known as an administrative search, is valid under the Fourth Amendment if it is “no more intrusive or intensive than necessary, in light of current technology, to detect weapons or explosives, ” confined in good faith to that purpose,” and passengers may avoid the search by electing not to fly. [See United States v. Davis, 482 F.2d 893, 908 (9th Cir. 1973)].

When you refuse to be searched, you are not breaking the law, you are breaking the terms of a contract. It’s perfectly legal and quite common, actually. It’s not civil disobedience, it’s posturing at best and link baiting at worst.

Refocusing the debate

Now that we’ve cleared a few misconceptions, let’s focus on a few positive aspects.

We should question what the TSA is doing. Always. It’s healthy and it’s our right. Do these extra measures make us safer? Is everyone’s privacy respected? Are we making exceptions for exceptional situations? What are these exceptional situations? Is faith grounds for a waiver? Is the TSA transparent enough?

What concerns me about the TSA is that they seem to be reacting more than being proactive. They seem to only bump up their safety measures after a terror attack has happened or has been foiled. First, there were shoes, then there were liquids, and now it’s full body scans. Maybe in some ways, they’re not going far enough? Or maybe they’re going in wrong directions and always playing catch up?

Travelers want more security, but when they get it, they complain. What’s the right thing to do?

Benjamin Franklin’s quote comes to mind:

They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.

I could not disagree more.

I am perfectly comfortable giving up some liberty to gain safety. And if you have ever flown on a plane, you obviously agree even if you never realized it. But in doing so, I demand a very specific description of the kind of safety that I gain and I also want to be fully informed of the kind of liberty that I’m giving up. The TSA could certainly score higher in this department, such as explaining in more details in what ways the new searches make us safer.


How do you feel about the fact that children get searched this way as well?

I’ve heard a few isolated reports that this is happening and it seems to upset quite a few people.

Maybe it is happening, or maybe it will. I can’t say I’m very happy with the idea, but let me ask a question back: imagine that in the near future, a plane blows up and we find out that a child was carrying the bomb. Would you still find that searching children is outrageous? Would you feel comfortable flying on a plane where children are not being searched?

Should we wait for something like this to happen before we try to prevent it?

Luckily, nothing such has happened, so maybe the TSA is just thinking ahead and doing exactly what I was hoping it would a few paragraphs above?

The poster in the blog was threatened of a civil suit, what do you think about that?

I’m not a lawyer, but this sounds excessive to me and maybe unjustified intimidation.

Having said that, I can’t help but put myself in the TSA agents’ shoes in trying to deal with this person. He might not be a terrorist but he’s certainly acting in a way should concern anyone in charge of security at that airport. I can imagine that everybody was a bit on edge during this incident. I also find it completely normal that this person would be escorted out of the aiport under close guard after this incident.

At any rate, this “civil suit” thing was certainly not the point of his post, just an unexpected benefit (from his standpoint, where all he wants is attention and traffic).

Anything more to add?

To be honest, I’m surprised to find myself on this side of the debate. I’m more the kind of person who is very aware of his rights and eager to see them respected and enforced. But the reactions I have read to this whole debate have been so uniformly onesided and motivated by angry and unreasoned feelings than reason that I just couldn’t take it any more.

If you are going to comment, please avoid profanity.

Eclipse and TestNG: the Next Next Generation

I have been adding a steady amount of improvements to the TestNG Eclipse plug-ins over the past weeks, so I thought I’d stop for a minute and put together a quick summary of the upcoming features.

Better tree

The first improvement is the appearance of the tree. You will notice that it now mirrors faithfully the hierarchy that is found in testng.xml: Suites, Tests, Classes and then Methods. Failures are captured in the “Failed Tests” tab for easier look up:

This tab allows you to focus on the tests that fail and ignore all those that passed.


Another new feature is the Search box. When you have hundreds of tests running, finding a specific one is not always easy, so you can now type a few letters of the test method or its parameters and the content of the tree will automatically narrow down to methods matching your search. Note in the screen shot above that the search also works on parameters provided by @DataProvider.

Summary tab

There is now a new tab called “Summary”. This tab gives you statistics on your test run, such as the timings, the test names, the number of methods and classes, etc… Since the results are shown in a table, you can also sort on any criterion you like for easier parsing. This is especially handy when you are trying to determine what tests take the longest time.
Of course, the search box works in this view as well, and note that in the screen shot below, the Time column is sorted in decreasing order:

This view is still a work in the progress and I’m planning to add more information there in the future, such as statistics on individual classes, time line, etc… Let me know if you have suggestions.

Better conversions from JUnit 3

I also improved the automatic conversion of JUnit tests and added support for JUnit 4 conversions. The screen shot above shows how deep the JUnit 3 quick fix now goes. Notice that your code is now correctly updated so that the converted file will compile without additional changes on your part.

… and JUnit 4

When I started writing the conversion fixes, I made support JUnit 4 a non-goal since I was under the impression that developers would be converting from JUnit 3 but that JUnit 4 users would probably not see the need to convert to TestNG.

Well, I was wrong, and since I started receiving requests from JUnit 4 users to help them convert over to TestNG, I went ahead and added quick fixes for JUnit 4 classes. The screen shot above illustrates this.

There are also a lot of other more subtle changes, but I’ll stop here. With these improvements, I’m hoping that the TestNG Eclipse plug-in will become even more appealing as the central hub for all your testing needs.

I will be pushing these new features to the update site very soon.