Showing posts with label opensolaris. Show all posts
Showing posts with label opensolaris. Show all posts

Wednesday, July 6, 2016

Remembering Roger Faulkner, UNIX Legend

Roger Faulkner, UNIX engineer since 1976, SunOS/Solaris developer since 1990, creator of /procfs, passed away this past weekend.
Photo by Sherry Q. Moore, 2010. 

Roger Faulkner, or raf as his co-workers knew him, was intelligent and had no patience for fools. He was always happy to share history of UNIX, libc, /proc or any other kernel internals, or his opinion on how things should continue to be improved. If you broke the gate in any way shape or form, he'd let you know within a few hours - and if you blocked his project with this breakage, he would not hesitate to let everyone know. He was an amazing colleague with a wry sense of humor and will be missed.   Most folks remember him as that really smart guy that was tough on the outside and sweet, gentle and kind on the inside.  (and seeing that sweet inside wasn't so hard :-)

Roger did not care how senior the engineer (or management) was - he would not let them get away with things that would hurt UNIX or Solaris. He was also always willing to answer questions, do a code review, or help debug an interesting kernel dump. I learned a great deal from him - how to be a good engineer, how to do an excellent root cause analysis, how to know when a bug is really, truly fixed. 

UPDATE July 7, 2016: Obituary is posted here online.  There is a tribute page there as well, where you can leave notes for his family and friends.


UPDATE: July 20, 2016: Roger's Memorial will be livestreamed Saturday 7-23-16, 1p EDT/10a PST/6p BDT.   Streaming will begin 30 mins prior to the memorial service. Youtube channel memorial broadcast:  Memorial Service.


Roger's more extensive bio, courtesy of his manager, Rob Stephens:

Roger grew up in North Carolina and earned a BS in Physics from North Carolina State University in 1963 and a PhD in Physics from Princeton University in 1968. He became involved with UNIX in 1976 when he helped set up and enhance a UNIX service at Bell Labs, Naperville, IL. Roger returned to Bell Labs, Murray Hill, NJ, in 1979 where he continued to work on UNIX development for two years. He moved to New York City in 1981 to do something entirely different for four years, but he couldn't stay away from UNIX. Roger worked at Unix Systems Laboratory 1986-1988 attempting to develop an application debugger for System V Release 3. The result was the first /proc file system for System V and the truss(1) utility for tracing/displaying application-level system calls.

Roger joined Sun Microsystems in 1990 to work on the merge of AT&T's SVr3 and SunOS4.x to create UNIX SVr4 (a.k.a. Solaris 2.0 at Sun). He then concerned himself with the definition, exposure, and maintenance of the Solaris/UNIX process model, with emphasis on visibility into and support for debugging application programs:

From 1990-1993 he extended the ioctl-based /proc interface from being a single-threaded process model to being a multi-threaded process model with lightweight processes within the traditional process.
Roger
Photo by Sherry Q. Moore, 2010

In Solaris 2.6 (1995-1996) Roger created the structured /proc file system, with each entry under /proc being a directory rather than a file, each pid directory under /proc containing individual files and other directories reflecting the full process model for both inspection and control. Programming interfaces defined by the proc(4) manual pages.

In Solaris 8 (1997-1998) Roger created the alternate libthread as a better support library for multi-threading. It is a one-to-one thread/lwp interface rather than the old N-to-M thread/lwp interface implemented in the original Solaris libthread. The alternate libthread become the only threading library in Solaris 9.

In Solaris 10 Roger created the unified process model in which all threading support is folded into libc. All processes became multi-threaded, in principle, eliminating the confusion of having three separate process models as was the case previously. Eliminated static linking of the system libraries; all processes are dynamically linked.

Roger then implemented system changes to enable Solaris 11 to conform to the latest POSIX standard (UNIX V7).

