Author Archive: Zoey Boles

February 13, 2008

The Usage Of Complex Algorithms For Password Generation

Passwords are difficult. On the first hand, you want to create a password that uncrackable by anyone, lest they be teenage hackers or CSI experts with magical hacking tools. On the other hand, the password has be rememberable by you yourself, lest only teenage hakcers and CSI experts with magical hacking tools are able to access your data.

So, how do you make passwords?

One of the more secure ways are to use a random letter generator, like random.org, to build random strings, pick one, and memorize it. It's pretty secure (random.org uses real random noise to produce it's random numbers)and with seven random alphanumeric characters, the password search space is about 2.2 trillion combinations! But are you really going to remember "QRSr0Fu" or "W96TUON" two weeks from now? (My generated set had "myELlRK" which I might be able to remember...) If you type your password every hour or so, you might remember this by muscle memory pretty quick. Just in time to have to change it, I bet.

Another way is to take a word or phrase, turn some letters into |33+sp34k, and you get something more random, but much more rememberable. So, for example, "minivan" becomes "m1n1v4n!" and "washington" becomes "w4sh1ngt0n!?!" These are actually quite rememberable; the use of non-standard characters disallows the use of rainbow tables and dictionary attacks, so they're much less suseptable to cracking. However, what happens when you forget the "!", or that "Washington" gets "?!?" or that you did NOT turn "t" into "+"? You could end up going through a few cycles trying to "guess" your own password. Again, if you use it all the time, you'll learn by muscle memory. And this lets you come up with some cool passwords, like "c4p+41nK1rk". How can you beat that?

My favorite way, however, lets you write your password down in plain sight. I tend to cycle through passwords, and if you're anything like me you have two online banking passwords, four credit card or loan company passwords, a work domain password, 6 email passwords, a home log in password, etc, etc, etc. If you take the easy way out and use the same password everywhere, you end up making kittens and security experts cry. If, however, you have a completely separate randomized combination for each account, your brain will get stuck in an infinite loop. Using this method, you get to write down your passwords and tack them to the wall. Or put 'em on a sticky note. In plain sight. Email them to yourself without a care. It uses a special type of encryption to keep your password safe. Not AES or DES or TEA or other TLAs. I call this "Hippocampy Encryption" (named in honor of the part of the brain that does memory type activities).

The key is to write down a set of clues that will tell you (but only you) what your password is. You can add symbols to help you remember what kind of encoding to use for your password. Here's a password I just made up right now as an example:


Shawn's rival ^
shout your home team
Esirpretne
Sam.

Because everything on this note is simply a hint for your specific brain to recall a password, it's specific to you. Hints don't even have to have anything to do with the subject. The hint "Red October" could tell you the word "fortworth", whereas for me, I'd be trying "R4M1US", "M1SSL3S", "jackryan", "TomClancy", etc. You can string three or four hints together for a password. Note, these create long passwords, and your coworkers may start to believe that you have a superhuman capacity for memorizing long strings of randomized data. Do not do anything to dissuade them from this belief. And, because the hints point to common words and numbers already lodged in your grey matter, you may be suprised just how fast you type in that 20 character long password. Compared to my speed on 7 character random strings, it's blazing.

And due to the pattern matching ability of your brain, remembering the passwords are easy. Lets say you've written your clue on the back of one of your business cards, so you have it handy if you need it. After a few days, just SEEING a business card will bring your new password to the front of your mind. After a while, you'll stop needing your hint sheet, as you'll just remember the password. And when it comes time to change your password, shred your card and your postit, post a new one (in a different color if you can, helps the brain), and give yourself a few days. Unlike scrawling your random digits on a paper or card, even if somebody stole your "Hippocampically Encoded" card, they would have to REALLY know you (or be a really good guesser) to get the password. Even with your card, you've reduced them to brute searching. And if your card/note turns up missing, it takes about 30 seconds to whip up a new hint sheet. Not only is your attacker brute forcing your hint sheet, but it's the wrong hint sheet anyway!

