LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
::In The News
::Industry
::Interviews
::Reviews
::Tips
::Tutorials
Download
Projects
Community
Vendors

  Print Version
Email to...
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Articles :: Interviews :: Raph Levien

4 October 1999

Raph Levien worked on Gnome and Gimp, he's quite an interesting character; as you'll soon find out.

Caolan asks:

  • what editor do you use?
    Emacs and vi. I use emacs most of the time.

  • do you use revision control systems of some kind, and have you any serious thoughts on the matter?
    Well, I use the Gnome CVS extensively. Having a good revision control system is really important for collaborative software projects. CVS gets the job done, but is a lot more difficult to use than it needs to be. I'd love to see either CVS radically improved or a new revision control project. Josh MacDonald's PRCS2 looked interesting, but I'm not sure about its progress.

  • What is your favorite language?
    I have a renewed love affair with C. I find it has an internal beauty and elegance rarely matched by other languages.
    I do use other languages when appropriate, like perl to do quick hacks, etc.

  • X vs console
    X most of the time, console when I'm messing with device drivers or whatever.

  • window manager / gnome / kde environment
    I just use whatever is the default. All I ask is that it works. The early version of E and Gnome that shipped on the RH Linux 6.0 distro was disappointingly buggy, but I've upgraded to more recent RPMs and am much happier.

  • favorite hardware and os platform?
    I just got a dual Celeron 400 running Linux and am thrilled with it. It is so powerful compared with anything I've had before that I am still stunned. I'm sure in a few months it will be routine, and in a couple of years I'll find it intolerably slow and will be lusting after one of those new quad Pentium V Xeon 1000 systems (or maybe a K8 or Transmeta, who knows and who cares?).

  • did you ever attempt to write yet another
    • window manager?
      God no. There are _way_ too many window managers currently in existence.
    • widget set?
      Well, Gzilla contained Gzw, the Gzilla Widget framework. But this was very specialized - it was just "widgets" for Web pages. I didn't have any of the standard widgets like buttons and so on - I just embedded the Gtk+ widgets.
    • X replacement?
      Not yet.
    • programming language?
      Yep, back when I was a kid I did about three programming language designs. None of them are particularly good.
      I still dream about doing a new programming language. I'd especially like to capture the concreteness and simplicity of C, while also enabling a more dynamic, flexible style of programming. In particular, it would be nice if you could write and use code that did its own memory management, but if you didn't want to bother, it would garbage collect for you (perhaps at a large performance penalty). The technical aspects of mixing the two smoothly are tricky, but then again, I've never shied away from a good challenge :)
    • operating system?
      Not a full operating system. Back when I was a kid, I used to write little libraries for doing scheduling and memory management that would run directly on top of the hardware (Z80). Since I discovered Linux, I'm just happy to let other people do the hard work.

  • has anyone offered to pay you/hire you based upon your open source product ?
    Yep. I get occasional job offers, and hope to continue being able to make money doing contract work and proprietary licensing of free software (according to the Sleepycat model).

  • what application or component is linux most lacking ? A really clean word processor, one that can interoperate so smoothly with Microsoft Word that people don't have to worry about the difference.

  • is that your first interview by anyone ?
    Heh. Not a chance. I've been interviewed dozens of times about encryption stuff, remailers, and so on.

  • just what is the full list of gnome components and software that you have written?
    I'm primary author on GdkRgb, gnome-print, libart, the aa part of the Gnome Canvas, gdome, gfonted, and Gill. I've also hacked in quite a number of Gnome modules and Gimp.

  • your phd(?) was on security and encryption, whats the link between this and the canvas ?
    Not a whole lot. I just have diverse interests.

  • Are you in full time academia ?
    I'm finishing my PhD now. Afterwards, I'll be doing free software work full time, supporting myself with consulting, licensing, and so on.

  • what are the prospects for unicode support in the canvas and printing architecture. Is there any chance of seeing a system where a utf-8 string can be passed to the canvas with a recommended fontface and font metrics and having some component do all the hard work of finding an appropiate font in whatever existing encoding would match up with the string.
    Soon. I've got a fair amount of code lying around to handle Unicode (see http://www.levien.com/script/devanagari.png for a sample of Sanskrit from one of the prototypes).
    What makes this project tricky is that I'd like applications to have pretty much the same API for doing high-quality Unicode text in the Canvas and doing regular Unicode text through Gtk+. Owen Taylor and I are working together to unify our API's, to try to get all the functionality we need while simplifying things as much as possible. It's going kind of slowly right now, but I think that's OK. For a project like this, it's much more important to get it right than get it done quickly.
    Ultimately, I'd like to get together a collection of shaping rules and free fonts for _all_ the languages in Unicode, and have these ship with standard distributions. Then, as you say, just throw it a string in UTF-8, and you get a pretty good display.

  • Just what is the story with type1 fonts and X vs postscript. The abiword folk have to ship seperate font metrics for the printed output to use. Whats the skinny with this issue?
    This is a fundamental design flaw of X. The abstract concept of "font" contains both glyph shapes and metrics. But the X11 implementation of "font" only contains glyph shapes. Further, the connection between between the X11 server and client has no way to transmit either glyphs or metrics, in either direction. This confluence of limitations _forces_ the glyphs to live on the server side, and the metrics to live on the client. There's no really clean, general way to make sure the two are in sync. Indeed, if you run AbiWord over a plain X terminal, the fonts just fail.
    This didn't happen because the X people were stupid. At the time the X font mechanism was being worked on, its designers genuinely believed that Display PostScript would take over the world. Applications that needed only simple text display would use the existing X mechanisms, while applications that required high quality text would use DPS. Well, this didn't end up happening, so there's a void.
    One way out of the bind is just to render the text on the client side. This has the advantages of reuniting the glyphs with their font metrics, and also allows fancier stuff like antialiasing. There is a performance hit compared with doing it in the X server, but it's not too bad on modern hardware running locally. So that's where I think this should go.
    I'm in touch with Jim Gettys and other X people about a possible X extension for antialiased graphics, and that would certainly include a reasonable mechanism to do server-side rendering of high quality text.

  • Whats the skinny on truetype fonts embedded in postscript, does this work, can gnome do it, and is it going to cause hassle?
    I haven't played much yet with TrueType fonts in gnome-print. I don't get all that excited about TrueType, because there are a lot of high quality Type1 fonts, both free and non-free. Finding good, truly free TrueType fonts is hard. In addition, TrueType is patented.
    Nonetheless, it certainly is possible to use TrueType fonts in PostScript, and it's part of the long term plan of gnome-print to handle them. There are basically two ways to do it. First, if the PostScript implementation contains a TrueType interpreter (a configuration known as "Type 42" fonts), you can just embed them, and you get the full TrueType hinting and so on. Second, you can convert from the TrueType font directly to a PostScript font, and just embed that. You lose the hinting, though, and there is some nontrivial computational geometry to be done (TrueType allows overlapping shapes, like being able to make a $ from S and |, while PostScript doesn't).

  • Have you been tempted to write a type1 rasterizer for XFree86, im told that the existing one is not all that good and could be improved, and you appear to be complemtating something of this nature for the canvas?
    Well, I've already done a Type1 parser for Gill and gnome-print, but it's intended for antialiased display. The problem is that Type1 is just not very well suited for low-resolution bilevel displays. The one in XFree86 (actually X11R6) does a pretty good job, all things considered.
    My feeling is that as resolutions increase, the "sweet spot" is going to be truly high quality antialiased rendering. At 140 dpi and over, the resolution is good enough that antialiased fonts no longer look soft or fuzzy compared with their pixelly cousins. And of course the computer power to produce these antialiased displays is increasing at least as fast as the resolution. So that's the long-term goal, and in the meantime what X11R6 has now is good enough.

  • do you think that the SVG vector format is going to succeed as a web vector format ?, what flaws do you see in it?
    It is way too early to tell whether SVG is going to get a large market share for web content. For one, I don't see evidence of serious implementation work being done by the browser people. Microsoft I just don't know about, but Mozilla doesn't have an SVG story right now. The only real SVG implementation that I know about on the proprietary side is Adobe's.
    That said, SVG kicks ass. Its imaging model is way more powerful than PostScript's, and having it based on XML is just the Right Thing. One of the things I've noticed is that it's really easy to convert into SVG - I'm already seeing a lot of converters for "legacy" formats into SVG. So I think once good SVG implementations are out there, that's going to be the path a lot of graphics take.
    The biggest flaw in SVG is its complexity. The SVG draft standard itself is not so bad, but it imports a huge amount of other stuff by reference, including DOM and CSS2 among other things. These are complex and in some ways broken standards.

  • have you actually received much feedback for the canvas and related products in the way of patches for added features from other contributers ?
    Yeah. For example, Lauris Kaplinski (author of Sodipodi) sent me the original version of the Bezier path item that's in Gill. I'm also getting code from Tim Janik, who's working on a libart-based sprite widget that's going to be nice for games.

  • what other interests do you have?
    Reading (science fiction and nonfiction primarily), photography, drawing, yoga, sex, Quakerism, and raising a 3-year-old kid. Obviously, getting time for my thesis, my free software work, and all these other interests can be a challenge.

  • would you consider yourself to be suffering from Aspergers Syndrome, and if so do you see this as something that you should seek therapy for ?
    No, I'm definitely not medically diagnosable with Asperger's.
    But think of cognitive style as a big multidimensional space. Certain extreme regions of the space are labelled as mental disorders, such as Asperger's, ADD, and manic depression, to name three. At the "centroid" of this space, you've got "normal." I'd be perfectly willing to believe that my position in this space is a weighted vector sum, not all that far from "normal," with definitely some manic-depression, some attention difference, and maybe a hint of autism.

