Baltimore: Now with 23% More Balti

Later today I’ll be heading off to the SELinux Symposium in Baltimore to give a talk. I’ll put up the paper and slides (which are 95% done right now) sometime after I get back.

If you’re lucky, there might even be a post about the goings-on during the conference. Except the last session, which I’ll have to duck out on so I can actually catch my flight back, thanks to the last usable flight out leaving in the early evening.

Fun fact: despite its name and the fact that I have a connecting flight back there, Midway is not actually midway between Baltimore and Indianapolis. Heck, it’d be faster to fly to Midway and drive back to Lafayette than it will be to fly from Midway to Indianapolis and drive back to Lafayette. Except for the fact that my car would be at the Indianapolis airport. D’oh!

Comments Off

Quote of the Week #81

A non-running computer produces fewer errors.

Onur Hosten

Aftertaste the Democracy

Since Ryan asked, here’s the text of the letter.

And for the record, I refrained from dotting my i’s this way.

Dear Rep. Schoemehl:

I am writing to you in regards to the proposed “Missouri Science Education Act” (HB1266) currently sitting in the Elementary and Secondary Education Committee of the Missouri House of Representatives. Even though this bill is not yet up for a vote, I believe the consequences of it passing are so severe that I must exhort you to strenuously oppose it.

As you are no doubt aware, the teaching of the scientific fact of evolution is under a concerted attack nationwide. Supporters of a rebranded, watered-down variant of creationism called “Intelligent Design” have been pushing for its inclusion in science curricula as an allegedly scientific alternative to evolution. But with Judge Jones’s recent ruling in the Kitzmiller case in Dover, Pennsylvania, having rightly found ID to be scientifically vacuous and a disingenuous ploy to sneak religion into the science classroom, creationists are currently changing tactics yet again, this time advocating so-called “critical analysis” of evolution.

Alas, with HB1266, Missouri risks becoming yet another front on the ongoing war on evolution and, even more disturbingly, on science education in general. At first glance, the bill seems to be an attempt to improve the accuracy of science education in public schools. However, a closer reading reveals it to be a vicious attack on science education itself.

For example, the bill deliberately confuses the colloquial meaning of “theory” — a guess or conjecture — with its scientific definition: a
falsifiable statement that makes testable predictions and is supported by evidence. The theory of gravity, the germ theory of disease, the heliocentric solar system, and evolution are all theories, and all are supported so well by the vast preponderance of evidence that they are considered to be true. Without theories, science is reduced to a dry collection of facts without ever understanding how they fit together into a cohesive view of the natural world. Adopting such a gravely flawed meaning of “theory” in the science classroom, as this bill would do, would prevent students from understanding the very fundamentals of the scientific method, upon which all modern science is based.

HB1266 invents the term “verified empirical data” to refer to raw, uninterpreted experimental data in order to cast aspersions on “theories,” which it lumps together with terms like “conjecture” and “speculation.” Its intent is to suggest that theories are not verified, which is hardly the case for those being taught in the science classroom. Few would argue that gravity is merely a “conjecture,” yet according to HB1266 even it is not “verified” and thus deserves to be eyed with suspicion and distrust.

Yet HB1266 goes further still. It mandates, through a creative definition of the term “substantive amount,” that any scientific theories that make predictions about the future or the distant past — that is, all scientific theories — must be balanced with equal time for “critical analysis.” This goes far beyond attacking evolution, which is singled out in particular. Not only does the language of the bill implicitly target other well-supported scientific facts often criticized for non-scientific reasons, such as global warming, the age of the Earth, and the Big Bang, but it also impacts every other topic in science. If HB1266 passes, at least half the time spent in the science classroom must be spent attacking the science taught during the other half.

Lest I be misunderstood, I am not claiming that scientific theories are flawless. By their very nature, scientific theories are always tentative explanations subject to change or even falsification pending new evidence. However, evolution is hardly a flawed theory “on its last legs,” as creationists would have you believe; in fact, evolution is the foundation upon which all of modern biology rests. While scientists continue to refine the details of our understanding of evolution, there is no controversy over the validity of evolution itself within the scientific community. The “controversy” ID supporters continuously clamor about is nothing more than a public relations campaign.