So... have you guessed my password above? It's GARYkemp!1071Max. 'Course, you'd only know that if you knew that I played Pokemon and left my rival's name at default, that I decided that "^" meant "Make it all uppercase", that my home team is the Kemp High School (and that I was talking high school football), that by "Shout" I meant "give it an exclamation point", but that the whole word should be lower case (because the hint is), that Esirpretne is "Enterprise" backwards, and that I meant to make the serial numbers backwards (but not the NCC part), and that by Sam (a very common name) I meant "Give me the name of Sam's partner in that incredibly funny cartoon by Steve Purcell, Sam and Max: Freelance Police." The period is just decoration. If you did guess it, contact the NSA. I hear they're hiring people like you.

-Zoey

February 4, 2008

Nnet Strikes Back

I'm not going to tell you my name for two reasons: First, I don't want a million tickets assigned to me asking if I'm crazy. Second, if I am crazy, I don't want anyone knowing it's me.

I'm not a writer myself, so I asked Shawn to write this up for me. He's a programmer, and more important a Trekkie, so he's likely to understand (and more important, believe) this story. Besides, he's written a few humorous, slightly preposterous posts for this blog, and that's very, very important.

Unlucky as I am, I was the first person to notice something strange going on. I'm a datacenter tech for the company (but I'm not going to tell you WHICH datacenter), and my job... well, I'm the power guy. I make rounds in the datacenter, checking breakers and power panels, keep an eye on voltages in the portal, that kind of thing. No power issues at the datacenter? That's because of me. So, I'm perusing the tickets and keeping an eye on things, like I should.

As I was answering a particularly interesting ticket, I received an IM from a datacenter engineer I hadn't met yet. That's not surprising; we're growing like crazy here, and I don't always get the "Welcome a new employee" email before I find myself working with the guy or gal. I finished my ticket and opened up the IM window. It was from "Nnet," and the contents caused me to leap out of my seat:

"The power strips on the new racks (205, 206, 207) are drawing too much current; it will pop the breakers in 52 minutes, 12 seconds."

I had just CHECKED those racks. I walked down to the server room, muttering about some whippersnapper of a new engineer playing a trick on me. I was going on vacation in a week, and I did NOT want any power issues; I was training another engineer to take the console while I was gone, and if anything happened during testing I would surely be called in. Anyway, I walked into the server room and checked the gauges on the power panel.

And they were drawing almost a full five amps too much. If we had turned on the third rack, the whole aisle would have gone down. That wouldn't have been too bad; no servers were hooked up. This is exactly why we test the power before we put servers in.

I and the rack crew worked for about an hour rewiring the racks, starting from the third rack. Sure enough, about 52 minutes later, rack 205 shut down. Mentally thanking "Nnet" for finding this (and more importantly, not tinkering with it before letting me know!), we got the racks wired more efficiently (they're supposed to be on separate breakers, but the electrician labeled the wires wrong), reset the breakers, and had absolutely no issues for the rest of the day.

I got back and thanked "Nnet" for finding that issue. The next day, I got to thinking about how "Nnet" had saved my vacation (I would have spent all week tracing wires to figure out what had happened), and I wanted to invite him or her to lunch. So I IMmed "Nnet" with an invitation. An hour went by with no response, but it's not too strange to have a datacenter tech away from their desk for a couple hours. So I sent an email to Nnet.

The email bounced back.

-"Mystery Author"
Maybe HR hadn't set up the email yet? So I called them up to see what was up with Nnet's email address.

That's when HR told me that nobody with the last name "Net" had been hired (I thought "Net" was a strange name for a tech, but it's not the strangest last name I've ever heard). I called the networking department to ask how I could receive a company IM from somebody who doesn't work here? They researched it and couldn't find any incoming links through our firewalls or any of the internal logs. Stranger yet, the Jabber server indeed DOES have an account for "Nnet", but the engineer who runs the server swears that he never set that up.

We were discussing this back and forth when one of the developers walked by, overhearing our conversation. He laughed, and when we asked why, he told us that he was reading a book about the human brain, and that the brain is made up of million of millions of neurons all interconnected with each other; that these interconnected neurons work together to create intelligence.

Could that be true? Absolutely not. It's preposterous. Sure, we've got tens of thousands of computers around here, dual cores and quad cores running various operating systems and applications, all connected by an incredibly fast private network...

...could it be?

The engineers are all completely sure that one of the datacenter techs must be playing a joke, and they're currently tracking it down. But I'm not too convinced. "Nnet" knew which power strips were having trouble in a room keycarded to open only for me and a hand full of other techs. And they all swear they didn't send it.

That's when I talked to Shawn. He told me that there's a lot of technically minded people out there who read fantastic science fiction stories and come up with solutions... even knowing that the tech is impossible, they can find a way to solve the problem. So we hatched up this idea to write out a fantastic blog post, an interesting narrative of my predicament.
Then we'd post it to the blog and watch for any discussion on the customer forums. Our customers are really smart, and they like solving problems. Maybe somebody out there has an idea of how we can figure out what's going on around here.

So here's the story. A completely fantastic modern day science fiction story about a sentient datacenter.

Preposterous!

...any ideas?

January 23, 2008

640K Ought to Be Enough for Everybody

I was talking with a friend about memory on computers. He said he wanted a computer with tons of memory for Photoshop. I said something to the effect that I've never seen a desktop that can handle more than 16 GB, and that most operating systems now don't want to handle more than that... that Windows will only give a process 4 GB max, 2 GB for the application and 2 GB shared with the operating system. He then said "I can't imagine having to use more than 16 GB!" This immediately reminded me of Bill Gates' famous quote, that "640K ought to be more than enough for everybody." Striving for accuracy, I went to the Internet to find when and where he said this.

Interesting fact came up: HE NEVER SAID IT. He vehemently denies having ever uttered this phrase. Every quote I've seen is always un-sourced, so let's give him the benefit of the doubt. So what makes this quote clog the tubes so easily?

First, the irony that a person renowned for his computer visions of the future would say something so backward causes people to smile. Secondly, there is a nugget of truth. In a 1989 speech, Bill Gates said:

"I have to say that in 1981, making those decisions, I felt like I was providing enough freedom for 10 years. That is, a move from 64k to 640k felt like something that would last a great deal of time. Well, it didn't - it took about only 6 years before people started to see that as a real problem."

Bill never said "640K is enough for everybody." He said "640K should keep everyone happy for the next 10 years." Turns out he was wrong. Within less than 6 years we started hitting the "640K limit"... which wasn't a hard limit at all, it was just a limit proposed by the operating system at the time. Mr. Gates thought that 640K was generous, and in the beginning it was. But as the industry marched forward, it started cramping. Pretty soon, we had DOS memory managers, extended and expanded memory, virtual memory... we would do ANYTHING to escape the 640K limit.

So what's the moral of this story? First, you can't believe just anything you read on the Internet. Sometimes something gets into the tubes because it's funny, not because it's accurate. Secondly, predicting the computer industry is hard. To be a successful computer development company (like the portion of SoftLayer I work in), you have to be able to look to the horizon and attempt to spy the most likely location the software industry is moving in. We developers work on projects 3, 6, 9, 12 months before they're used by our users; we have to make predictions at least double that size in advance to give growth room whilst the next tool is developed. And, I dare say, we've done a good job of that around here!

In conclusion, Bill Gates never said "640K should be enough for everybody." That quote is a myth. It's a funny joke, but a joke nonetheless. However, Bill Gates did actually say this at a Macintosh conference:

"To create a new standard, it takes something that's not just a little bit different; it takes something that's really new and really captures people's imagination — and the Macintosh, of all the machines I've ever seen, is the only one that meets that standard."

And this time there's video evidence. And there's the not-quite-quote where Bill Gates implies that Vista isn't really the best thing since 8086 Segmented Physical Memory Models. Aren't real quotes more humorous fake ones? I think so.

-Zoey

Categories: 
January 16, 2008

Where Have All the Gurus Gone?

When I was growing up, computers were these wonderful things that sat at the back of the classroom (usually one, or maybe two if the class was lucky). If the school was lucky, there was a "computer lab" where you could have access to the latest and greatest in government approved hardware.

My favorite of the time was the Apple IIe. Our school district had so many of them, they handed 'em out to classrooms (The school district now uses them as very effective door stops). In fact, I got my start with computers by tinkering with a IIe. My first computer experience was hooking up a printer to a IIe, and the wonder of this experience (plug something in, type a command, and print came out!) completely captured me (I was in first grade), and from that moment on I was completely wrapped up in the wonder of computers.

Anyway, I graduated to PC compatibles and DOS. Trying to get a grasp on this computer thing, I got a copy of DOS for Dummies. Near the beginning of the book, they had a paragraph that had some important words of wisdom. While I don't have the book any more, the message is still with me: "This book will teach you the basics of the computer, what you can do, what you can't do, and what you really shouldn't ever do. However, for anything you don't know, contact your local computer guru."

Computer Guru? What is this "Computer Guru"?

According to Wikipedia, Guru means "Teacher, in a religious or spiritual sense." And as luck would have it, I was able to get into contact with Computer Gurus throughout my life. These were the computer equivalents of the small town mechanic: you pull up for some gas and Harvey the mechanic walks around the corner. "Howdy! I heard you pull up. You've got a bit of a timing issue, and I think one of your spark plugs are bad. I can change 'em out in a few minutes, if you like." It's almost like Harvey has a supernatural connection to vehicles. He can hear issues, he can smell problems... he's one with the Motor Vehicle Force.

The same with the Computer Gurus I knew. You walked in and turned on your machine, they'd make a "Hmm" sound (in computer science, "Hmm" is similar to the Indian sacred syllable "Aum" or "Om". It's ritually chanted by a computer guru whilst contemplating your computer's connection to the Universe), type some sacred symbols into the prompt, then tell you the problem and offer to fix it. Most times they would happily fix your computer in exchange for a pizza; sometimes just getting a cup of coffee from the ever present drip dispenser could net you a small fix. And if you were truly interested in computers, you could even ask to become a follower of the Guru. You'd spend your spare time in his or her office, ask meaningful questions about the nature of the Universe, contemplate ancient tomes and user manuals, and take care of the mundane tasks of life (like formatting floppies or installing software) so the Guru could spend their time connecting with his or her latest project (generally spent looking at an arcane flowchart or design document and saying "Hmm" a lot). You knew, one day, with practice and patience, you too could become a Guru, have followers to format your floppies, and say Hmm.

However, the computer industry started changing. User interfaces became simpler, USB made the promise of true plug-and-play a near reality... the command line all but disappeared. Computers stopped being a specialized device and became a commodity. Computers were EVERYWHERE. And there was this belief that computers will become so "user friendly" that there was no need for the long learning process of the Guru.

And for the most part, this has happened. Programs are very user friendly now. There's tons of documentation, and most don't expect you to have a PhD in Computer Science to understand them. Workflows have become "point and click link" instead of "chant this esoteric string into the command prompt".

However, sometimes I really miss my Guru. For example, just this last week, my roommate's computer (which I built) started randomly crashing. There wasn't a specific program that crashed, and it didn't crash at a set time. I knew something was wrong, so I tried to diagnose. 'Course, Vista being user friendly, the computer would automatically reboot, without showing the Bluescreen, except for the subliminal hint of blue to let you know that the computer had crashed. See, blue screens have "Technical Information" (it says so right on the screen!)... and user friendly computers (1) don't crash, and (2) are NOT technical. So I was stuck with a computer that wouldn't run, and a bored Roommate who just realized he has a $1200 paperweight.

As Dr. McCoy would say, "I'm a programmer, not a hardware doctor!" Hardware issues are right outside my realm of experience. I longed for my Guru. I knew how to diagnose; I pulled hardware, changed orders of cards, swapped the memory sticks back and forth... all the standard religious rituals for modern computers. I knew that if I could but approach a Guru, tell him or her my issue, they could give me leads to check. I didn't have the money to buy all new parts at random; I had to work with what I had. I knew I had all the data for a real diagnosis... I simply wasn't able to pick out the error. Working the next day at SoftLayer, I mused about my lack of Guru leadership. At the end of the day, I turned to a coworker and said "Now I get to tinker for a few more hours on this stupid computer. I wish I knew a Computer Guru!"

My coworker smiled and asked what the problem was. I told him and he looked at the ceiling. "Hmm" he said. "Could be a power supply issue. Maybe the power coming out of the supply isn't clean and it's resetting the motherboard." Just then, another coworker walked around the corner.

"What about a power supply?" he asked. The first coworker told him the issue. "Hmm," he said, looking intently at the wall. "I bet it's a RAM issue. I bet your ram is bad. Swap it out with some good RAM and see what happens."

So I went home and crosswired some power supplies. Rebooting the machine, I finally got a bluescreen that crashed itself, locking up the computer and letting me read it. "PAGE_FAULT_IN_NON_PAGED_AREA" "Page Fault?" I thought. "Hmm." My roommate walked in. "What are you doing, meditating? Have you fixed it yet?"

We went to Fry's and bought some new RAM sticks. Going home, I popped 'em in and started the machine. And it worked! It's been running 6 days nonstop. My roommate was really happy. I was finally able to look up the bluescreen message up on the Internet. Sure enough, that specific error almost always pops up when there's bad ram.

So, where have all the Gurus gone? Where else? They all work at SoftLayer! Whenever I've had a software or hardware issue, or an operating system issue, I've found somebody here who knows the issue. They look at the wall, say "Hmm", sip their coffee or Monster (depending on their level of enlightenment), and give me the answer. The guys here are at one with the Network. The DC guys almost seem to be able to FEEL a power issue or a drive problem before it happens. SLales is able to think about your problems and provide a tailor made solution to help. And Development is where all the action takes place; we get to write all the behind the scenes magic.

"You must be some kind of Computer Genius!" shouts my roommate (lucky for me, he's gotten to play some Call of Duty 4, so he's already forgotten the previous week of frustration). "No, not yet." I respond. "I'm working on it, but I'm not a Guru yet."

-Zoey

December 13, 2007

Avoid Gift Cards!

I live in America, and as any American knows, we pipe Christmas Music and Christmas TV and Christmas Movies directly into the brains of as many people as possible to attempt to keep everyone safe during this difficult shopping season.

Admit it: when you and your neighbor are running to Electronics in hope of getting the last Wii from the shelf, sometimes the only thing stopping you from dumping a bag of Skittles in front of him or knocking over a Lego display is the constant barrage of Rudolph and Frosty and other Christmas cheer over the PA.

Unfortunately, unless you are content to give everyone a copy of Dryping for Dummies (By Steve Kinman, SoftLayer Press), you will have to wade into the shopping rush to eek out your Santa sized bag 'o goodies.

Never fear, however! The Retail Industry is there to help! For those who don't want to dive head first into the excitement of Christmas Shopping (which can make even a foray to pick up some toilet paper from Wal*Mart into an exciting 2 hour adventure), nearly every retail outlet is willing to give you a 2" x 3" credit card like piece of plastic stamped with their brand. Yes, the Gift Card.

It's been said that over 60% of American adults have either bought or received a Gift Card, this year. It's a very convenient device. For example, if I figure out that Lance really likes Outback Steakhouse, I can buy a $10 gift card from Outback Steakhouse, wrap it in a $1 Hallmark card (although, sometimes the retail outlets already have such cards (stamped with their logo) available), and give it to Lance. "Merry Christmas!" Sometimes you can even get the card gift wrapped.A gift-wrapped credit card!

We're to the point, now, that simply handing somebody a plastic card is actually considered a thoughtful gift. On the way to work, I heard that any fishing lover would prefer to receive a Bass Pro Shop Gift Card over, say, that Bassomatic '76 they've been talking about.

But, lets be honest... it doesn't take much to choose a gift card. I overhear Lance say he likes steak, I see a Outback Steakhouse card, and bam! Before you can say "Impulse Purchase" I now have an instant gift! Sure, it's not as fulfilling as, say, a box of prime steaks... but this way you can give him more gift cards! And more is better, right?

But the comedy doesn't end there. Have you ever seen a gift card in a usable denomination? Usually I find cards with a value between $10-50. Can you even get a steak meal for $10 at Outback Steakhouse? (Don't forget to include the State and Federal Wallet Excise Tax.) And I'm not talking about that free bread, either. No, what happens is you end up either leaving a trifling amount of money on the card (Your balance is ... twenty five cents), or you end up wrapping your card in a sizable amount of cash. See how neat this is? I bought a $10 card, and Lance will pay the balance of the meal... AND STILL THANK ME FOR IT!