John asks:

  • Did you ever get mistaken for being Ralph Lauren ?
    No.

  • Are the GNOME/GTK people going to replace imlib with another rendering library - and is there any possibility of tying this in with OpenGL to give people with DRI-supported 3D cards a big speedup for anitaliasing, translucency and scaling, in the distant future ?
    Yes, imlib is being replaced by a combination of GdkRgb, libart, and gdk-pixbuf.
    I'm actively looking at DRI as a way of speeding things up, especially as it looks like it's going to be pretty common with the next gen of X servers and video cards. Some early measurements on high-end SGI hardware indicate that the speedup could be amazing. But most of the people I talk to are more cautious, and tend to take the view that PC hardware is quite a bit slower, so it might not be worth it. We'll see.

  • Will there be a day when all video cards have 3D acceleration hardware ?
    Probably.
    Even more interesting is the question of whether we will reach a time when most video cards _don't_ have 3D acceleration hardware. As the 3D acceleration becomes more sophisticated, it approaches a general purpose computer. At that point, it might make more sense just to use a real CPU, and not have any graphics-specific hardware. Ivan Sutherland came up with the phrase "cycle of reincarnation" to describe exactly this phenomenon (it's in the Jargon file).

  • How is the "FPS" group getting along (maybe explain it a bit) ? What do you see as being big benefits for Joe User in the short term from their ideas ? Do you make recommendations to software authors, or get dirty & do it yourselves ?
    FPS hasn't really gotten off the ground.

  • Where do you get food & hardware money from ? Would you prefer a boring job that gives you loads of money to help persue your interests in your own time, or a lowish-paid job that you enjoy ? Have you any intention of ever leaving college ?
    I live off of licensing revenues. About the job preference, it's always important to find a balance. Fortunately, it's looking like it's possible to make good money while doing free software development.
    And yes, I'm going to leave college as soon as I finish my thesis.

  • Would you recommend the use of the GNOME libraries, and the GTK object model in non-gui applications ? Should it be recommended to all freeware programmers, not just GUI ones ?
    Always use the most appropriate tool for the job. Glib is really nice for getting a higher level of abstraction in the C language. I'm not sure I would recommend the Gtk+ object system for non-UI work; it definitely has a few quirks that are really specific to its goals and history. But it may be the best tool for some things.
    And there are definitely a few Gnome libraries that are useful for non-UI work, especially the ORBit CORBA implementation and gnome-xml. If you're doing CORBA or XML in C, these are far and away the best tools available.

  • Have you ever found any cartoon characters to be sexually attractive ?
    Yes.

  • Favourite film quote, and why ?
    One of my favorite quotes that comes to mind is Kip's line in The English Patient when Hana is worried that Kip will blow himself up while disarming a landmine: "This is what I do. I do this every day." I think I like it because of the way Naveen Andrews (Kip) spoke it.

  • What kills more children ? Guns, bullets, or people ?
    People, unfortunately, even if you don't count deaths from firearms :(

