[TUHS] CMU Mach sources?

Larry McVoy lm at mcvoy.com
Tue Jun 25 10:45:23 AEST 2019


On Mon, Jun 24, 2019 at 08:31:21PM -0400, Theodore Ts'o wrote:
> On Mon, Jun 24, 2019 at 05:06:30PM -0700, Larry McVoy wrote:
> > All interesting points but messy code is messy code.  I had a bunch of the
> > FreeBSD folks over here for a BBQ a couple days ago (they want you at the
> > next one Clem).  We got to talking about Mach and someone told me that in
> > the FreeBSD tree the Mach code was gone through and 60% of was deleted and
> > it still worked.  It just seems like the Mach folks wanted to try this,
> > and that, and then next thing and never went back to clean up the mess.
> 
> Welcome to academic/research code.  :-)

Like I said, I can point anyone at code I wrote as a grad student that 
while I'm not proud of the style, it has style and it is clean.  Just
because you are a grad student that doesn't excuse messy code.  If you
write messy code then you're a bad hire.

> I'm reminded of a description of the Coda File System by Peter Braam;
> he said that it was irretrivably tainted by a dozen Ph.D. students
> working on their thesis.  Naturally, once they had done the necessary
> work for them to get their doctorate, any interest in doing the
> necessary code cleanup for their various experimental efforts
> evaporated.  

Yeah, like I said, bad hires.  People who are good coders take pride
in their work.  They put in the extra time to clean it up.  That's 
why SunOS 4.x was a nice code base, everyone pulled their weight 
to make it be so.  I get that that is unusual but it is super nice
when it happens.  

And I wasn't trying to belittle the Mach effort, I'm impressed with
what it does.  I am most definitely belittling the people who did it.
Not because of what they accomplished, that's cool, but they didn't care
enough to clean it up.  That sucks.  And that means they suck as 
professional programmers.

I'm a canoe guy and any canoe guy knows that the ultimate insult is
"I wouldn't want him in my boat."  Well, I wouldn't want the Mach
people, for all their talent and accomplishments, on my team.  I
like people who get the job done, all the way done.  Code is clean,
the docs cover the code, the test cases are there.  Done done.

I just don't buy that academic/research code needs to be bad.  If
the people doing it are people you'd want to hire, they get it 
done done.  I get that I'm describing a unicorn but I was one,
and I'm not that great.  Doesn't seem so much to ask that people
give a shit and do it right.


More information about the TUHS mailing list