Retailers make MILLIONS of dollars off the trifling amounts that just sit, unused, on gift cards. And gift cards aren't usable at another store, so if I want to buy a $20 book, but I only have a $10 Half Priced Books gift card (and a $10 Outback Card Lance gave me as a Thank You), I'll use the card + $10. You can almost never just spend what's on the card.

Here's some friendly holiday advice: If you know what your friend wants, buy it for him. If you don't, ask people close to him. Even Aunt Myrtle's sweater contains more holiday cheer value than the sweater's monetary value in McDonalds Gift Cards.

Is there a way out of this trap of value-locked slivers of plastic? Indeed there is! If you wish to transfer value to another person without locking them into one choice, give them... CASH! Yes, greenbacks, bucks, dead presidential portraits, green... whatever you call it, United States Federal Notes are accepted by all retailers, in any denomination. Value not used by one retailer can then be spent at another. This value can also be stored up where it may earn interest and combine with more legal tender until a large item can be bought. The best solution for any gift giving problem where "Gift Cards" are suggested as a solution is CASH, such as when you absolutely can't think up something to buy. And it makes a great stocking stuffer. In Bulk. Hint, hint.

Yes, you in the back? What does this mean for SoftLayer? Just because this is a SoftLayer Blog doesn't mean it has to have a SoftLayer moral! But lucky you... I've got one right here: (this weekend only, special holiday financing available!)

Like Gift Cards, each SoftLayer server comes with a bloc of value attached: bandwidth. This valuable commodity makes the servers work. You can have all the processing power in the world, a RAID 75 array with 100 petabytes of space, 40 terabytes of onboard memory, and if you don't have any bandwidth... it's all moot.

Unlike gift cards, however, SoftLayer attaches some real value you can actually use. For many users, even touching the top of the 2 Terabyte bandwidth pipe is a real exercise.

However, sometimes, like gift cards, a customer buys a server with value attached... but simply cannot use it all. Or they put the server 100% on the private network and never use the bandwidth at all (Like that $20 gift card from Sludge Emporium your Granddad gave you last year). Is there any way to salvage this value?

Indeed! The SoftLayer Secret Labs rolled out a new feature a while back: Virtual Dedicated Racks. These VDR's (as we cool SoftLayer Secret Lab Technicians like to call them, because TLAs are cool) allow you to virtually rack a group of servers behind a virtual bandwidth meter. All the attached bandwidth value of those servers are lumped together, like a good 'ol pile o' cash, and the aggregate amount attached to the rack. An example:

Each server comes with 2T bandwidth (generally).

Without VDRs, if server bassomatic.76.example.com only uses 1T of bandwidth, and server auntmyrtle.sweaters.example.com uses up 3T, you end up with a full 1T overage on Aunt Myrtle's site, even though you have a full 1T worth of value on the other server not being used!

With VDRs, the two servers pile their value together, making a 4T rack. Bassomatic.76.example.com uses 3T this month, while Aunt Myrtle's site only uses 1T. Combined, their "rack" uses 4T of 4T, so 4-4 = 0!

Like cash, but unlike gift cards, with VDRs you are able to pool your value to allow the usage of more value at one time. Now how awesome is that?

If you would like to experience the excitement of pooling your bandwidth, talk to your SPS (as we cool SoftLayer Secret Lab Technicians like to call our SoftLayer Professional SLalespersons, because an acronym is still a cool TLA as long as only three letters are capitalized), and get yourself a Virtual Dedicated Rack (make sure to call it a "VDR" when you order it to sound cool).

And let 'em know this post by Shawn got you interested. If I get enough referrals, I'll get the December SoftLayer Referral Outback Steakhouse Gift Card!

-Zoey

Categories: 
October 16, 2007

The Miracle of Email

"You see, wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. Do you understand this? And radio operates exactly the same way: you send signals here, they receive them there. The only difference is that there is no cat."

-- Albert Einstein, explaining radio.

Email, like Telephones, the Internet, Power Lines, Credit Card Terminals, ATMs, etc. have become so much part of our daily lives that we just accept it without really thinking about it. You click "New," put some data into a form, then click "Send." In a couple of seconds (minutes if your mail servers are suffering a spam blizzard), your LOLCAT Email has zipped from one end of the Internet to the other (This proves that, unlike radio, Email does have a cat). Do we marvel at this paragon of technology? Not really. I generally grumble at the mixed blessing that has brought me spam.

A while back, I made the mistake of reading the Wikipedia article on the Power Grid. I was amazed at the mechanics of the system that allows a handful of uranium melting itself into slag in Glen Rose, Texas to shove electrons across a couple hundred miles of copper, through a handful of coils... all to be stopped by a little switch in my wall before they could excite the gasses in my Compact Fluorescent light bulbs. For two weeks after that, I was a road hazard. In the middle of my commute, I'd glance at my right hand mirror, gaze out my side window, and think "Hey! I didn't know they were running two phase power out here!" I must say that I couldn't have been a more dangerous driver during those two weeks if I was dryping.

My latest project at SoftLayer (WHOIS management for ARIN... look in the portal under SWIP) had me doing research on Email (as all transactions are conducted through Email).

Like David Bowman staring into the black monolith at the end of 2001, I was struck by the simplicity and beauty of the Email system!

Let’s tag along with an Email message, so you can see just how cool this is.

Bob is currently taking a vacation in Glen Rose, Texas (taking the tour of the Nuclear Power Plant). Sitting in the lobby of the Visitor's Center (thinking about this giant reactor being at the beck and call of his little switch), he has a firm wish that Alice could come see this. He's a cheapskate, though, (that’s why he’s at a local power plant instead of, say, Disneyworld) so he's not going to waste money on a Power Plant Postcard and stamp at the gift shop. No sir, he opens up his blackberry and sends a short Email to Alice ("Wish you were here!"). A few seconds later, Alice's Email client pops up an alert that she's received an Email from Bob. The Email itself is simply a block of text… really! No magic going on here! Here's what the Email looks like:

From: bob@example.net
To: alice@example.com
Date: Wed, 10 Oct 2007 12:54:08 -0400 (EDT)
Received: From EXAMPLE.NET
 by EXAMPLE.COM with SMTP
 Wed 10 Oct 2007,
 12:55:00 -0400 (EDT)
 
Wish you were here!
 
---
Bob
Sending to Alice for over 30 years.

Simple, huh? To help visualize this transaction, Figure 1 shows a “RFC 2822 Compliant Post Card:”

Bob opens up his Email client, and writes "Wish you were here!" in the message area. He then adds his signature, and writes in the subject. The Email client adds headers to the address area of the Email (From, To, and Date), then drops the Email into Bob's local Email server (EXAMPLE.NET).

The Email server at EXAMPLE.NET looks at the address section of the Email and notices where it is to be sent to Alice (who has an Email box at EXAMPLE.COM), and opens up a SMTP (Simple Mail Transfer Protocol) connection to Alice's mail server. It then sends the message and moves on.

Alice's Email server puts a “postmark” header on the Email (the Received header) and drops a copy of the entire text block into Alice’s Email box.

Alice opens up her Email client, which then downloads all the text files from her Email box. It reads the From header and tells Alice that she has an Email from bob@example.com

That’s it! Simple, huh?!?

If Bob's Email server can't send the mail directly to Alice Email server, it can send the Email through a relay server. This server adds its own "Received header" to the Email. If you look at the headers of any Email you've received (spam is not only a good source of vitamin Sodium Nitrate, but also an excellent resource for Email headers), you can see every single server your Email passed through. It’s like those neat stickers customs officials stick to your luggage as an apology for cracking your locks when you fly internationally.