[Solaris 12 work redacted, but let it be known, he's done a lot.]

Roger also lent his expertise to countless Solaris projects and was generous with his time and knowledge as he helped many engineers develop their own expertise about all things UNIX. Roger's dry sense of humor, his chuckle, his irreverence for management, his passion for UNIX, and his inspiration will be missed by everyone who had the privilege to work with him.  Please feel free to share this as it is impossible to include everyone Roger worked with over his many years.

I think Sherry Q. Moore really summed him up in her Facebook post:
 What I learned from Roger:
- You can be brilliant and kind.
- "If you don't have time to do it right, when will you have time to do it over?"
- You can be creative and productive for as long as you want.
- "When you are about to do a putback, if your heart is not pounding, palms not sweating, you shouldn't be doing this (be a kernel engineer) any more."
Meem (Peter Memishian) shared the following (Note: the below source comment can be viewed freely online in context):
Indeed.  Today I lost one of my professional heroes.  As those on PSARC
well know, Roger cast a shadow far beyond his truly immense technical
contributions to UNIX (and Solaris in particular).  His curmudgeonly
outwardness belied a remarkably gentle and caring internal character.
Despite having forgotten more about UNIX than most of us could ever know,
he was as grounded as they come, with a unique style that left indelible
memories on so many of us, and altered the DNA of our engineering culture.

Speaking personally, I've always admired those who prioritize doing over
talking.  Roger was one who quietly moved mountains -- as Bryan captured
in the approval of Roger's RTI which put the final nail in the coffin of
the M-to-N threading model:

  http://dtrace.org/resources/bmc/rti.txt  

And of course, Roger wasn't afraid to speak his mind when necessary --
as captured in this gem above cv_wait_stop():

 /*
  * Same as cv_wait(), but wakes up (after wakeup_time milliseconds) to check
  * for requests to stop, like cv_wait_sig() but without dealing with signals.
  * This is a horrible kludge.  It is evil.  It is vile.  It is swill.
  * If your code has to call this function then your code is the same.
  */

Finally, I'd like to share this mail from many moons ago on the history of
the name "truss", which embodied the soul that he infused into his work.

 | From: "Roger A. Faulkner" <Roger.Faulkner@Eng>
 | To: meem@Eng
 | Subject: Re: curiosity: truss?
 | Date: Wed, 27 Jan 1999 23:34:47 -0800 (PST)
 |
 | For your edification, this is the geneaology of the name "truss"
 | (taken from some mail dated Sep 26, 1988)
 | This was when Ron Gomes and I were jointly developing the first
 | /proc for SVR4 at USL.
 | -----------------------------------------------------------------
 |
 | We considered, and discarded, several alternative names for truss(1),
 | including "trace", before settling on "truss".  The objection to
 | "trace" is that it's too generic a term and shouldn't be co-opted
 | for a specific use like this; there are lots of other things that
 | one might trace.  Among the alternate names we considered were:
 | "ptrace"  (but this incorrectly implies a connection with ptrace(2)),
 | "strace"  (but this is already used for some streams tracing thing),
 | "tss"     for "trace syscalls and signals" (but this is certainly bad),
 | "sst"     a permutation of "tss" (but this implies it's blinding fast),
 | "trss"    another variation of "tss" (but this is unpronouncable).
 | Adding the obvious vowel gave us "truss", which can be construed
 | to mean "TRace Unix Syscalls and Signals".
 |  
 | "truss" seems to have the right combination of mnemonic value
 | and disrespect for authority ("If your program doesn't work, put
 | it in a truss.")  It conjures up a mental image which is fairly
 | accurate, considering what the program does.

Rest in Peace, Roger.  May all your RTIs be promptly approved. 
Tim Foster did an in memoriam integration into the ON gate for Roger. He will live in Solaris forevermore.

Below are some tweets I saw passing by.... Please share your own thoughts below, or send to me and I will share them here.


Do you have any memories of raf? Please share in the comments or in your own space.

We are collecting pictures for his family and friends in the Roger Flickr group. Please add your own there.

Don't worry Roger, someone will approve your RTI.

Tuesday, March 23, 2010

OpenSolaris Constitution passed, new OGB voted in... and thanks!

I am so happy to be able to write that the new OpenSolaris constitution has received a strong majority of votes and was ratified by the community! While I was still frustrated that we didn't get closer to 90% turnout, since becoming a member of the electorate is voluntary and comes with only one responsibility: voting, but I was thrilled to hit a new high for OpenSolaris elections of 71% voter turnout!

Thank you, everyone, for taking the time out of your schedule to participate and make this happen. I am happy for the entire 2010/2011 OGB:

  • Dennis Clarke
  • Moinak Ghosh
  • Teresa Giacomini
  • Simon Phipps
  • John Plocher
  • Joerg Schilling
  • Peter Tribble

I think they'll all do a great job, especially under the terms of the new constitution!

It was with great pleasure I was able to serve on the board for this past year. I learned many things about myself, some good - some bad, and how better to work with others, when we are not necessarily seeking a common goal. I loved meeting community members, working to fix our problems, identifying things for future OGBs and shaping our community. I feel I have grown and matured in ways I could've never imagined and thank all of you for letting me participate so closely in the governance of your community.

While time commitments didn't let me re-run for the OGB, I am excited about the new board and wish them all luck! I'm sure they'll do a great job.


Thursday, March 18, 2010

OpenSolaris Election for new OGB and New Constitution is going on now!

The OpenSolaris community elections are well underway, yet we are still very low (in my opinion) with the number of people that have actually cast ballots! Everyone who has accepted a core contributor grant is expected to cast a ballot, though it is not required that you vote for both the candidates and the constitution in order to have a valid ballot. Out of the 428 eligible voters, only 270 have cast a vote.

The out going OpenSolaris Governing Board (OGB) worked very hard on the new constitution which requires a majority of the eligible voters to approve it in order to pass. While more than a majority have logged in a cast a ballot, we missed passing last years constitution by only a handful of votes, so I'd really like to see our number of voters hitting 300-350. Really, there's not much else a core contributor grant gives you, right now, in the community other than the right to vote in the annual election.

So, if you are a core contributor (or not sure if you are or not), please hop on over to the polling place and cast your ballot in this critical election. (if you're not eligible, the system won't let you vote ;)

Thank you! Valerie

Wednesday, March 10, 2010

Dan Roberts on OpenSolaris ... or Something Useful in our meeting!

As part of the existing OpenSolaris constitution, we (the OpenSolaris Governing Board) are required to hold an annual "meeting" before the election in order for the election to be valid. While, generally, this involves a fetch a rock exercise of core contributors (aka "members") logging into the forum, announcing themselves, then logging off, we do occasionally have useful and interesting conversations here. (and before you comment how silly that requirement is, please note that we have a new proposed constitution at this year's election that removes the annual meeting requirement).

Peter Tribble invited Dan Roberts to our virtual meeting the day after it started, and he joined and was very forthcoming about Oracle and their thoughts on OpenSolaris and Solaris:

"Oracle is investing more in Solaris than Sun did prior to the acquisition, and will continue to contribute technologies to OpenSolaris, as Oracle already does for many other open source projects."

While not all questions could be answered at that time, I was very pleased to see the community being engaged and concerns listened to.

Wednesday, October 21, 2009

Still time to register for the OpenSolaris Security Summit!

Advanced registration for the OpenSolaris Security Summit that is going on in Baltimore, Maryland on Tuesday, November 3rd in conjunction with USENIX LISA 09 is open until October 26th. After that, you'll need to register on site, space permitting.

Why should you go? This free summit will include some of the top people in the field of computer security and networking, including author and luminary Bill Cheswick! This will be your chance to learn about technologies already shipping with the Solaris 10 Operating System as well as get a peak at what is coming in the future for OpenSolaris!

Did I mention this is free? While you're in town for LISA conference, why not spend a day getting free training from Sun Microsystems? btw, you don't have to be attending the LISA conference to go to this summit - so if you just live nearby, you should take advantage of this opportunity!

Oh, and it comes with lunch and a chance to win free prizes, too, FTW!


Tuesday, October 20, 2009

GHC09: Pictures and video!

Okay, I still haven't downloaded my pictures off of my camera (if only I had more hours in the day...), but fortunately Terri Oda is more on the ball and she put this gem up on flikr:



That's me, Terri, Kathryn, Stormy, Sandy and Teresa!


Ed and Ashley have been busy as well, putting up these interviews of Sun women that attended the Grace Hopper Celebration of Women in Computing:






Deirdre Straughan and Teresa Giacomini are interviewed about community development!





Me getting interviewed about Open Source, OpenSolaris and my work at Sun Microsystems!




Friday, October 2, 2009

GHC09: Open Source Community Development: A Moderator's Perspective

I was so nervous yesterday hosting my first panel at the Grace Hopper Celebration of Women in Computing. I had put off writing my introduction until arriving at the conference, thinking I'd have plenty of time to do it... not realizing that I would be reconnecting with friends that have moved across country or students I met last year or just this year. Time, suddenly, didn't exist, so I ended up skipping the plenary session on path to executive leadership so I could take the introducion I'd written in my head & put it on paper to make sure I wasn't missing anything nor was my introduction going to take up too much time. Sure enough I had to do a couple of edits to get it right, so while I was sorry to miss out on that session, I'm glad I took the time to do so.

When I got to the room, it was a bigger space than I expected, but at least everyone could have a seat :) My OpenSolaris laptop worked right away with the projector, which made me very happy. The technician setting up the room recommended I set my computer so the screen saver wouldn't come on. I thought I'd done that before... so I didn't bother checking. Stupid hubris.

I only had two slides - which are on the GHC wiki - the first with the name of the talk and the second had the names of each panelist, in the order she was sitting, with their affiliation. After the session finished, I got a lot of positive feedback on that - it's good to know I'm not the only person that can't keep track of all of the panelists (particularly when we all seem to have last minute changes in our panel lineups).

As I started introducing each of the panelists, I had all of the advice on running a panel running through my head - terrified that I'd screw something up: mispronounce a name or affiliation, stutter or knock my paper list of intros on the floor. Fortunately, none of those things happened in the first few minutes :) I did step on Stormy's self-introduction a bit, but she forgave me and made sure she was heard.

One piece of advice I had read, which was really counterintuitive for me given my melodrama training at the Gaslighter Theatre, was to not look at your panelists when they are talking. In melodrama, you say your lines straight to the audience, then turn and face the next speaker. This draws the audience's eyes to the speaker. But, I found as I did this, just as the advice said would happen, the panelists looked at me instead of at the audience. As rude as it felt, I had to force myself to turn my gaze back to the audience. It worked!

I was so happy with how each woman on the panel had prepared their introduction and had thought about the questions from our proposal, though I was surprised when they didn't naturally follow-on to each other at first. I think this was because I said I didn't want more than 2 women answering any one question, so we could keep the flow going. :-)

About ten minutes into the talk... my screen saver started to kick in. *d'oh* I wiggled the mouse. Something happened and the display "flipped out" - it started flashing and was filled with horizontal bars. I couldn't get the console to respond, so just rebooted... which took us to a brief OpenSolaris advertisement as the system happily restarted. Thank goodness for the fast boot, though!

I did finally stop shaking about a third of the through the panel and was able to replace my forced smile with a natural one, as I could finally relax and enjoy the panelists.

I was very impressed with what some of the other communities have done to encourage women to join their community and that got me thinking about doing something for OpenSolaris. We're such a big thing - with many sub communities - any suggestions for doing this?

I was so happy with all of my panelists: Stormy Peters, Kathryn Vandiver, Sandy Payette, Teresa Giacomini and Terri Oda! Thank you, ladies!