How Did He Do That?

I was recently searching through the NTSB accident database, curious to find out some details on a minor plane crash that happened here a little while back. While so doing, I ran into a very interesting accident.

It seems that back in May, a small 1950′s-era helicopter was taking off at from a ranch in rural Colorado. Everything was going smoothly on takeoff until, “the right rear skid caught on a nearby truck trailer fender.

Now, I must admit, I’m not a helicopter pilot. Some of the finer points of helicopter operations may perhaps escape me; however, I like to think that my powers of spatial reasoning are at least up to scratch. And if I read that quote correctly, the helicopter managed to catch the rear part of one of its skids on the fender of a very-close-by vehicle.

Wow. Think about the setup that had to be in place for that accident to happen. Someone feels stupid. (There were no injuries.)

Posted in Discoveries, Hobbies, Humor | Comments Off

Google to the rescue

I ran into an interesting problem at work. I found the solution the first place I looked, but was terribly surprised to see it there.

How about an explanation.

The problem is called a “memory leak.” The idea is that a computer program tells the operating system that it requires a chunk of RAM for something; but when its done, it never tells the operating system to take the RAM back. This leads to a situation where, over time, the program continually asks for more and more memory from the OS, and never gives it back. Eventually the resources are exhausted and the system crashes.

It seemed as though one of the programs I had written was exhibiting this very behavior. Over time, the program’s memory usage would slowly climb. And though it would take weeks of uninterrupted use before any definate pattern emerged, the symptoms were clear.

Now, as easy as it is to explain the problem, finding it is a different story. If it were a simple programming error, it could be easily isolated. But in this case, the basic operating logic is slightly different than expected. That is to say, while the program is behaving as expected, the environment in which it runs is different than previously thought; and factors that would otherwise have been harmless are causing the program to behave inapropriately.

So then, how do you isolate this sort of situation? How do you know which one of the thousands of assumptions you made is the one that isn’t holding true? There a technique called “profiling” that give you the data you need to make that determination. It involves keeping track of every time you allocate and deallocate every piece of memory you use. You keep track of which programming instruction asked for it, and when you said you’re done with it. In theory, over time the offending instruction will have asked for a disproportionate amount of the memory currently in use, and you can then see why that particular piece isn’t being given back. It’s a nifty idea, but it sure sounds like a lot of work.

That’s where profiling tools come in. These are tools that are designed to help you keep track of all this information, and more importantly, interpret the results. It’s a pretty tough tool to make, and options are in short supply. This sounds like a job for Google.

While I fully expected a Google search to direct me to a solution, I never thought the solution would be provided by Google itself. You heard that right. Google has a profiling tool. That much doesn’t come as a major surprise–they have plenty of reason to analyze the efficiency of the programs they write. But Google also recently made these tools available for the public. For free.

There’s a website: http://code.google.com, where Google gives away some of the code that they created as a gift to the software community. Most everything there is only of interest to programmers like me, but that’s not the point. The point is that they’re doing things for the right reason. They continue to use their resources to make life a little easier for the rest of us, and they ask nothing in return. They’ve made no attempt to capitalize on most of their creations. What they do get, however, is first prize in the industry’s popularity contest. It’s a bold strategy. So far, the system has served them well.

Contrast that with the business practices of other companies in the computer field. When the Internet was a new and exciting technology, Microsoft’s Bill Gates made the following remark: “I don’t care what the Information Superhighway looks like as long as I have a tollbooth on it.” It’s no secret that the majority of the civilized world distrusts Gates and the company he founded. We know Microsoft just wants our money. And the business practices they’ve used to get it have been found to be illegal in courts across the world. When Google went public, Gates lamented the universally positive press in an interview, saying “You’re not allowed to criticize and say that Google isn’t solving all the world’s problems.” Google is, indeed, one on the most trusted and respected companies in the industry. Even the news media finds difficulty in coming up with something bad to say.

On the one side you have the most wealthy software company in the world and on the other, the most popular. The philosphies of the two couldn’t be any more different. One faces disappearing market share, fines, and legal battles over illegal business practices. The other has seen its stock price more than triple in the past few months.

Posted in Discoveries, Techie | Comments Off

It’s a Grill

Yesterday, my wife and I made our most exciting and long-anticipated purchase of the year. We bought ourselves a grill. We’ve had our eye on the those gas grills at Home Depot for the past year or so. Every time we went there for one reason or another, we’d have a look and see if they’d dropped in price.

Well, apparently grills don’t go on sale, because we never saw one price break over the span of an entire year. However, the store was doing a promotion where friends and family of the employees got 10% off an entire purchase when they presented a coupon at the register. The event ended today; but last night, Cara and I went went for a Saturday evening trip to the hardware store to look at materials for building a picnic table. Since the “Friends and Family” event was coming to a close, the employees were giving out these coupons to nearly everyone they talked to.

The time had finally arrived.

With our 10% coupon in hand, everything was finally on sale. We made off with a few needed tools as well as the Weber gas grill we had always wanted. We took it home, and I spent the next two hours assembling the thing. Sure, we could have bought it pre-assembled at no additional charge, but then we couldn’t have fit it in the car. Besides, I enjoy a challenge.

Not surprisingly, we had grilled steak and grilled corn today for dinner. Tomorrow, shish kababs. Maybe some grilled fish on Tuesday. Who knows, we might even go an entire week without eating out.

Posted in Dear Diary, Home | Comments Off

The Advent of the Blog

Every now and then, some new big thing changes the way people look at technology. Often, it’s not so much the technology that changes, but rather the way people use what was already there. The revolution isn’t so much technological as it is methodological. Such is certainly the case this time.

The next big thing in internet communication is the blog. It’s a shortened form of the phrase “web log,” which apparently took too long to say. A “web log,” in the classic sense, is nothing more than a personal log (diary or whatever) that’s made accessible over the web. Now, there’s nothing new about that concept–it’s been around as log as the web itself. I’ve been keeping a sort of running online journal of thoughts for ten years now. After all, what else do you put on your personal website.

However, what’s changing the world isn’t so much the practice per se, but rather the rising popularity of tools that make the practice so much easier. That’s where the blog, in the more contemporary sense, comes into play. See, the term blog today seems to be reserved, not just for online journals, but specifically for journals that are managed by a Content Management System (or CMS) that was designed specifically for managing personal pages. The cool thing about a CMS (and, in fact, its reason for existence) is the fact that it makes data entry a lot easier. Creating and managing web content is so much easier with a CMS that you can spend your time writing instead of moving files around.

Now, the concept of a CMS is also not new. They’ve also been around since the beginning of the Internet, but until recently, few people used them on their own homepages. The time and work involved in setting one up was simply too prohibitive. There’s no money to be made in homepages–especially those telling everyone what’s new with your cat–so the home user wasn’t much of a target audience for people designing these things. Progress was slow.

However, once CMS technology took root in the personal home page arena, the results were astounding. Let me go over the major selling points of the average blog.

  • Adding a story is fast. You can compose content for your blog as fast as you can compose an email.
  • Your audience can participate. Every major blogging package allows readers to supply their own comments in response to your story. Suddenly, the user has a real incentive to write–they know they have an audience, and the audience writes back. It’s like having hundreds of pen-pals.
  • Built-in syndication. A technology that is currently gaining popularity is called RSS (“Really Simple Syndication”). It allows your blog to communicate with client software, like mail readers. People don’t have to visit your website to see your latest story–they can read it with their morning email. RSS aggregators are designed to pull content from any number of sources and make them all available in one spot. Not only are blogs easier to write, their easier to read.

So, what has the net effect of the introduction of the blog been? In a nutshell, it’s a decentralization of media sources. When everyone can make their own voice heard, the public starts focusing on those whose story is the most interesting rather than who has the greatest publishing power. People start getting the news from their peers, rather than from traditional media outlets.

Information now comes unfiltered. Whereas the news sources used to get their information “from the experts,” they now consult the experts’ blogs. And in the mean time, the average joe has come to bypass the news outlet, and read the story directly from the source–whether they realize they’re doing so or not! It is a revolution of sorts. Your voice can be heard. And if you have something the world want’s to listen to, it will be.

Posted in Discoveries, Techie | Comments Off

The Science of Concealment; The Art of Guessing

Ever since technology became "cool", there’s been a fairly steady increase in the amount of technical details that make their way into popular literature. For example, encryption, hackers, firewalls, and biometrics have all played prominent roles in at least a few of the best-selling works of fiction of our day. An interesting side-effect of this trend is the fact the veracity of these technical details depends directly on the technological competence of the work’s author. And as a general rule, writers of popular fiction are technologically incompetent.

One of the latest technical absurdities to catch my interest is one involving unbreakable encryption. The plot generally centers around the discovery on an encryption scheme so perfect that no one, not even the most powerful organization in the world, can break it. The implications of such a discovery are, of course, so potentially devastating to the intelligence operations of <insert powerful organization here>, that they focus all their efforts on destroying/containing the technology by any means necessary–usually involving a whole lot of chasing, explosions, and the demonstration of just how powerful this given organization is. As expected, gratuitous action ensues.

Of course, with a little technical knowledge on the subject, you’d realize such a scenario is virtually impossible, but not for the reason you might originally suspect. No, it’s not impossible to create an unbreakable encryption scheme. Quite the contrary, actually. Such encryption codes already exist. In fact, unbreakable encryption is the really the foundation of internet commerce. The tools are available and within the reach of any computer-using individual to encrypt a secret so completely that not even the most powerful organizations in the world could get to it.

Over the past 20 years, the science of encryption has evolved to the point that for an encryption scheme to be considered "strong", it has to not only withstand everyday use, but it also has to withstand any theoretical attack from a mathematical perspective. In other words, it’s has to be proven unbreakable in theory, not just in in practice.

The gory details of such a process are fairly uninteresting. But the implications are this: If an encryption scheme is a house, then an unbreakable scheme is one such that the easiest method of entry is always the front door–no matter how heavily guarded it may be. That is to say, the easiest way of decoding your secret document would have to be guessing your password, no matter how difficult that task me be. While theorists don’t like to say "unbreakable" or "impossible", Modern "strong" encryption is so difficult to break that doing so would require more energy than exists in the universe.

Suddenly, password guessing becomes a very attractive option.

And that’s exactly how they do it–when the government seizes the computer of a suspected criminal, they employ a huge network of their own computers to attempt to guess the passwords on any encrypted documents. They optimize their search by building a dictionary of words to try from the other files on the victim’s computer. The idea is that most people aren’t too adept at remembering passwords, so chances are you wrote it down somewhere.

Asymmetric encryption (also known as public-key cryptography), uses one password to encode a secret, and another one to decode it. This makes the CIA’s job all the more difficult. When you log on to your bank’s website, the computers encrypt the transmission without asking you for an encryption password (not to be confused with your account password). What is actually happening is your computer is picking a temporary password for that session–a random number, usually between 0 and 21024 (about 1 centillion, or around 1 googol3), which is a large and fairly unguessable number by any standard. Through the beauty of asymmetric encryption, you temporary password is never sent to anyone–not even the bank–and it is destroyed once you’re done with it.

Unbreakable? Yeah, you could say that.

Posted in Techie | Comments Off