Other questions, various people ask:

  • What's your favourite colour?
    Blue.

  • What's on your desk right now?
    This desk (I have three) has a PPro 200, a DEC Alpha 3000/300, teas and tea paraphernalia, a phone handset (for playing with Internet phone stuff), and a few random manuals.

  • What don't you leave home without?
    My clothes on.

  • Which cartoon character would you choose as a role model?
    My role models tend to be people like Richard Feynman, Linus Pauling (after whom my parents middle-named me), and Alan Turing, rather than cartoon characters. I do feel some sense of identification with Shinji Ikari of Neon Genesis Evangelion, though.

  • Does you use a mouse and what mouse is it?
    Yes, usually a Logitech 3 button. I also use a Wacom Intuos pen pad as a mouse sometimes.

  • Why do you work on the projects that you work on, what draws you to do it?
    Mostly because it's fun. I think one of the big draws is the promise of creating, if not a digital utopia, then just a really good computing environment. It's obviously something a lot of people can benefit from.

  • Is there is any place that you'd rather be? Why?
    Right here right now. To watch the world wake up from history.

Thanks for the questions. They were a nice mixture of fun and deeper questions. I hope your readers enjoy it!


Related:
Alan Cox
Andrea Arcangeli
Caolan McNamara
Gordon Matzigkeit
Michael Monty Widenius
Ulrich Weigand


About the author, Ken Guest.

USERS COMMENTS


                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell