Saturday, March 28, 2009

A Philosophy of Persistence

During a prime-time press conference on March 24th, President Obama said he follows a philosophy of persistence. He was referring to his efforts to shore up the economy, which I won't comment on, due to lack of expertise. But I will say this: Obama is an inspiring speaker and he's correct that persistence will be a key component of our economic recovery.

I have always been persistent. I'm sometimes so persistent that I drive my coworkers nuts. Obama may also be driving some of his coworkers, the press, and the American public a bit nuts with his Energizer-bunny approach to policy development and dissemination. Nonetheless, I applaud his doggedness and think it will work in the long run. Take me (please take me!) I've relied on persistence for many years and have achieved success because of it.

I arrived in California in 1981 from Chicago, IL, with a suitcase and guitar. That's me in the picture above with the Golden Gate Bridge in the background. I sold my books, of which I had hundreds, to Powell's Bookstore in Hyde Park. (Few people realize that Powell's started in Chicago, not Portland.) I sold my few pieces of furniture to friends, gave my winter clothes away, and spent a fortune to have a career consultant type, print, and mail my resume to every organization in California she could find in her big printed volume of Standard & Poor's. (Few personal computers existed yet so I was at the mercy of somebody with an S&P book and an IBM Selectric.) Then I spent almost every dime I had on a one-way ticket to San Francisco!

I arrived at the San Francisco airport with little cash, no credit cards, no debit cards, no winter coat (dumb!) and, luckily, no toxic assets. In fact, I had many positive assets:

  • A year of experience working as a computer programmer at the University of Chicago
  • An MS in Information Science from the University of Michigan
  • A brother who was working on his PhD at UC Berkeley and who let me sleep on his floor and even lent me his comfy down sleeping bag
  • My brother's girlfriend who lent me her car so I could go apartment hunting (I bet she couldn't wait to get me off her living room floor!)
  • Good genes and bell-bottom jeans
  • An inheritance that wasn't monetary but did include strong will power and good critical-thinking skills, maybe too much critical thinking, according to some ex-coworkers :-)
  • A love of adventure, hard work, and computer programming
  • Five job interviews lined up, all of which resulted in job offers
  • Terrific friends, especially my beautiful friend Dawn who is highly intelligent and willing to gently nudge me back in the right direction when I'm being dumb (as in posting her picture on the Internet!?) She followed me to California a year later, where her persistence led to great success.
Well, I took one of those job offers (to be a programmer for Matson Navigation) and the rest is history. I worked at some of the best companies in Silicon Valley (Cisco, Apple, Network General), and wrote or co-wrote five books on computer networking. There have been setbacks over the years, of course, and I've made mistakes, but I've always relied on persistence to get me back on the road to success. Today I am working on the 3rd edition of my first book and I offer consulting and training services that can help you achieve success in the computer field.

A lot of people are unemployed and underemployed these days. I'd like to say to them, don't give up! Focus on your positive assets, not your toxic assets, and develop a philosophy of persistence. It worked for me and it worked for President Obama and will continue to work for him, the economy, and you.

Tuesday, March 24, 2009

Radia Perlman: She Radiates Intelligence and Humor

In honor of Ada Lovelace Day, my blog post today features Dr. Radia Perlamn. Dr. Perlman is a Sun Fellow at Sun Microsystems. She specializes in network and security protocols. In the past she worked at DEC and Novell and she is the author of two textbooks. She has an MS in math and a PhD in computer science from MIT.

Radia, which by the way is pronounced to sound like "radio" but with an "a" at the end, is brilliant, quirky, funny, and a terrific teacher. She radiates intelligence, humor, mother-earth friendliness, and strength. I first met her in 2002 when I took her USENIX course on network security protocols. I had admired her for many years before that, though. Like most networking people of a certain age, I cut my teeth on her terrific book, Interconnections: Bridges, Routers, Switches, and Internetworking Protocols.

Radia invented mechanisms that make modern link-state routing protocols efficient and robust. Her thesis on routing in the presence of malicious failures remains the most important work in routing security. She has also made contributions in such areas as strong password protocols, analysis and redesign of IPsec's IKE protocols, PKI models, efficient certificate revocation, and distributed authorization. She recently was granted a patent for her work on ephemeral decryption which can make files reliably disappear. (Oh, I wish I could use that to make some emails I've sent disappear! :-)

Radia is the inventor of the spanning tree algorithm used by network bridges (switches). The photo above shows her posing as a spanning tree. Many computer scientists have worked on spanning tree algorithms, but Radia's work is noted for having a long life outside the academic lab. Her spanning-tree algorithm is at the heart of most enterprise networks.

Bridges (and the spanning tree protocol) were invented to deal with endnodes that run applications directly above Ethernet, without the benefit of a "Layer 3" protocol (e.g., IP). Bridges were a method of moving Ethernet frames around without a Layer 3 header. According to a recent email discussion I had with Radia, she assumed once everyone implemented Layer 3, bridges would go away. This probably would have happened if the world had adopted ISO's Layer 3, the Connectionless Network Layer Protocol (CLNP), Radia said. But the world adopted IP.

CLNP supported a prefix that an entire corporate network shared. Nodes could move around within the corporate network and keep their Layer 3 address. In contrast, with IP, every link requires its own prefix, which means routers have to be configured, addresses have to change if a node moves, and addresses get wasted. Once the world adopted IP, network administrators tended to avoid the extra configuration required with IP by using bridges (switches). The spanning tree algorithm lets administrators create large Ethernet bridged networks with redundant links that take over upon failure of the links chosen to be part of the spanning tree.

The spanning-tree algorithm has many shortcomings. It doesn't use optimal paths, doesn't allow splitting network traffic across multiple paths, and is lacking many other features of Layer 3 routing protocols. It is also intrinsically fragile because the Ethernet header doesn't contain a Time to Live (TTL) or hop count field, so any loop that forms can be devastating. Frames loops forever and bridges flood broadcasts over and over again. Something as simple as missed spanning-tree protocol messages can result in these deadly loops.

Radia is currently working on a new type of device that has the ease of management of bridging, but the robustness and features of routers. This is being standardized in the Transparent Interconnection of Lots of Links (TRILL) working group of the IETF. The TRILL working group is designing a solution for shortest-path frame forwarding in multihop Ethernet networks with arbitrary topologies, using Radia's work on link-state routing protocols. Radia isn't afraid to say it's time to retire her famous spanning-tree protocol.

One of the reasons I admire Radia is because she has a knack for remaining friendly while speaking controversial or unwelcome truths. In 2005, the Anita Borg Institute for Women and Technology honored Radia with a Women of Vision award. I highly recommend listening to her keynote speech which is available here. She recently told me that some of the things she said in this speech make her cringe, but I think her thoughts on the topic of women in technology are awesome, just like I think she's awesome. Well, now I've probably made her cringe again. Oh well!

Sunday, March 22, 2009

I'm on fire!?! Watch out! :-)

I just read a helpful article by Marianne Weidlein, a wise business consultant and personal coach, who happens to live in Ashland, Oregon (where I live). The article is called What Is Transmutation?

Transmutation is a change from one form or condition to another. An example is the biological transmutation of a caterpillar larva into an adult butterfly. The human parallel is a major change in consciousness. I am currently going through transmutation. I am trying to avoid negatively reacting to bad experiences.

So, what am I going to do about this goal? The article says it takes practice, and that seems believable. Every new skill takes practice. So I'm going to watch myself, watch my reactions. When I see the habitual negativity cropping up, I will intentionally turn it around, spin it 180 degrees and practice seeing the positive aspects of the situation.

The article says that the world around me may remain unchanged, the people in my life still trapped in the throes of negative habits. This is a good reminder. I should keep in mind that people around me aren’t also necessarily transmuting. As the article suggests, I will meet these realities with acceptance, compassion, and strength. 

One thing that came up while reading the article was my reactions to the gender discrimination I faced. The situation wasn’t good, but I can't let it limit me. I can't imagine anything worse than spending any more time being a victim. I have so much to give, to offer. I want to help others. I don't want to be some angry feminist. I love men. I have compassion for the problems they've had in their lives. I can’t rely on just compassion though. I have to maintain my integrity and stand up for myself also.

The main point of Weidlein’s article is that we can transmute. It's difficult, but doable, and beautiful in the long run. Birds and bugs try to eat the larva while it's transmuting. I've experienced that. Oh dear, there I go with negativity again. And… here I go with practicing positivity. Right now I'm moving the signpost 180 degrees, flipping it back in the positive direction.

I'm a visual person. I found the image above on the web. It has to do with fire danger, but I'm going to use it for my purposes. For me the low means low power, low self-esteem, low compassion, low positivity. It means reacting with lowbrow negativity and criticism of others. When I find myself having this habitual low reaction, I’m going to mentally move that arrow to the right. I will gently recondition myself. I want extreme positivity, joy, compassion, and highbrow reactions, or at least high positivity, joy, compassion, and highbrow reactions! :-) I will love with fire in my belly. I will have red-hot passion for what I do and can achieve. I think I’m liking that I stumbled upon a fire metaphor. But the main thing to remember right now is my ability to flip that arrow to the RIGHT.

Tuesday, March 17, 2009

Of firewalls, users, and marital bliss

When is user friendliness more important than security? I've been discussing this with my dear hubby (DH), pictured with me in the photo on the left taken by Orville Hector, an Ashland, Oregon photographer.

I would say the answer is never. Security is always more important than user friendliness. But, of course, there is the old axiom that if security is too hard to use, people will bypass it, leaving their system really insecure.

I'm having a friendly disagreement with my DH. His software-based personal firewall product lets a user add the following rules, with one click of the mouse on a button having to do with protecting UDP services:

allow log tcp from any to any dst-port 53 in setup
allow udp from any to any dst-port 53 in
allow log tcp from any to any dst-port 67-68 in setup
allow udp from any to any dst-port 67-68 in
allow log tcp from any to any dst-port 123 in setup
allow udp from any to any dst-port 123 in

