FSDN: · Userlocal · Savannah · Sorce Mage GNU/Linux · GNU-Friends
[GNU-Friends] Sections: Front Page · News · Interviews · GNU-Friends · Diaries
Menu: About · Submit Story · FAQ · Donate · Search
This page brought to you by: Jonas Öberg, just another GNU friend.
GNU-Friends Interview Karl Berry
By jonas, Section Interviews
Posted on Thu Mar 7th, 2002 at 14:24:30 GMT
Karl Berry has been involved in the GNU Project for a very long time. In our interview with him, he speaks of the hazzles of writing a regexp engine, his interest in TeX and thoughts on documentation standards. Also, be sure to try his recipie for Hungarian pork chops.


Karl, you've been involved in one or another way with the GNU Project for quite some time now, working mostly with various aspects of TeX. Could you begin by telling us how you got involved in computers and what the first computer was that you wrote software for?

In 1977, my mom and I lived in California for the year so she could get a master's degree (in music) at Stanford. So I went to a middle school in Palo Alto, and they, being a fairly advanced school, had a programming class in BASIC and several yellow-paper teletypes in a back room. I never saw the actual computer -- it was at the high school, I think. The first program I specifically remember writing in that class was factorial computation (the FOR loop assignment), and it didn't take many iterations before the program halted with an overflow error :).

We moved back to our regular home in a tiny upstate New York town near the Canadian border the next year. As a faculty kid, I was lucky to be able to hang out in the local college's computer room, where they had a modem connection (using an acoustic coupler) to the Honeywell 66/40 computer at Dartmouth College, running a homegrown operating system originally named DTSS.

For the GNU Project, you've been working with TeX and fonts. Indeed, you currently maintain the texinfo and fontutils packages. But how did you first learn of the GNU Project, and what was it that led up to you being accepted into the FSF as an employee for some years?

I first learned about GNU in 1985 or so, via Paul Rubin (phr), who knew rms. I met rms shortly after that when he visited California and stayed overnight with my then-partner Kathryn Hargreaves and I.

We moved to Massachusetts to study with Bob Morris at the University of Massachusetts at Boston. We invited rms to give a talk at umb, and generally stayed in touch. After we got our degrees a couple of years later, we asked rms if he would hire us -- and he did! (After looking at some sample programs.) We were pysched.

During your time with the FSF, you also helped out to get Autoconf to successfully configure TeX, which I'm sure was no small task, and you also did some work on Ghostscript. What's your strongest memory from working with the FSF?

Although those projects were fun and valuable, my strongest technical memory is actually working on regex.c. POSIX was standardizing regular expressions at the time, and we implemented about 10 different drafts as the committee came out with new ones, while keeping compatibility with Emacs and all the other programs that used it. It was a nightmare. We ended up with regex.c having as many lines of debugging statements as actual code, just so we could understand what it was doing.

I've since looked at a bunch of other regex packages and it seems basically impossible to implement the regular expressions we've grown used to in any reasonable way.

My strongest nontechnical memory is rms's vision of free software and how clearly he communicated it and how strongly he held (and holds) to it. It was and is an inspiration to me.

What was it that got you interested in TeX?

Typography and letterform design have been innately interesting to me for as long as I can remember. In the 1980's, TeX and Metafont were just hitting their stride, and Kathryn and I designed and typeset numerous books and other random items with them. Don Knuth's projects are always fascinating on many levels, and it was natural to get pulled in.

Another thing you've been working on is web2c, which I'm sure that most people have never heard of, let alone know anything about even if they've heard something or another about it. Could you venture into the depth of knowledge and enlighten us?

Web2c is the core of the Unix TeX distribution, which comprises the actual `tex', `mf', and other programs developed as part of Knuth's projects at Stanford. Knuth wrote TeX in "web", his system for so-called literate programming, in this case a combination of TeX and Pascal. The result can be (has been) printed as a book as well as compiled into a binary.

Web2c (named web-to-c at the time) converts these web sources into C. It was originally written by Tom Rokicki, based on the original change files for the Pascal TeX on Unix, which were written by Howard Trickey and Pavel Curtis. Web2c was later extended substantially by Tim Morgan. I maintained it for a number of years in the 1990's, and Olaf Weber is the current maintainer.

The GNU Project has taken a lot of heat for using info documentation instead of standard manpages or later, DocBook or some other system for documentation. When did the GNU Project start using texinfo and what was the motivation? Do you have any comments on the newer systems for maintaining documentation?

rms invented Texinfo in 1985 or so, based on a print-only predecessor called BoTeX, which had antecedents in Bolio (at MIT) and Scribe (at CMU). At that time, there was no comparable system (as far as I know) that supported printable and on-line manuals from the same source.

Of course man pages existed, but I don't think anyone claims that man pages are a substitute for a full manual. Even Kernighan, Ritchie, and Thompson wrote troff documents to supplement the man pages, for information that doesn't fit into the NAME/SYNOPSIS/DESCRIPTION format.

Man pages certainly have their place, and despite being officially secondary in the GNU project, almost all GNU distributions do include man pages. There is a GNU program called help2man which can create respectable man pages from --help output, thus alleviating the burden of maintaining a separate source.

As far as DocBook and other XML-based systems go, I have nothing against them, but I think that Texinfo source is friendlier to authors. XML gets awfully verbose, in my experience. I've also noticed that O'Reilly books never contain internal references to explicit page numbers, just whole chapters or sections; I don't know where the deficiency lies, but it amuses me.

It seems to me that the ad hoc nature of Texinfo offends the people who like to create standards. If what you want to do is write reasonable documentation, Texinfo will get the job done with a minimum of fuss.

On a related note, people have occasionallly suggested that the Info format is outdated now and we should just use HTML. I still find Info useful because I can read documentation without leaving Emacs. It is also handy to have manuals in (essentially) plain text, which HTML is not.

When you left the FSF as an employee, where did you go and what have you been up to these latest years? What do you work with today, and what does your future plans look like?

Aside from continuing to volunteer for the FSF, I worked as a programmer, system administrator, webmaster, release engineer, and various other odd computer jobs at Interleaf, Harvard, and now Intuit, due mostly to Paul English, a good friend I met at UMB. A significant part of all my jobs has been to install and maintain GNU and other free software, which has made me happy.

I expect to be able to leave my current job this fall and devote more time to volunteer work and my family.

What other hobbies, besides computing, do you have? I know you find Antarctica interesting. Would you mind sharing why? Any plans to try to visit some day?

Other hobbies - I read anything I can get my hands on (some favorite authors: Andrew Vachss, Barbara Kingsolver, Daniel Quinn, Stephen King, Terry Tempest Willams), and attempt to play piano (Bach and earlier, with some Pärt thrown in).

As for Antarctica, its untouched nature is what appealed to me most, although of course that quality has sadly diminished as human population continues to explode. I have no plans to visit there since tourism is very destructive to its fragile ecology (not to mention it is cold!).

And finally, I must ask you to convey one of your favourite recipies to us (and no, it can not be sour cream chocolate chip cake or chocolate chip cookies with molasses). :-)

Ok, how about some dinner to go before the desserts: Hungarian pork chops (with apologies to the vegetarians in the crowd). First we start with a little note on paprika courtesy of Craig Claiborne (author of the New York Times cookbooks):

It is ruefully true that American cooks by and large have only the most pallid conception of what PAPRIKA is. The innocuous powder which most merchants pass on to their customers as paprika has slightly more character than crayon or chalk.

Any paprika worthy of the name has an exquisite taste and varies in strength from decidedly hot to pleasantly mild but with a pronounced flavor.

The finest paprika is imported from Hungary and logically enough it is called Hungarian paprika or rose paprika. This is available packaged in the food shops of most first-rank department stores and fine food specialty shops. It is also available in bulk in Hungarian markets. [Not having any Hungarian markets in Salem, we get it from the bulk section of the organic grocery stores around here ... I don't know for a fact that it's from Hungary but it's definitely got more character than a Crayola :)]

Here's the recipe:

  • 6 pork chops
  • salt & pepper
  • 3 tbsp butter
  • 1/2 cup onion, chpped
  • 1 clove garlic, minced
  • pinch of thyme
  • 1 bay leaf
  • 3/4 cup chicken stock or dry white wine [we use a chicken bouillon cube, sorry craig]
  • 1 cup sour cream [best with "full fat"]
  • 1 tbsp paprika [or to taste, we usually use about 1/2 tbsp]

  1. Trim the fat from the chops [or not, we don't :)]. Sprinkle the meat with salt and pepper and saute in the butter in a skillet. [Takes about 15min on our stove, at medium heat; I usually get both sides just starting to brown. I chop up onion and stuff for step 2 while waiting.]
  2. Add the onion, garlic, thyme, and bay leaf and saute over medium-high heat until the chops are well browned on both sides. [15-20min, this is most of the cooking.]
  3. Lower the heat [quite a bit, but more than simmer; 2-3 on our stove] and add the chicken stock or wine [or bouillon cubed water in our case]. Cover and cook 30min. [I turn them over halfway through.]
  4. Remove the chops to a warm serving platter and keep warm. Reduce the pan liquid by half by boiling [or whatever seems appropriate, sometimes I don't need to boil anything away, sometimes I do]. Discard the bay leaf [or not].
  5. Add the sour cream and paprika to the skillet and heat thoroughly but do not boil [maybe 5min at medium heat]. Pour the sauce over the meat and serve hot.

We make rice on the side and use the sauce for both. Our best meal.

< The GNU Hurd - News From the Edge of Development (9 comments) | Bruce Perens Comments Craig Mundie (10 comments) >

Make a new account

View: Display: Sort:
GNU-Friends Interview Karl Berry | 17 comments (17 topical, editorial) | Post A Comment
[new] Thoughts on Texinfo (#1)
by a member of the hurd (#-1) on Fri Mar 8th, 2002 at 06:29:33 GMT

Texinfo has some fair and poor qualities but it lacks sophisticated yet useful things for a modern documentation system.
  • Inserting images, figures, and diagrams into a document. I think this is probably the main reason the GNOME project uses DocBook instead. With GNU Emacs now supporting inline images, I am hoping that Texinfo could be expanded to support this.
  • The inclusion of metadata. Not only does the documentation need to be readable by people it needs to be searchable by machines. Right now if you want to search an info document it is no better than your standard WWW search engine.
  • Simpler installation and maintenance. Perhaps the fault is with my distribution but the installation of info files on my system is a pain. The dirfile which I think should be in /usr/share/info but is symlinked to somewhere in /etc. Then when I install GNU software, it puts info documents in /usr/local/share/info. So I add that directory to $INFODIR which was strangely nonexistant before, now I get two entiries for each item in my dir file.

BTW, listen with care the XML advocates...too many believe that any format that isn't XML is a secret proprietary format. I don't mind the TeXinfo format at all.

So it seems the GNU project needs to do one of the following for texinfo to continue to be viable for new documentation (existing documentation would probably continue to use the system and a lot of them are quality manuals which is why this concerns me) (there was some dispute on the, I think, GNU Enterprise mailing list who resorted to using Lyx for some of their documentation when they had problems with the DocBook tools--so this is an issue):
  • Some of these features be added to the texinfo tools
  • GNU documentations moves to another system such as DocBook (which is quite viable though large, complex, and somewhat author unfriendly
  • A new system is developed for the GNU system

Given the seemingly dire need for free documentation, the following things would be nice and may not only be more likely motivate more people to write documentation but may increase the speed at which quality documentation is written, edited, and distributed with the system.
  • A WYSIWYG-like system or exporters from the free word processors that are already available.
  • A richer number of markup components. Include footers and headers and some symbols.
  • Autogeneration of table of contents and indexes.
  • Some kind of style support? or not :)

No, I'm not volunteering so I'm sorry for wasted breath. But these are, just the title to this says, just some thoughts on Texinfo.

[ Reply to This ]

[new] Texinfo is really good (#3)
by brian (#54) (bjg at network-theory dot co dot uk) on Fri Mar 8th, 2002 at 15:35:19 GMT
(User Info) http://www.network-theory.co.uk/

I can say that Texinfo works well.
[ Reply to This ]

[new] DocBook vs Texinfo (#5)
by David Merrill (#318) on Sat Mar 9th, 2002 at 01:30:45 GMT
(User Info)

I've been writing a Texinfo to DocBook converter for the LDP, so I've become rather familiar with Texinfo as well as the DocBook we regularly use. From what I can see, the only real shortcoming of Texinfo in real use is the lack of meta-data. In other regards, it seems to work very well.

[ Reply to This ]

[new] Main problem with texinfo (#6)
by a member of the hurd (#-1) on Sat Mar 9th, 2002 at 13:52:08 GMT

I think the single biggest problem with texinfo is tools for reading it. Let's face it, info's navigation commands are quite funky and not in the least bit user friendly - especially for people who are used to navigating documents using a modern style web browser.

I used the info pages for make the other day, and it's a pain navigating around them, trying to find relevant information. If we are to get newbies to use the gnu tools they have to be able to read and navigate through the documentation in an intuitive and user friendly way.

Of course Karl Berry love info, being one of the developers. But, I think the info crowd have to realize that the time has come to give up their love child, and look for something that's more useful for everyone and not just for the choosen few.

The big question is; where to go? Docbook is huge and cumbersome for the authors. Then again, it's far better than texinfo for the end user.

And when considering something new, remember, it doesn't have to have the word Gnu in to be good and Free

/Patrik Grip-Jansson

[ Reply to This ]

[new] info2html (#8)
by a member of the hurd (#-1) on Sat Mar 9th, 2002 at 18:41:18 GMT

Try using info2html. I know this doesn't solve all the design issues, but it works well. http://sourceforge.net/projects/info2html/

[ Reply to This ]

[new] to kholmes (#15)
by karl (#295) on Tue Mar 12th, 2002 at 01:31:01 GMT
(User Info)

i saw in your diary a follow-up about texinfo. i don't know your email address, so i'm attempting a post here. anyway, you can get pdf output from texinfo by running texi2pdf, or by running pdftex instead of tex. (pdftex is amazing.) also, i think texinfo may not be the best choice for school papers and other random documents. they generally need specific formatting for the teacher's sake, and texinfo deliberately has very few formatting controls. its primary purpose is for technical manuals, after all. so latex is likely a better choice in the cases you mentioned. (not that i would discourage you from playing with texinfo of course :) cheers, karl

[ Reply to This ]

GNU-Friends Interview Karl Berry | 17 comments (17 topical, editorial) | Post A Comment
View: Display: Sort:

Verbatim copying and distribution of this article is permitted in any medium, provided this notice is preserved. Images of gnu:s in the logo are © Free Software Foundation, Inc and distributed under the GNU General Public License. Comments are copyright by their respective owners. All other material are © 2002 Jonas Öberg.