The enemies of evolution attack it because of the social, ethical, and religious messages they erroneously read into it. They claim their
objections are based on science, but if that it true, the burden of proof falls upon them to collect and establish the scientific evidence to support their position. Intelligent Design is a total failure in this regard, offering only a handful of specious analogies and easily debunked arguments against evolution. The so-called “design hypothesis” advanced by ID advocates is not even a scientific hypothesis, let alone a theory, because it is unfalsifiable; any conceivable observation can be explained away by saying “that’s just the way the designer made it.” It is no wonder, then, that they have relied upon political pressure, not science, to force attacks on evolution into public schools.

If HB1266 comes to a vote, the debate surrounding it will almost certainly be highly contentious and even vicious, if similar efforts in Kansas, Ohio, Pennsylvania, and elsewhere are any indication. Nevertheless, it is essential that you take a strong stand against this bill, and I encourage you to urge your colleagues to do likewise.

The future of science education in Missouri’s public schools is at stake.

Paul Kuliniewicz

P.S. Lest my return address mislead you, I am a fellow resident of Oakville. I am currently finishing studying for my master’s degree in
computer science at Purdue University, thus the West Lafayette, Indiana return address.

Taste the Democracy

Any moron on the Internet can blog about an awful piece of anti-science legislation pending in his home state. But it’s highly unlikely those in power happen to be lurking here. What to do?

The obvious answer is to write to one’s state representative to urge her to oppose the bill, should it come to a vote. (Similar bills have been floated in the past few years, but none ever came to a vote.) Democracy in action, baby.

Of course, the letter was far less snarky than aforementioned blog post. And I didn’t even get into the constitutional issues or the Dover trap that the bill would set for the schools. Instead, I focused on how the bill advocates bad science.

Hot Squid on Squid on Squid Action

PZ Myers recently reposted a series of posts on cephalopod sex. Those things are weird. I for one am glad humans are able to identify another’s gender before attempting to mate with him or her, and that the proportion of people using the “sneaker” mating strategy is vanishingly small.

Plus, it’s one of the few pages describing “tentacle sex” that isn’t referring to, um, something else (link possibly NSFW).

Rhythmbox Applet 0.1.11 Released

Another bugfix release of Rhythmbox Applet is out. Changes include:

  • Minor fixes for compatibility with Rhythmbox 0.9.3.

Quote of the Week #80

If a nation expects to be ignorant and free, in a state of civilization, it expects what never was and never will be.

– Thomas Jefferson

Comments Off

More Geeky Videos

In case the stealth link to “Fear of Girls” several posts back didn’t sate your hunger for laughing with and/or at geeks, here’s a couple more:

  • Studs from Microsoft, a parody of the old dating show Studs. Not only is it just what it sounds like, but if you’ll look carefully (i.e., at the screen while the video is playing), you might notice one pre-Science Guy Bill Nye. (Link courtesy of Raymond Chen)
  • Geeks in Love, a fine example of that rarest of genres: “Flash cartoons that are actually good.” You’ll want to watch carefully to catch as many geek references as possible; they’ll come at you fast enough to make your head a splode. (Link courtesy of Calum Benson)

Residential Network Debugging: A Case Study

Problem: This morning, our apartment’s Internet connectivity was horrible. Connecting to websites took a long time (and sometimes failed outright with a timeout), and when a connection was established, the transfer rate was at dialup speeds. 3 KB/s is two orders of magnitude below the 300 KB/s and above I’ve achieved over our cable modem. The problem wasn’t limited to websites, either; similar problems plagued e-mail, instant messaging, and everything else using the Internet.

This condition lasted for several hours. Clearly, something was wrong. But what?

[Editor's note: long post ahead, but it's education and does contain a story about me impersonating Benji.]

Well, if I just came out and told you what the problem was, how will you know what to do if you ever face the same problem? As anyone with a modicum of computer expertise knows, family and friends will call on you, helpless, as soon as “the Internet is broken.” And once you finally remedy the problem, they’ll wonder, amazed, “how did you know what the problem was?” (They’ll probably ignore whatever answer you give, but they’ll still say it.) Of course, you didn’t “know” what was wrong; you applied your knowledge of how things are supposed to work and the good old scientific method to track down the problem and remedy it. If said family or friend was watching over your shoulder as you worked, they surely thought everything you did was fixing the problem, whereas 90% of it was trying to figure out what the problem was in the first place.