Why would a personal firewall allow traffic into port 53 (DNS server)? Luckily that port will be closed on most personal computers, but still it seems risky and unnecessary. And why allow traffic into port 67? That's the port used by a DHCP server, not a client. The client uses UDP 68. Allowing traffic into UDP port 123, it turns out, is necessary for NTP to work. Both the client and server use UDP port 123. But the rest of the rules are unnecessary and unsafe, in my opinion. And what's with the TCP rules appearing because I clicked on a button related to UDP?

My DH's answer? Users get confused and complain if you don't allow those ports. Something goes wrong with their firewall or their computer, (or they knock over the cable modem and kick out the power cord, I'm thinking), and they claim that it's because the firewall doesn't allow DHCP and DNS. What kind of pseudo-technical user would say that, I wonder, but my DH stubbornly refuses to agree with me. At least he agrees on other things in our life, like I'll do the dishes if he cooks. :-)

My DH's most important goal with his product is ease of use for non-technical users (as well as pseudo-technical users, it seems), and I can understand that. The usability/security tradeoff is an important consideration, but I think my brilliant husband's brain may be tipping too far into the iFruit mentality. :-) Or maybe he just got sick of the tech support calls like this:

Caller: Is the Internet down?
DH: um, no

Caller: Are your servers having a problem?
DH: um, no

Caller: Well, I think it's your firewall then. I can't get an IP. Your firewall doesn't allow DHCP and DNS.
DH: um, ok, we'll change the firewall software...

Me: hunh?

Monday, March 16, 2009

Vote for Woz!

Steve Wozniak needs your vote to stay on Dancing with the Stars! He's a bit of a klutz, but he's so persistent and gallant, that you just have to vote for him. Once the show begins Monday at 8 pm (7 Central), text message VOTE 3410 (from your iPhone of course) or vote online or call 800-868-3410 until noon (Eastern time) Tuesday. The photo of Woz was taken by Al Luckow.  Can you believe Apple thought the upside-down Apple was OK? Don't blame the Woz for that decision though. :-)

Monday, March 2, 2009

Five Top Myths About the Computer Field

Oh dear, I seem to be on my pulpit again. :-) I've been thinking a lot about a question I heard offline from a couple of women after my previous post. They asked why should young women study computer science if the computer field is dominated by immature males and discrimination against women. I would like to address that question and other myths I have heard over the years about the computer field.

Myth #1. There's so much discrimination in the computer field that women can't get ahead. That's not true. Yes, there's discrimination, but it makes women in the field stronger, not weaker. As a woman, you may have to work harder than the men who get unearned privileges. But there's a silver lining in that cloud. It will make you better at your work and more agile. If you find yourself in a job where the good old boys won't give you a chance, leave. The good news is that the hard work you did will make you qualified for many other jobs.

Myth #2. It's young, geeky, conceited guys who work in the computer field. This is partially true, but there are a lot of mature, non-geeky men and women also. Plus, the young smart-alecs can be funny, and they are trainable.

Myth #3. Heard from a parent: "Why should my daughter study computer science? She's already good with the computer." First of all, don't say "the computer." It dates you. :-) Kids these days are good with computers, whether it's Mac OS, Windows, Linux, or the mainframe that runs the cash registers where they sell lattes to overpaid executives who don't pay enough taxes to fund schools so your kid can get a better job. Computer science isn't about "using the computer." It's about creating the technology that makes computers function. 

Myth #4. Women are motivated by social responsibility and helping people. The computer field isn't about helping people. Try telling that to Dawn Taylor, Ph.D. who works on brain-machine interfaces for prosthetics that restore movement for paralyzed people. Try telling that to Latanya Sweeney, Ph.D. who is dedicated to creating technologies and related policies with provable guarantees of privacy protection while allowing society to collect and share sensitive information for worthy purposes. Or take me. Please take me. :-) I got into computer networking not just because I love hardware, systems engineering, and network design. I got into it because it enables people around the world to communicate and collaborate. I didn't work at Cisco just because of good stock options. I worked there because Cisco understands that it's the human network that makes a difference.

Myth #5. All the jobs are moving to India, China, Kazakhstan, etc. Globalization is real. It's here to stay. But this is good for computer scientists! We build the technology that makes the post-geographic world possible. There are still lots of jobs in the US. However, maybe your job will be in Bangalore or Dubai for a few years. Cool! You may have colleagues in Brazil, Israel, Malaysia, Germany, the US, and countries you have never heard of. Way cool.

Finally, I would say, do what you love. If you were born a nerd, you'll know. You'll know you're happiest when solving problems, tinkering with devices, or writing software. You'll know that you enjoy configuring the family's home network, or fixing Grandpa's computer, or designing a code so you can communicate with friends in a way that non-friends won't understand. When you're doing what you should be doing, time goes by more quickly than expected. You feel energized and curious about what you're learning. Yes, there will be frustrations when your software/hardware won't do what it's supposed to do. But if you feel a sense of accomplishment when you work around those frustrations, you may be a nerd, and this is a good thing.

Artists see paintings in their heads. Musicians' brains play music. Social scientists analyze people. Natural athletes pick up sports right away. Perhaps you do some of these things too, but if you also solve logic problems in your head, and think in terms of numbers and databases and systems and communications, you may be a computer nerd. Join us! Please! We need you.