OpenBSD Journal

Developer Bio - Todd C. Miller

Contributed by jason on from the sudo-make-me-a-sandwich dept.

Undeadly is proud to present a new series of interviews with OpenBSD developers. Often we focus on the technical aspects of recent commits and new subsystems; this series aims to uncover the personal side of the people that make OpenBSD tick. This month we've tracked down Todd C. Miller (millert@), a member of the project since the early years.

OpenBSD Journal: How long have you been with the OpenBSD project?

Todd Miller: I received commit access in July of 1996. I had submitted some s/key-related patches to NetBSD which were being ignored, but which Theo had applied to the OpenBSD tree. He told me to give OpenBSD a try, so I did. At the time, the fact that it had a packet filter as part of the base OS (it was ipf at the time) was a big selling point for me.

OJ: What was your original role or contribution, and how has it evolved since then?

TM: I started out by updating some of the packages included in the base OS (such as lex, rdist and awk) with more recent versions and fixing up man pages. From there I moved on to replace uses of sprintf() in the tree with snprintf(). Later on I took part in multiple sweeps of the tree for buffer overflows. At one point I was pretty much the go-to guy for the OpenBSD userland, though as my free time has diminished in recent years other developers have taken over that role.

OJ: How do you see OpenBSD's goals changing over the next few years?

TM: As multi-core CPUs become the norm I think we'll see improvements in OpenBSD SMP support as well as the rthreads support being finished. On the other end of things, with the improving support for embedded CPUs I think it is only a matter of time before one of the Taiwanese vendors ships an OpenBSD-based embedded product to avoid GPL issues.

OJ: Where did you go to school?

TM: I have a bachelor's in CS from the University of Colorado, Boulder.

OJ: What got you interested in computer science in general, and C programming specifically?

TM: I've always been the type who likes to take things apart. I got my first computer, an Atari 800, when I was 10 or so. While I initially used it to play games, I did some programming too and taught myself C using it when I was in high school.

OJ: Somewhere along the way you became the official maintainer of sudo. Can you tell us a little bit about how you got involved with this mainstay of the sysadmin's toolkit?

TM: I started doing system administration as a student at the University of Colorado where sudo was in wide use. The version we used was written by two sysadmins at CU. As we got new machines running different variants of Unix we would port sudo to the new platform. After the folks who wrote the CU version of sudo left the University, I helped maintain it internally. At a certain point I felt it would be useful to share these changes with others and so I became the de facto sudo maintainer. My sudo source tree goes back to 1993 and I made the first release in 1994.

OJ: Do you still run across users that pronounce it "Sue Doh"?

TM: Believe it or not there was a discussion about the "right" way to say "sudo" in the sudo wikipedia page. I used to tell people that the correct way is "Sue Doo" but I've stopped correcting people ;-)

OJ: What interests do you have outside of OpenBSD?

TM: Hiking, music, movies.

OJ: Is there a particular genre or musical artist that you prefer to listen to while programming?

TM: Most of what I listen to falls under the rubric of "indiepop". The real reason I haven't been to a hackathon in a few years is that people were making fun of my musical tastes ;-)

OJ: You were involved in porting the SELinux framework to Darwin. How was that experience?

TM: I learned a fair deal on that project. Darwin has an interesting kernel; the Mach and BSD bits are fairly separate (though they are becoming more tightly coupled with each release). The SELinux technology is interesting as well, though it still suffers from some usability issues. The fine-grained access controls on resources and inter-process interactions are quite cool, but they also contribute to the large size and complexity of the resulting security policy.

OJ: It doesn't sound like the SELinux architecture would be a good match for the simplicity desired by OpenBSD developers and users. Are there any similar technologies found in the other BSDs that you feel would be better suited for porting to OpenBSD?

TM: Something that is path-based is probably easier for users to deal with. Strictly speaking, a label-based approach is less prone to races but tends to be more difficult for users. Many of the problems with systrace stem from the fact that the monitor process lives in user space. A systrace-like mechanism where the actual security policy lives in the kernel would certainly be doable, though.

OJ: What is your favorite travel destination?

TM: Hmm, I don't really have one.

OJ: How about a favorite beer?

TM: Think globally, drink locally. One of my favorite local beers is the Brewer's Art Resurrection Ale.

I'd like to thank Todd for taking time out of his schedule for this interview. I look forward to continuing this series with other OpenBSD developers.

(Comments are closed)


Comments
  1. By Anonymous Coward (129.9.163.234) on

    Thank you, Jason and Todd!

    (btw, I pronounce it Soo-D'oh! As Homer would.)

    Comments
    1. By clvrmnky (69.28.228.76) on http://clevermonkey.org

      > Thank you, Jason and Todd!
      >
      > (btw, I pronounce it Soo-D'oh! As Homer would.)

      This must be because the "do" part is not the English verb "do", but actually the the first note in the Solfege system.

      Yeah, that's it.

      Comments
      1. By Sam (128.171.90.200) on

        > > Thank you, Jason and Todd!
        > >
        > > (btw, I pronounce it Soo-D'oh! As Homer would.)
        >
        > This must be because the "do" part is not the English verb "do", but actually the the first note in the Solfege system.
        >
        > Yeah, that's it.

        I think it's because it looks like a poor spelling of pseudo, which is philosophically what happens when you use sudo, you become the pseudo super user.

        Comments
        1. By clvrmnky (198.73.193.2) on http://clevermonkey.org

          > > > Thank you, Jason and Todd!
          > > >
          > > > (btw, I pronounce it Soo-D'oh! As Homer would.)
          > >
          > > This must be because the "do" part is not the English verb "do", but actually the the first note in the Solfege system.
          > >
          > > Yeah, that's it.
          >
          > I think it's because it looks like a poor spelling of pseudo, which is philosophically what happens when you use sudo, you become the pseudo super user.

          I like mine better. This explanation sounds too likely, and we can't have that.

          Comments
          1. By Sam (128.171.90.200) on

            > > > > Thank you, Jason and Todd!
            > > > >
            > > > > (btw, I pronounce it Soo-D'oh! As Homer would.)
            > > >
            > > > This must be because the "do" part is not the English verb "do", but actually the the first note in the Solfege system.
            > > >
            > > > Yeah, that's it.
            > >
            > > I think it's because it looks like a poor spelling of pseudo, which is philosophically what happens when you use sudo, you become the pseudo super user.
            >
            > I like mine better. This explanation sounds too likely, and we can't have that.

            I'm tempted to call it super-user-doh ! from now on, as with great power comes rm -rf / ... doh !

            Comments
            1. By Gilles Chehade (2a01:e35:8a0f:bd20:201:4aff:feef:6f35) gilles@poolp.org on

              > > > > > Thank you, Jason and Todd!
              > > > > >
              > > > > > (btw, I pronounce it Soo-D'oh! As Homer would.)
              > > > >
              > > > > This must be because the "do" part is not the English verb "do", but actually the the first note in the Solfege system.
              > > > >
              > > > > Yeah, that's it.
              > > >
              > > > I think it's because it looks like a poor spelling of pseudo, which is philosophically what happens when you use sudo, you become the pseudo super user.
              > >
              > > I like mine better. This explanation sounds too likely, and we can't have that.
              >
              > I'm tempted to call it super-user-doh ! from now on, as with great power comes rm -rf / ... doh !
              >

              I have a slightly different approach:

              % alias please, sudo

              Now, with great politeness comes...

              % please, rm -rf /

              And no more pronounciation issues ;)

              Gilles

              Comments
              1. By clvrmnky (69.28.228.76) on http://clevermonkey.org

                > > > > > > Thank you, Jason and Todd!
                > > > > > >
                > > > > > > (btw, I pronounce it Soo-D'oh! As Homer would.)
                > > > > >
                > > > > > This must be because the "do" part is not the English verb "do", but actually the the first note in the Solfege system.
                > > > > >
                > > > > > Yeah, that's it.
                > > > >
                > > > > I think it's because it looks like a poor spelling of pseudo, which is philosophically what happens when you use sudo, you become the pseudo super user.
                > > >
                > > > I like mine better. This explanation sounds too likely, and we can't have that.
                > >
                > > I'm tempted to call it super-user-doh ! from now on, as with great power comes rm -rf / ... doh !
                > >
                >
                > I have a slightly different approach:
                >
                > % alias please, sudo
                >
                > Now, with great politeness comes...
                >
                > % please, rm -rf /
                >
                > And no more pronounciation issues ;)
                >
                See, now I'm thinking about a natural language POSIX shell.

                % Please, userfoo, remove files and directories recursively with extreme prejudice.

            2. By clvrmnky (69.28.228.76) on http://clevermonkey.org

              > > > > > Thank you, Jason and Todd!
              > > > > >
              > > > > > (btw, I pronounce it Soo-D'oh! As Homer would.)
              > > > >
              > > > > This must be because the "do" part is not the English verb "do", but actually the the first note in the Solfege system.
              > > > >
              > > > > Yeah, that's it.
              > > >
              > > > I think it's because it looks like a poor spelling of pseudo, which is philosophically what happens when you use sudo, you become the pseudo super user.
              > >
              > > I like mine better. This explanation sounds too likely, and we can't have that.
              >
              > I'm tempted to call it super-user-doh ! from now on, as with great power comes rm -rf / ... doh !
              >
              >
              To introduce an even more obscure and pointless quibble (I got a million of 'em), my understanding is that the "su" command is actually "Substitute User" so even if "sudo" is "Super User ..." in my brain I still read it as "switch/substitute-user-do".

              This is backed up by the fact that you don't have to "sudo" things as root. This just happens to be the default. I use both sudo and su with the appropriate optarg all the time to make sure I do things as a certain user to keep perms happy &etc.

              Which is the reason I never considered the "pseudo" analogue, I guess.

              Comments
              1. By Anonymous Coward (64.253.108.203) on

                > This is backed up by the fact that you don't have to "sudo" things as root. This just happens to be the default. I use both sudo and su with the appropriate optarg all the time to make sure I do things as a certain user to keep perms happy &etc.
                >
                > Which is the reason I never considered the "pseudo" analogue, I guess.

                Yep, calling it soo-doo shows some understanding of what is actually happening. I find that this works most of the time with pronouncing unix command names. Even if you don't know the "right" way to say it, if you know what it does, just say it that way. :)

                "chroot" - "change root"
                "fsck" - "fs check"
                "chown" - "change owner"
                "var" - "vehr" (variable info)

                What a tangent! sudo is great, we've all been using it for years, but that's only one of many many notable things that millert@ has done.

                Great article, hope to see more!

      2. By tedu (74.68.146.146) on

        > > Thank you, Jason and Todd!
        > >
        > > (btw, I pronounce it Soo-D'oh! As Homer would.)
        >
        > This must be because the "do" part is not the English verb "do", but actually the the first note in the Solfege system.
        >
        > Yeah, that's it.

        grep do$ /usr/share/dict/words

        Say each one out loud.

        Comments
        1. By clvrmnky (69.28.228.76) on http://clevermonkey.org

          > > > Thank you, Jason and Todd!
          > > >
          > > > (btw, I pronounce it Soo-D'oh! As Homer would.)
          > >
          > > This must be because the "do" part is not the English verb "do", but actually the the first note in the Solfege system.
          > >
          > > Yeah, that's it.
          >
          > grep do$ /usr/share/dict/words
          >
          > Say each one out loud.

          So, like "undo"?

          Looking for consistency in the English lexicon to back up either pronunciation is unlikely to convince anyone. Especially given many of the ones that come up in this search are actually recent loan words from other languages.

          Where English has been bastardized into infinitive contractions (i.e., "commands") all bets are off. Pronounce this as you will, but any resemblance to other English words is coincidence only.

          "Switch user and do ..." is a pretty clear intention. Anything else is pure personal preference.

    2. By Anonymous Coward (81.82.207.55) on

      > Thank you, Jason and Todd!
      >
      > (btw, I pronounce it Soo-D'oh! As Homer would.)

      I pronounce it soo-doh as well. My excuse is that in my native language, that's how you'd say it. It's pretty annoying to switch to different languages and accent in the middle of a sentence.

      My pronunciation of BSD and PF varies depending which language I speak (bee es dee / bay es day, and pee eff / pay eff ). But with sudo, the sounds do exist in English so it's too much of a hassle to switch.

    3. By jcs (75.48.205.46) on

      > (btw, I pronounce it Soo-D'oh! As Homer would.)

      me too. i always thought it was a pun on "pseudo" and i've been saying "soo doh" for so long, there's no way i'm changing to "soo doo" even if it is right.

      Comments
      1. By CODOR (CODOR) on

        > me too. i always thought it was a pun on "pseudo" and i've been saying "soo doh" for so long, there's no way i'm changing to "soo doo" even if it is right.

        Same here. I think we should fork the project: keep everything identical to Todd's release, except pronounce it "pseudo" :-)

        Comments
        1. By tmclaugh (208.206.3.254) on

          > Same here. I think we should fork the project: keep everything identical to Todd's release, except pronounce it "pseudo" :-)

          You sure Debian hasn't done that already? ;)

    4. By Brynet (Brynet) on

      > Thank you, Jason and Todd!
      >
      > (btw, I pronounce it Soo-D'oh! As Homer would.)

      Every time I hear "sudo" spoken out loud, I always shout.. "CHOP~!". :-)

      But seriously, I pronounce it "sue-doh", if the author disagrees with this he can rename the program to sudew.

      It's sue-doh, and our word is law! :)

      Comments
      1. By Steve Shockley (192.241.20.221) on

        > But seriously, I pronounce it "sue-doh", if the author disagrees with this he can rename the program to sudew.

        I'm the same way with "Linux", I can't help but pronounce it lie-nucks.

        Comments
        1. By Mark Pecaut (mpecaut) on

          For me I have very few "computer" friends so I read about something and pronounce it in my head a few thousand times before I ever speak it to another person. Stuff like

          usr - "user"
          etc - "etcetera"
          chroot - "chuh-root"
          linux - "lie-nux"
          (I think this one differs if you think it should sound more like Linus or more like Unix)
          SQL - "S-Q-L"
          su - "s-u"

          Although I'm pretty sure I'm pronoucing these wrong in my head, no one will ever know if I don't have any friends I meet in person.

          -mark

          Comments
          1. By Anonymous Coward (12.184.20.187) on

            > For me I have very few "computer" friends so I read about something and pronounce it in my head a few thousand times before I ever speak it to another person. Stuff like
            >
            > usr - "user"
            > etc - "etcetera"
            > chroot - "chuh-root"
            > linux - "lie-nux"
            > (I think this one differs if you think it should sound more like Linus or more like Unix)
            > SQL - "S-Q-L"
            > su - "s-u"
            >
            > Although I'm pretty sure I'm pronoucing these wrong in my head, no one will ever know if I don't have any friends I meet in person.
            >
            > -mark
            >


            A non-technical person emailed me once with only hearing the word MySQL and never seeing it and wrote

            "How would you like us to transfer the my sequel to you?"

            Nice...

            Comments
            1. By Anonymous Coward (71.162.20.124) on

              > A non-technical person emailed me once with only hearing the word MySQL and never seeing it and wrote
              >
              > "How would you like us to transfer the my sequel to you?"

              At a software company where I used to work they call it "My Squirrel".

              Comments
              1. By Anonymous Coward (68.112.149.6) on

                It's been my hope that people would start pronouncing PostgreSQL as 'post gray squirrel'.

          2. By Anonymous Coward (128.171.90.200) on

            > chroot - "chuh-root"

            See haych root

            > SQL - "S-Q-L"

            Squeal .. like a pig

            Comments
            1. By Loki (218.214.194.113) on

              > > chroot - "chuh-root" > > See haych root > > > SQL - "S-Q-L" > > Squeal .. like a pig haych? Oh, you mean aitch. aitch

              Comments
              1. By Anonymous Coward (128.171.90.200) on

                > chroot - "chuh-root"
                >
                > See haych root
                >
                > SQL - "S-Q-L"
                >
                > Squeal .. like a pig
                >
                > haych?
                >
                > Oh, you mean aitch.
                > aitch

                yup, see aitch root, however I also say chown .. as in chown but also change directory for chdir.

          3. By Simon Lundström (simmel) on

            > linux - "lie-nux"
            > (I think this one differs if you think it should sound more like Linus or more like Unix)

            http://suseroot.com/about-suse-linux/how-do-you-pronounce-linux.php

            Since I'm scandinavian, I'm with Linus.

      2. By Anonymous Coward (128.171.90.200) on

        > he can rename the program to sudew.

        Sue dew ?

    5. By maple (12.184.20.187) adam@fakeempire.com on http://fakeempire.com

      > Thank you, Jason and Todd!
      >
      > (btw, I pronounce it Soo-D'oh! As Homer would.)

      s-u-do (es, you, do) is how I've always said it. But then again, since all my friends hate computers I usually don't say computer related words out loud anyway. :)

      I think we should create a new word for the phenomenon of people pronouncing words very differently because of the nature of the work(digital communication as apposed to voice).

  2. By Luis Coronado (190.10.76.226) on

    In Spanish is straight forward: sudo is pronounced as: su - do. You only have to be careful because sudo means "I sweat" (more or less). So, don't say to a non-sysadmin to use sudo otherwise they will make funny faces.

  3. By Anonymous Coward (213.185.19.190) on

    Aha! Factual errors! ipf was only part of the base tree in 2.9, released june 1st 2001, five years after Todd received commit rights!





    I will crawl back to my stone now...

    Comments
    1. By Anonymous Coward (2001:888:1b6b:b0e::6965:6b73) on

      > Aha! Factual errors! ipf was only part of the base tree in 2.9, released june 1st 2001, five years after Todd received commit rights!

      No it wasn't. pf (not ipf) was integrated into OpenBSD with version 3.0, and I distinctly remember using ipf for quite a while it beforehand.

      And if you don't believe me just look it up in CVS.

    2. By Brad (2001:470:8802:3:216:41ff:fe17:6933) brad at comstyle dot com on

      > Aha! Factual errors! ipf was only part of the base tree in 2.9, released june 1st 2001, five years after Todd received commit rights!
      >
      >
      > I will crawl back to my stone now...

      ipf had been in the tree from OpenBSD 2.0 until 2.9.

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]