Archive for the ‘computing’ Category

Attention Lunar Colonists: Expect 3000ms ping times when using Lunar Internet

2009/12/08/1345

Amid the hoopla over Virgin Galactic’s commercial space ship tourism, and considering proof of water on the Moon, the thing that’s on everyone’s mind is obviously the Moon Colony. I need to tell you something: Lunar Internet ping times are going to be very slow – possibly longer than 3 seconds.

moon picture

You might be thinking, “so what!? I’m on the freaking moon as a freaking moon colonist, and I don’t care about some stupid Lunar Internet anyway.” But that’s just your inner Troll coming out in a particularly ironic way, because without the Lunar Internet, you will have no forums in which to Troll. So, obviously, you want the Lunar Internet if you’re a Moon Colonist, and obviously you’re going to care about ping times.

You might be thinking, “what’s a freaking ping time? When I became a moon colonist, they didn’t tell me about the ping times.” Of course they didn’t mention the ping times, because the uncomfortable truth is that they’re freaking slow. Let me explain.

On the stupid-fast Terrestrial Internet, the Internet is mostly connected by long-haul fiberoptics, which means your lame-ass racist forum-trolling gets blasted around the Earth via lasers and some copper wiring. Aside from routing overhead, most of this process happens at the speed of light, which is why you see ping times like this:

ping google.com
PING google.com (74.125.67.100): 56 data bytes
64 bytes from 74.125.67.100: icmp_seq=0 ttl=54 time=41.112 ms
64 bytes from 74.125.67.100: icmp_seq=1 ttl=54 time=40.746 ms
64 bytes from 74.125.67.100: icmp_seq=2 ttl=54 time=40.468 ms
64 bytes from 74.125.67.100: icmp_seq=3 ttl=54 time=40.158 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 40.158/40.621/41.112/0.352 ms

In other words, it took 40 milliseconds to get a packet to Google and back. Here’s the part where you throw up in your mouth: the Moon is about 1.2 light-seconds away, meaning round-trip ping times are going to be at least 2.4 seconds due simply to the speed of light (or apparent lack thereof). Let me be clear: 2.4 seconds is 2400ms, which is 60 times slower than the Terrestrial ping times I demonstrated.

As always, Wikipedia has something to say about this. This animation shows a gigantic killer laser being fired at the Moon. Take note: the killer laser beam travels at the speed of light.

Speed_of_light_from_Earth_to_Moon-2

Here comes the math. Light travels at 300,000 km/s. The moon is an average distance of 384,000 km from the Earth. Since velocity = distance / time, and we want to know how our ping times will be affected, we solve for time (in seconds).

300,000 km/s = 384,000 km / seconds;
seconds * 300,000 km/s = 384,000 km;
seconds = 384,000 km / 300,000 km/s;
seconds = 1.28 s

When I said round trip ping times would be 2.4 seconds, I was secretly reporting the best case scenario, which only happens when the moon is at its perigee (i.e. minimum distance to Earth). As you can see, in the average case, round trips are closer to 2.56s. Guess what happens when the moon is at its apogee? That’s right – it takes even longer!!!

So while you might enjoy Lunar life toiling in the ice mines (because that water isn’t going to excavate itself) you will certainly not enjoy the high-latency Lunar Internet. Keep in mind: all of the best content will be available from Earth for some time to come. Sure, you might find a few servers that are local to the Moon Colony, but they’re going to be lame like the 1990s Internet, with heavy use of the HTML blink tag and “under construction” icons.

The inside story of the Conficker worm

2009/06/13/0910

This is a fun cat-and-mouse story about the evolution of the Conficker worm, and the people who are trying to understand it. The story ominously concludes that while Conficker hasn’t done much that is publicly visible, there are possibly millions of zombie computers lying in wait.

RTFA: http://www.newscientist.com/article/mg20227121.500…

If every Windows user had downloaded the security patch Microsoft supplied, all would have been well. Not all home users regularly do so, however, and large companies often take weeks to install a patch. That provides windows of opportunity for criminals.

No one knows the identity of Conficker’s “patient zero” computer, or precisely when it was infected. It was probably a machine that the hackers already controlled. Once installed, the software set to work, surreptitiously scanning the internet for other vulnerable machines to send itself to.

The new worm soon ran into a listening device, a “network telescope”, housed by the San Diego Supercomputing Center at the University of California. The telescope is a collection of millions of dummy internet addresses, all of which route to a single computer. It is a useful monitor of the online underground: because there is no reason for legitimate users to reach out to these addresses, mostly only suspicious software is likely to get in touch.