So for those of you wondering how the “magic” actually works, here’s how I tracked down the problem. We’ll have to delve a bit into how the Internet works, of course, but I’ll try to keep things from getting too complicated. (Which means this discussion will be simplified; don’t get pedantic on me.)

First, here’s what our network looks like (ASCII art courtesy of the deplorable state of diagramming tools for Linux):

kryten --+   Paul's                                |
         +-- router ---+       APARTMENT           |     CABLE
holly ---+             |                           |     COMPANY
                       |                           |
             Benji's   |                           |
                room --+
                       +---- apartment --- cable ----- gateway --- (rest of Internet)
             Adam's    |       router      modem
               room ---+                           |
                       |                           |
             Dave's    |                           |
               room ---+                           |

It’s a bit more complicated than your typical residential LAN. Note in particular that not only is there a router (technically a NAT box, but we’ll ignore that detail) that connects each bedroom to the network, but my bedroom has its own router to connect both of my computers to the network.

So kryten’s network connectivity is terrible. The cause could be anywhere between it and the servers it’s trying to connect to. Since the problem persists regardless of what Internet server is being contacted, the problem probably lies in the connection to the Internet, rather than the Internet itself.

The path to the Internet passes through two administrative domains: the apartment and the cable company. Why do we care about the distinction? If it’s a problem within the apartment, I can fix that myself. If it’s at the cable company, all I can do is report the problem to them and wait for them to fix it.

Whenever you’re facing connectivity problems, the first tool you reach for is almost always ping. In a nutshell, ping checks for a connection from your computer to another server and back. It does this by sending an ICMP “echo request” packet to the server; when the server receives it, it replies by sending an ICMP “echo reply” packet back. By sending multiple pings, we can gather two important statistics:

  • The round trip time: how long does it take to get the response back?
  • The amount of packet loss: how many pings don’t get a response?

Pinging a few servers revealed a typical round trip time of over two seconds, with about 60% packet loss.

Packet loss, you may ask? If the server is running, why wouldn’t it respond? That’s because the Internet is unreliable. More precisely, IP (the protocol that the Internet is based on) does not guarantee that a packet will actually reach its destination. Anything you send across the Internet is split up into chunks called packets, which are then sent to the destination. Since you usually don’t have a direct connection to the server you want to talk to, packets get passed along from one router to another until it reaches its destination. If one of those routers is malfunctioning or overloaded, it may drop packets.

But then why, if we’re experiencing high packet loss, can we still download web pages? That’s thanks to TCP, a protocol that runs on top of IP. It’s TCP’s job to provide the reliability that IP doesn’t. When TCP sees that a packet didn’t reach its destination, it resends it. This is why downloads still work despite packet loss: the packets will be resent until they arrive. Naturally, resending introduces additional delays, since the sender has to wait before trying again.

OK, so let’s recap. Pinging any server on the Internet shows high round-trip times and lots of packet loss. Since it’s unlikely that every server on the Internet is simultaneously having problems, the cause probably lies between our computer (kryten) and the Internet. But is the problem in the apartment’s LAN, or in the cable company’s network?

If you look at the diagram above, you’ll notice there’s several hops between kryten and the Internet: a router in my room, a router downstairs, the cable modem, and the gateway router. The gateway router is where all packets leaving the apartment go, and it’s run by the cable company. It’s the gateway’s job to forward the packets to their ultimate destination.

Since we’re getting packet loss, one of those hops is probably dropping the packets. (It could be a hop after the gateway, but that will still be in the cable company’s network.) How can we figure out which one? We can try pinging each of them in turn to see what kind of connectivity we have to each.

  • Paul’s router: < 1 ms round-trip time, no packet loss. This is what we expect, since kryten is directly connected to it. This router looks like it’s working fine.
  • Apartment’s router: ~ 2 ms round-trip time, no packet loss. Also looks good.
  • Gateway: 2 second round-trip time, high packet loss.

Wait, you say, why didn’t we ping the cable modem? Simple: because we can’t.


