logo

Quotes from Peter Seibel

We're all optimists in our profession or we'd be forced to shoot ourselves. - Joshua Bloch
~ Peter Seibel
And once I realized that code I write never fucking goes away and I'm going to be a maintainer for life. I get comments about blog posts that are almost 10 years old. "Hey, I found this code. I found a bug," and I'm suddenly maintaining code.
~ Peter Seibel
Norvig: I think one of the most important things is being able to keep everything in your head at once. If you can do that you have a much better chance of being successful. That makes a small program easier. For a bigger program, you need extra tools to be able to handle that.
~ Peter Seibel
Readability of code is now my first priority. It's more important than being fast, almost as important as being correct, but I think being readable is actually the most likely way of making it correct.
~ Peter Seibel
But in the meantime there's no reason to starve the users for [syntactic] sugar. It doesn't rot their teeth and it helps them avoid mistakes. — Brendan Eich
~ Peter Seibel
Zawinski: Sometimes. I end up doing all the sysadmin crap, which I can't stand-I've never liked it. I enjoy working on XScreenSaver because in some ways screen savers-the actual display modes rather than the XScreenSaver framework-are the perfect program because they almost always start from scratch and they do something pretty and there's never a version 2.0. There's very rarely a bug in a screen saver. It crashes-oh, there's a divide-by-zero and you fix that.
~ Peter Seibel
He came in and took a piss in my hotel bathroom without even closing the door as I'm standing right there. I'm like, "Alright. You're comfortable." It was like we knew each other for four or five years, even though we had never met.
~ Peter Seibel
There's a brilliant quote by Tony Hoare in his Turing Award speech about how there are two ways to design a system: "One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
~ Peter Seibel
Fitzpatrick: Back when I was doing Perl-even for people that knew Perl really well-I would recommend MJD's Higher-Order Per!. The book is really fun in that it starts somewhat simple and you're like, "Yeah, yeah, I know what a closure is." And then it just continues to fuck with your head. By the end of the book, you're just blown away.
~ Peter Seibel
Ironically, as a result of his move to the country, Cosell- one of the fathers of the Internet-now has only dial-up access from his home.
~ Peter Seibel
Seibel: There's a Dijkstra quote about how you can't prove by testing that a program is bug-free, you can only prove that you failed to find any bugs with your tests. But it sort of sounds the same way with a proof-you can't prove a program is bug-free with a proof-you can only prove that, as far as you understand your own proof, it hasn't turned up any bugs.
~ Peter Seibel
You've got the second-system problem where people who've had some success are given a blank slate and allowed to do whatever they want. Generally, they will fail because they'll be too ambitious, they won't understand the limits. And you get nothing out of that. You have to have extreme discipline to say, "It's not a blank slate; it's reimplementing what we had here; it's doing what we knew.
~ Peter Seibel
On the fourth hand, one reason I don't like IDEs quite so much is that they can make it hard to know when you've actually seen everything. Walking around in a graph, it's hard to know you've touched all the parts. Whereas if you've got some linear order, it's guaranteed to take you through everything.
~ Peter Seibel
Steele: Yeah. And not knowing the future. If I could change one thing-this is going to sound stupid-but if I could go back in time and change one thing, I might try to interest some early preliterate people in not using their thumbs when they count. It could have been the standard, and it would have made a whole lot of things easier in the modern era. On the other hand, we have learned a lot from the struggle with the incompatibility of base-ten with powers of two.
~ Peter Seibel
Seibel: I was looking at one of your papers from the 70s about your Fortran profiler. In the preamble you were very enthusiastic about how that tool changed your programming from figuring out what you were going to write, writing it, and debugging it, to figuring out what you were going to write, writing a really simple version, profiling it, then optimizing it.
~ Peter Seibel
Assembly level programming] kind of still separates the chest hair—gender-independent—programmers from those who don't quite have it. — Brendan Eich
~ Peter Seibel
the advantage of some ignorance; it leaves some room for creativity. But sometimes it feels like ignorance is endemic in this industry-that people are unaware of things and wheels are constantly being reinvented with pointy corners.
~ Peter Seibel
Steele: So I guess there's lessons there—the lesson I should have drawn is there may be more than one bug here and I should have looked harder the first time. But another lesson is that if a bug is thought to be rare, then looking at rarely executed paths may be fruitful. And a third thing is, having good documentation about what the algorithm is trying to do, namely a reference back to Knuth, was just great.
~ Peter Seibel
Because we were so smart and we had so much experience. We had it wired. Couldn't miss. Programmers are optimistic. And we have to be because if we weren't optimists we couldn't do this work. Which is why we fall prey to things like second systems, why we can't schedule our projects, why this stuff is so hard.
~ Peter Seibel
But if you ask me, is STM better than locks and condition variables? Now you're comparing like with like. Yes. I think it completely dominates locks and condition variables. So just forget locks and condition variables. For multiple program counters, multiple threads, diddling on shared memory on a shared-memory multicore: STM. But is that the only way to write concurrent programs? Absolutely not.
~ Peter Seibel
I think one thing that's really important is to not be afraid of your ignorance. If you don't understand how something works, ask someone who does. A lot of people are skittish about that. And that doesn't help anybody. Not knowing something doesn't mean you're dumb – it just means you don't know it yet.
~ Peter Seibel
I think the primary limitation on software is not the speed of computers but our ability to get our heads around what it's supposed to do.
~ Peter Seibel
The really good programmers spend a lot of time programming. I haven't seen very good programmers who don't spend a lot of time programming. If I don't program for two or three days, I need to do it. And you get better at it—you get quicker at it. The side effect of writing all this other stuff is that when you get to doing ordinary problems, you can do them very quickly. - Joe Armstrong
~ Peter Seibel
Peyton Jones: For me, part of what makes programming fun is trying to write programs that have an intellectual integrity to them. You can go on slapping mud on the side of a program and it just kind of makes it work for a long time but it's not very satisfying. So I think a good attribute of a good programmer, is they try to find a beautiful solution. Not everybody has the luxury of being able to not get the job done today because they can't think of a beautiful way to do it.
~ Peter Seibel