The telescope’s logs show the worm spreading in a flash flood. For most of 20 November, about 3000 infected computers attempted to infiltrate the telescope’s vulnerable ports every hour – only slightly above the background noise generated by older malicious code still at large. At 6 pm, the number began to rise. By 9 am the following day, it was 115,000 an hour. Conficker was already out of control.

The Significance of Google Chrome

2009/03/23/1837

Google Chrome… I use OS X, so I can’t say much for it, but there are a bunch of people out there who can, and the following entry is a really compelling explanation for how this fits with Google’s overall strategy. I tend to agree with this.

RTFA: http://www.25hoursaday.com/weblog/2008/09/15/TheSi…

even with having a seat at the table in defining HTML 5 and being a significant sponsor of the second most popular Web browser, Google still did not have a direct way to push the evolution of the Web directly to users. They were still dependent on the pace of innovation of incumbent browser vendors or figuring out how to distribute a browser plug-in by convincing companies like MySpace to take a dependency on it. This was clearly an uphill battle. Thus creating their own Web browser was inevitable.

So why is this significant? It isn’t because “Google Chrome is going to replace Windows” or some other such silliness. As it stands now, Google Chrome is a Windows based application whose most interesting features exist in other browsers. A Web browser cannot replace an operating system any more than an automobile can replace an Interstate highway. The significant end user innovation in Google Chrome is that it is bundled with Google Gears. This means that Google Chrome has a mechanism for delivering richer experiences to end users out of the box. Google can now use this as a carrot and a stick approach to convincing browser vendors to do what it wants. Google can make its sites work better together with Chrome + Gears (e.g. YouTube Uploader using Gears) which could lead to lost browser market share for competing browser vendors if this becomes a widespread practice among Google’s offerings. Even if Google never does this, the implied threat is now out there.

Chrome will likely force Google’s competitors to up their game with regards to adopting newer Web standards and features just to stay competitive. This is similar to what Google did with online mapping and Web mail, and what the Opera browser has been doing by pioneering features like “pr0n mode” and tabbed browsing. So even if Google loses because Chrome doesn’t get massively popular, Google still wins because the user experience for browsing the Web has been improved.

Beatboxing, programming, and hacking our hardware

2009/02/11/0630

I love beatboxing. I’m not too good at it myself, but I dabbled in linguistics as an undergrad, and I like programming languages (as well as using them). Somewhere, along with these concepts, beatboxing seems to fit in. Mostly, my enjoyment of beatboxing involves the ability of people (who fundamentally have the same mouths and muscles) to find new ways to make their “hardware” sound like something new.

Programming is a lot like beatboxing, insofar as we’re all using fairly standard hardware, but you know it when new software transforms the impossible into the possible, like with Google Maps. Yes, I am going to relate this back to beatboxing, because Google Maps was the first major demonstration of the power of the XMLHttpRequest object, which is the mechanism AJAX is built upon. That object had shipped with Internet Explorer and Firefox for years, but it wasn’t until Google Maps that people realized how immensely powerful it was.

This also happened to the PC demo scene during the 1990s, when Future Crew released Second Reality, which pretty much established the model for all demos thereafter.

This happened when id Software released DOOM, but this has been happening for decades, like when Ritchie released C, as a new way of programming computers, or when Turing … invented the paradigm of modern computation.

Beatboxing seems oddly reminiscent of the spirit of computer hacking, and I like having my mind blown when beatboxers show me something new that I could do too. Check out this completely sick example. Jean jean uses a jaw harp to beatbox some insane techno.

RTFA: http://www.youtube.com/watch?v=5GQ_jOPfhzE&feature…

AMAZING freestyle of jean jean ! French beatboxer

The clock strikes 1234567890 this upcoming Friday the 13th.

2009/02/08/1837

We are rapidly approaching an important time: 1234567890 seconds since the Unix epoch. The following is a fun short article, complete with perl code to verify the time in your own zone.

RTFA: http://www.linuxpromagazine.com/online/blogs/paw_p…

“At 11:31:30pm UTC on Feb 13, 2009, Unix time will reach 1,234,567,890.
Where will you be at this momentous second?” – from Bell Labs

This will be Friday, February 13th at 1831 and 30 seconds EST. If you want to find out what time it will be in your local time, try this Perl script courtesy of Matias Palomec:

perl -e ‘print scalar localtime(1234567890),”\n”;’

Now if there was any reason to fear Friday the 13th, I think this is it. That many numbers sequentially in a row representative of time? Who knows what will stop working? Will lex(1) cease to work, will yacc(1)s
everywhere revolt? Will the rapture be upon us?