Remember how I said that the Internet runs on IP? That’s not technically true. There’s an entire stack of protocols running on top of each other. It goes something like this (pedantry alert: this is a simplified version of the OSI model where layers 5 through 7 have been mashed together):

  • Layer 5: Application Layer: This is where the application-specific protocol runs (e.g., HTTP for web, POP3, IMAP, and SMTP for e-mail, etc.)
  • Layer 4: Transport Layer: This delivers packets from one program to another program. TCP and UDP are the most common.
  • Layer 3: Network Layer: This delivers packets from one computer to another computer. IP goes here.
  • Layer 2: Data Link Layer: This delivers frames between two devices directly connected to each other. Which protocol goes here depends on what kind of connection you have: Ethernet, Wi-Fi, etc.
  • Layer 1: Physical Layer The physical network link, along with the protocol used to send individual zeros and ones along it.

Routers operate at Layer 3; they look at the destination IP address and forward the packet accordingly. The cable modem, on the other hand, operates at Layer 2: it simply shovels frames from the apartment’s Ethernet network onto the cable company’s line and vice versa. The modem just serves as a way to move from one physical network to another, regardless of how the packet needs to be routed on the IP network at Layer 3.

Ping operates at Layer 3, since ICMP runs on top of IP. Since the cable modem is only at Layer 2, it doesn’t have an IP address, nor does it understand anything about IP at all. That’s why we can’t ping the modem, though we can ping the routers on either side of it.

Anyway, as far as our diagnostics can tell, the problem lies with the cable company’s gateway router. Time to call the cable company up and report the problem.

One minor wrinkle here: the cable service is in Benji‘s name, so to keep things simple, I just tell them I’m him when I call up. I had the foresight to ask Benji what the last four digits of what he told them his social security number were, so I could pass their authentication step. Yay for identity theft borrowing! (The only tricky part was spelling Benji’s last name over the phone, since I’d look really dumb if I messed it up. But no problems there, fortunately.)

Customer service proved surprisingly helpful. Once I told the rep about the problem I was seeing (horrible ping times and packet loss at the gateway), we jumped immediately into testing and resetting the cable modem to make sure it had a good connection to their network. No “try rebooting Windows” nonsense whatsoever.

The cable modem’s connection looked good from their end (obviously, they have access to Layer 2 diagnostic tools on their side of it that I lack), so the rep forwarded me to tech support. He verified the horrible pings along the link out of our apartment and suggested I try unplugging the apartment router from the cable modem. Surprisingly, once I did, the connectivity from the cable company to the modem cleared up! And once I plugged the router back into the cable modem, the problems reappeared.

So, it turned out my original diagnosis was incorrect: it wasn’t the gateway router after all, but the apartment router saturating the link to it through the cable modem for some reason. Now that I knew the problem was on our end after all, I thanked the tech for his help and went back to work on the problem myself.

Note how our initial diagnosis significantly reduced the time talking to tech support, since we were able to narrow down the original problem (“the Internet is slow!”) to something a lot more specific and easily testable (“ping times to the gateway router are horrible!”). And thanks to a support staff who knew what they were doing, we could skip the troubleshooting for people who don’t know what they’re doing (“is your computer plugged in?”) and head straight for the problem.

OK, so the apartment router’s saturating the link through the cable modem. Either the router itself is malfunctioning, generating garbage packets itself, or one of the computers in the apartment is sending out a flood of packets which the router is simply forwarding down the line as it should. Fortunately, we can do a little troubleshooting to figure out which is the problem by disconnecting everything, and then plugging each room back in by itself to see if the problem resurfaces.

Of course, we need some connection to test from, and since I was reasonably sure kryten wasn’t flooding the network, I connected my room first. No problems, so neither the router itself nor my room’s private LAN was the cause. Adding in the other rooms’ connections one-by-one, the problem only resurfaced when one of the rooms was reconnected, but the problem quickly and mysteriously resolved itself the second time it was reconnected. Maybe the extended break in connectivity caused whatever was flooding the network to stop? Unfortunately, since the problem didn’t resurface, and I’m not sure which room was connected to which port on the apartment router, I couldn’t track the problem further. But since the problem did disappear, that means the network was once again usable.

Finally, here’s a fun fact to finish this off: even if the miscreant computer was involved in a large upload, that shouldn’t have caused the problem, assuming TCP was being used. One of TCP’s nice features is congestion control; if it notices packet loss, it slows down the rate of transmission automatically to avoid saturating the link. A well-behaved TCP-based application wouldn’t cause that problem, which is why even when you’ve, say, got BitTorrent running, you can still surf the web without a huge reduction in speed; both BitTorrent and the web browser will adjust their transfer rates so that each gets to use the network.

