Highest Rated Comments


rjp2022Redmond114 karma

Where I wound up career-wise is just a totally random set of things. I never was a "take things apart" kind of person, though I liked logic problems. My first introduction to computers was when a high school teacher noticed a computer programming class at a nearby college, signed a few of us up, drove us over there, waited for the class to be over, and drove us home. Teachers are awesome...Anyway, before that I always realized I would be the top student in the class at any science/math class. (I wasn't even happy about that. My fantasy at the time was that some boy would do better than me at some math/science thing and my plan was to fall in love with him and marry him). But anyway, when I walked into the class the other students were bragging about how they'd built ham radios when they were 7. I had no idea what a "ham radio" was. Anyway, my mind shut down and I convinced myself I was so far behind I'd never catch up, and didn't learn anything from that class.

So after that, if you asked me what I was interested in, I'd say "Anything! As long as it doesn't involve computers".

So I majored in math. Then I went to grad school. I completed everything that I knew how to do (all the classes and exams). But then I had to do a thesis. MIT math department, at least at the time, was extremely non-helpful. You had to find your own advisor. My perception was that everyone else was in grad school because "they were smart", whereas I only got in, and got such good grades, because "I studied hard". Anyway, I was shy and insecure, and knocked on a few professors' doors and said "I need an advisor". And all of them said "Well, I'm very busy and important".

So an old friend happened by and asked if I was enjoying grad school. I said "Not really. I have no idea how to find an advisor and start on a thesis." He said "Oh, come join our group" and that was at BBN at the dawn of networking, doing routing protocols for the packet radio net. And I loved it.

10 years after dropping out, I did go back and complete my PhD, this time in computer science.

I still hate computers, by the way...

And what I tell people afraid to get into the field. If you think you are different from the stereotype of engineers...that means you are valuable! If you understand people...if you can make something beautiful...if you can explain things coherently...these are valuable skills. So...I'm kind of different from a lot of other CS people, but that's what makes me valuable. We need more "different" people.

rjp2022Redmond111 karma

When my manager proposed the problem to me, he was saying "have bridges break all the symmetries and find a loop-free subset of the topology that reaches everyone". It was that night that I realized "Hey! A tree! That's a loop-free topology. Just build a tree! Well...you need to agree on a root. Use ID!" Anyway, then it was all obvious. So, "tree". And "spanning" means reach everyone.

rjp2022Redmond91 karma

Sometimes people say they want to go into academia because they want the freedom to work on anything. I find the problems that arise due to actual needs much more satisfying, and furthermore, just as interesting. I work on a lot of different types of things these days. Security, usability, etc. In general, I find solutions that, after the fact, are marvelously simple, to be the most satisfying. Though people are sometimes not impressed with a simple solution. Once they see the solution they think, "Oh of course. Any 11 year old could have designed that."

rjp2022Redmond66 karma

I definitely keep up with crypto, and coincidentally (if I may put in a plug) we just finished the 3rd edition of our book "Network Security: Private Communication in a Public World". We have a 4th coauthor...my son! who is a quantum expert (he's in the quantum group at NIST). Anyway, the crypto community (led by NIST) is working on standards for "post-quantum crypto". (A better term would be "quantum safe" I think but oh well.) Anyway...these will replace our current public key algorithms (RSA, ECC, Diffie-Hellman) because a sufficiently large quantum computer could break our current public key algorithms. "Break" means, knowing a public key, being able to derive a private key. But these new algorithms are not "quantum crypto". They run on regular classical computers.

rjp2022Redmond58 karma

I learned on assembly languages. Supernova. PDP11. PDP10. Then I was forced to start using higher level languages and I hated it. I had to use BCPL, a precursor to C. Things I could do in my sleep in assembly were impossible (because of "types"). There were no debugging tools. You had to stare at the object code it generated. The compiler had bugs, so you could write correct code and it would generate incorrect code.

I am mystified about why people keep inventing new languages. Aren't they all capable of doing anything? Or at least they should be.

And the simplest kind of language...to write a program to do "Hello World" takes months, because there are always glitches like "wrong version of the library" or whatever.

So, I actually haven't programmed in decades at this point, and I love that. I write specs. I understand algorithms and data structures. I can help people with their designs. But I don't have to worry about specific syntax.

I saw a cute T-shirt "Months of programming can save hours of designing."