That's all there is to it! A simple block of text, passed off to an Email server. And the actual protocol is just as simple. Here's what the communication between Bob's Email server and Alice's Email server looks like (modified from the example on Wikipedia's SMTP article):

Bob’s server connects to Alice’s and identifies itself:

ALICE: 220 smtp.example.com ESMTP Postfix
BOB:   HELO example.net
ALICE: 250 Hello example.net

Bob's server then tells the receiving server about the Email:

BOB:   MAIL FROM:<bob@example.net>
ALICE: 250 Ok
BOB:   RCPT TO:<alice@example.com>
ALICE: 250 Ok

Bob's server then tells Alice's that it's ready to send the real message:

BOB:   DATA
ALICE: 354 End data with <CR><LF>.<CR><LF>

Next follows the RFC Compliant Email message from above, ending the data with a ".", which tells Alice's server that Bob’s message is complete:

BOB:   From: bob@example.net
BOB:   To: alice@example.com
BOB:   Date: Wed, 10 Oct 2007 12:54:08 -0400 (EDT)
BOB:   Received: From EXAMPLE.NET
BOB:    by EXAMPLE.COM with SMTP
BOB:    Wed 10 Oct 2007,
BOB:    12:55:00 -0400 (EDT)
BOB:   
BOB:   Wish you were here!
BOB:   
BOB:   ---
BOB:   Bob
BOB:   Sending to Alice for over
BOB:   30 years.
BOB:   .

Alice's server lets Bob's know that the message is queued to go, and Bob's server signs off:

ALICE: 250 Ok: queued as 12345
BOB:   QUIT
ALICE: 221 Bye

I marvel at this technology. Every Email in the world is transmitted by this simple protocol. The whole of electronic communication takes place by handing small blocks of text from one Email server to another, until it finally makes its way to the recipient's inbox. That's all! No magic potions, no hocus pocus, no tying messages to carrier pigeons or pulling cat tails.

Not only this, but your message is flying through a blizzard of spam. Because the protocol is so simple, people build simple tools that blast out millions of messages at a time, flying all over the Internet. But the awesomeness of this just makes Email that much more awe inspiring. Email has been running, nearly uninterrupted (as a whole) for DECADES under the most concerted distributed denial of service attack of all time.

And STILL your Email gets to its destination. Benjamin Franklin would be proud.

Think of this the next time you forward the latest list of funny jokes to everyone on your Email list. This incredibly simple protocol will make sure that your vital Email gets to every recipient listed! "Neither snow, nor rain, nor heat, nor gloom of night stays these couriers from the swift completion of their appointed rounds..."

-Zoey

Categories: 
October 4, 2007

Office Politics

Back in Computer Science 101 I was promoted to Assistant for the Networking Staff at Kemp High School, in the tiny town where I grew up. The networking staff consisted of exactly two people: a brilliant Pascal programmer with a penchant for networks and a veteran of the mainframe days, who would happily lean back and tell old war stories about 130 column chain printers and tape drives.

One thing I noticed upon entering their office was the strong smell of coffee in the air. Indeed, they had a large pot of coffee on perpetual brew. And these two techies would drink it down as if it were water from the river of life.

Fast forward 5 years. I'm now one of those techies, but I never got quite a taste for coffee. My coworkers, however, live off the stuff. That's when disaster struck.

Now, if you've not been in an office environment for a while, or you haven't worked in IT, the enormity of this disaster might be lost on you.

The office supply company has stopped producing SoftLayer's preferred blend!

Shockwaves rolled through the company, as the news was blasted from email to email. A democratic process was set up to choose a new blend from those that are left.

Votes have been cast left and right. Active campaigns for specific coffee blends can be heard in the aisles of the company. Some are moved to poetry on one blend or another. One vote for a specific blend reads like this:

How does this affect me?
Will this make me a better person? These and other such questions must be asked when sampling a new coffee.As the day goes by a fall back onto a sure thing is essential. Sipping this flavour of coffee is not unlike slipping into a pair of your most favourite and comfortable slippers after a long day af the office. It does indeed lift the spirit.

Dare I say that Kenya AA gives us another reason to love life and love living it. The spirit soars until it becomes unbeatable. We cannot combat this or even hope to understand this cosmic handshake. This coffee is a reflection on a productive lifestyle.

It has a hallowed place in our break room. It also smells better than the other coffees.
- Klaude

It looks like the leadup to the 2007 SoftLayer Office Coffee Blend Election will be quite the hot topic for weeks to come.

A consensus is starting to build, and soon these harsh days will be behind us, and work will proceed as usual.

However, there are some (and I am in this camp), who see this as a bigger issue. Yes, we have successfully saved the day by switching blends of coffee. And like some hard changes, it looks like this change might be for the better. But as everyone knows in IT, the cycle of obsolescence is a fact of life. Some fear that this is just the start of a long, trying cycle of acceptance and rejection; there's a low level tension that the choice being made right now must be made right, lest the coffee industry decide that our newly selected blend should also fade away into the night. Is there no solution? No solid ground? Some demand that we get approval of a blend from a standards body, such as the IEEE, to make sure that various vendor's competing blends are compatible with our tastes. Is this the solution to our problems?

This has caused me to worry about the future of IT. Will technology be dictated by the whims of the coffee industry?

Here are the originals. [1, and 2 (ghost writer?)]

-Zoey

Categories: 
Subscribe to Author Archive: %