Quote of the Week #79

If it could be demonstrated that any complex organ existed, which could not possibly have been formed by numerous, successive, slight modifications, my theory would absolutely break down. But I can find out no such case.

– Charles Darwin

Comments Off


The latest report of someone finding Jesus XOR Mary in their food got me thinking.

I mean, besides the fact that I have no idea how you get Jesus out of that picture (but in all seriousness the resemblance to the Flying Spaghetti Monster is uncanny).

What would happen if an Islamic fundamentalist found an image of the prophet Mohammed burned into his grilled cheese sandwich?

(Thanks to Skeptico for the link.)

Comments Off

Quote of the Week #78

Firmly established opinion is not always wrong, and not necessarily worth attacking, simply because it is firmly established opinion.

Chris Mooney

Comments Off

Here We Go Again

Lest you think I was reading too much into pending anti-science legislation in Missouri earlier, and think efforts like that are “only” anti-evolution, you obviously haven’t been paying attention to what’s been going on over at NASA lately.

Phil Plait describes efforts by the current administration to attack science coming out of NASA and is well worth reading.

To whet your appetite, George Deutsch, a presidential appointee, instructed the NASA webmaster to add the word “theory” after every mention of the Big Bang. Why? Here’s his rationale:

[The Big Bang is] not proven fact; it is opinion. [...] It is not NASA’s place, nor should it be to make a declaration such as this about the existence of the universe that discounts intelligent design by a creator.


This is more than a science issue, it is a religious issue. And I would hate to think that young people would only be getting one-half of this debate from NASA. That would mean we had failed to properly educate the very people who rely on us for factual information the most.

Weren’t the creationists holding up the Big Bang as an example of a religion-friendly scientific theory just a few months ago in the Dover trial? I guess now that they don’t see any immediate religious or political need for it, they’re tossing it aside.

Given their track record with science, it’s hardly surprising.

Comments Off

College Bowl

This afternoon, the four of us who live in our apartment – Benji, Adam, Dave, and me – teamed up for College Bowl, one of those quiz-style trivia competetion things.

Why did we participate? Because I called Adam’s bluff about forming a team, and Benji and Dave didn’t care either way. We turned our entry form in on the very last day, after arguing for a good 45 minutes about who was going to walk to campus to do so.

I got to be the team captain, since Adam was too lazy to take the job. Thus I was able to name our team The Crazy Utahraptors. (Other team names seen amongst the 20 competing: Team Chuck Norris, Team Macguyver, and Dead Last.)

Naturally, since our team wasn’t terribly serious about winning and just had nothing better to do, our first match was against last year’s campus champions (who had then went on to regionals). Needless to say, they took things much more seriously than we did, rules lawyering and everything. We did fairly well but still lost against them, and thus fell into the double-elimination tournament’s losers’ bracket.

Nevertheless, the loss did help to identify a few things we hadn’t known about or taken into consideration:

  • Hitting the buzzer Ken Jennings style is essential.
  • The person in charge of recognizing you has to recognize you before you answer; it doesn’t count if the MC recognizes you. Thanks, rules lawyers.
  • The toss-up questions liked to be garden pathy, dropping a few clues about the answer before revealing the actual question.
  • The bonus follow-up questions for correctly answering a toss-up had absolutely nothing to do with the question that led into it.

Also following our defeat, a new plan was hatched: win all our remaining matches so that we’d face last year’s winners again and beat them. We had drive, we had motivation, and we had a chance to grab lunch before our next round.

We won our next match handily and, due to the organizers’ odd scheduling decisions, went immediately into our next match in the losers’ bracket. In that match, we were able to drop the secret weapon we had been planning. We won a toss-up but, for the first time, had absolutely no clue what the answer the the bonus question was. So we answered, “Dare.”

The room was almost silent for the next few seconds before people realized what we just said and started laughing. The MC quipped, “I think the other team will Double Dare.” Alas, the rules didn’t specify any Physical Challenge, so no points for us.

Even though we were moderately ahead in the first round of that third match, in the second round the other team pulled far ahead, dealing our team the coup de grâce.

Comments Off

A Word of Advice

If you’re offended by a couple of Danish cartoons that imply that Islam is a religion of violence, calling for the massacre and extermination of the artists may not be the most effective response.

I’m just saying.