Linux Today: Linux News On Internet Time.

Dave Whitinger and Miguel de Icaza at the ZD Open Source Forum

Jul 08, 1999, 13:51 (3 Talkback[s])
(Other stories by Dave Whitinger)

By Dave Whitinger, Linux Today

So, I am sitting on our booth at ZD Open Source Forum, preparing a keynote speech for broadcast, when who would walk up but Miguel de Icaza, head developer of the GNOME project. The interesting looking audio equipment must have lured him in for a closer look.

To try out the equipment, he sat down for an interview...

Dave: Miguel, how's it going?

Miguel: Alright, Thanks, Fine.

Dave: You know, you're a ball of energy.

Miguel: What?? No, no, no.

Dave: Yes, you are pure energy in human form.

Miguel: Actually, I am trying to merge with the web. Me and the web will become one. One and only - same thing. I'm going to become pure energy and merge with the web.

Dave: That's pretty ambitious.

Miguel: (Laughs) Note to all the people around the world, you should run ssh on port 80 on your machines.

Dave: That's if you're at the ZD Open Source Forum.

Miguel: Yeah, but I have found other places who also firewall those sorts of things. Like at Linux Expo Paris, they also blocked the ssh port. So run your ssh on a web-looking port...

Dave: Or port 8000... they're probably not firewalling anything about 1024.

Miguel: You think so? I don't know, I'm not really an expert on that sort of thing. So, run your ssh on port 80, never fails. So, anyway, here we are at the Open Source thingy.

Dave: How's it going?

Photo courtesy Linux Today

Miguel: I'm doing fine.

Dave: Having a good time?

Miguel: Yeah, yesterday we drank until I lose my English-speaking abilities, so we had to take a walk.

Dave: And then, on the way home, we had to stop at every single head-shop.

Miguel: Yeah, and I had to go to the bathroom real bad, and these guys were trying to buy every single thing in every single shop.

Dave: Well, it was maddog who was doing all the purchasing. He bought a snake-earring, a bullfrog plant-stand...

Miguel: He also bought this nuns. Electric nuns?

Dave: The fighting nuns.

Miguel: Yeah! (laughs) We had a good talk yesterday with Kirk McKusick at the restaurant... interesting person. He explained in detail this thingy he's working on called... what's it called... Soft Updates... and doing some really cool stuff with that. It's doing check-pointing, doing, oh my God, very interesting. You can back up your system live, you can get lots of speed improvements, it's amazing. An Amazing guy.

Dave: And what company is he with?

Miguel: Oh, I don't think he has any company. I think he just has money and he just hacks these days.

Dave: Oh, okay, wow.

Miguel: Yeah, that's what every one of us should be doing.

Dave: Right.

Miguel: The problem is that he's got the money...

Dave: That's the big difference, right?

Miguel: Yeah...

Dave: But you're going to have big money real soon now...

Miguel: I'm going to?

Dave: Yeah.

Miguel: Well, if things work...

"I'm ready to make millions of dollars, though." -- Miguel

Dave: Your company...

Miguel: yeah, well, it's a startup company, one of those... I don't know... people keep telling me, "Yeah, I started a company a few years ago and went bankrupt", so I hope this one doesn't go bankrupt.

Dave: Well, you know, It's hard work, running a business.

Miguel: Yes, I'm ready to make millions of dollars, though.

Dave: The company supports GNOME, right?

Miguel: Yeah, exactly. We get to write system extensions for GNOME and we get to write cool software and make it all free, so that's gonna be good. Writing all GPL software. Talk to some people here, it's interesting. They say you can't make as much money with Open Source as proprietary technology, but you can still make money. So I won't get depressed if I don't become Bill Gates, money-wise, right? But, if we can make money and support ourselves, and support other GNOME hackers, and have them release cool software, that's gonna be good.

Dave: That's a great thing that could happen.

Miguel: Yeah, exactly. I don't know who said this, but whoever said that "not being a millionaire like Bill Gates - it's not a tragedy, and you can live with that. I'm ready to live like that. As soon as I can go and travel to these places and meet cool people and... (background phone rings) oh my God, the phone is ringing.

Dave: It's the bat-phone.

Miguel: All the phones are pretty strange here, they're all red. I'm wondering if this is a secret connection to turn off ssh port every time I approach a terminal.

Dave: We have this bright, fire-engine red telephone, it's the bat phone!

Miguel: Oh God, you have great audio in these things.

Dave: Good audio?

Miguel: Yeah, the audio is just great, best I have seen.

Dave: Thank you.

Miguel: You have great stuff here.

Dave: Thank you, thank you very much. We've had a lot of fun with this audio stuff. You know, we just started it last Friday.

Miguel: Oh my God, this is new? This isn't the same stuff you had last ... uh...

Dave: Linux Expo?

Miguel: Yeah.

Dave: No, that was the Linux-Radio guys.

Miguel: Oh, that's right, what were you doing there with them?

Dave: We were sponsoring them to come to the Linux Expo. They're good friends of ours, and they've since quit doing it. [ Ed Note: They've since started their project again. ]

Miguel: Why?

Dave: I don't know.

Miguel: It looked like a good thing.

Dave: Those two guys just aren't together anymore, and their website hasn't been updated...

Miguel: They were lovers? They broke up?

Dave: I don't think that was the case.

Miguel: Oh, okay. I'm here spreading rumors.

Dave: That is not the case, and I didn't say that, that was Miguel speaking.

Miguel: That was Miguel, just wondering.

Dave: The site hasn't been updated for a couple months, and this is such an interesting thing with the audio, and it has to be done.

Miguel: So what do you do with this stuff, do you broadcast it now, or do you store it on your harddrive?

"Am I interviewing you, or are you interviewing me?" -- Dave

Dave: Am I interviewing you, or are you interviewing me?

Miguel: It just seemed like a cool thing to talk about...

Dave: I've been interviewing people all week, and finally someone is asking me questions.

Miguel: (chuckles) Yeah, yeah, so when did you start with this audio thing? Tell us?

Dave: Well, Miguel, it's a funny story... (laughter)

Dave: No, let's see. Your question was, "how are we broadcasting", and the answer is, we're using icecast (icecast.org is their website), and we've got a 3-way deal here where the audio goes from the mixer to the sound card, the sound card goes to this program called liveice, which takes it and calls this encoder, which takes the sound and encodes it into an mp3 file. icecast then gets it and streams it off a http server, on port 8000. Then in another xterm, I have lynx doing a -dump on localhost:8000, and redirecting it to a file called 'miguel.mp3'.

Miguel: Oh my God, so this is encoding mp3 real time.

Dave: Yeah, isn't it cool?

Miguel: Oh, my God, I need this for my CDs!

Dave: Oh man, it's awesome. All you gotta do is plug it into the back of your sound card and every piece of sound that comes is recorded and encoded... It's pretty complex, I had to have Barath, one of the icecast developers actually come into my box and configure the thing. It's real good, I can stream this right off my box.

Miguel: Wow, that's a cool technology.

Dave: And you can do it live...

Miguel: And the quality is okay?

Dave: It's very good. It's fantastic.

Miguel: Why don't they do that for my CD's? So I can share the music. Think of it this way, you have a hundred CD's. You don't want to carry them everywhere, when you're traveling. So you just put them on the laptop and you listen to them on the plane.

Dave: Have you seen those RIO players?

Miguel: I have seen about them, but haven't gotten around to seeing it yet.

Dave: Maddog has one. He told me he was going to bring it to the show today.

Miguel: They don't have much memory, right?

Dave: Well, it has 16 megabytes.

Miguel: That's about 16 minutes?

Dave: About an hour. Half an hour was 5 megs...

Miguel: On my laptop, I have about 300 megabytes.

Dave: You could fit a lot of mp3 on there.

Miguel: Several hours for hacking. So I could leave my CD collection at home, and I can go to work without worrying about my co-workers taking my CD's.

Dave: Exactly.

Miguel: Like borrowing... and then take the manual out, oh my God. How do you call that, the cover thing they put in the CD.

Dave: Uh, the case?

Miguel: Not the case, but goes in the case.

Dave: The paper?

Miguel: Yeah, the little paper. It comes with all this graphic art.

Dave: I think everybody knows what we're talking about, but I just can't put a word to it. Somebody is currently talking into their speakers saying, "It's called a ... something" and I wish I could hear them, and then we'd know. Back to your company..

Miguel: GNOME Support. So what are we doing? We're trying to get a number of contracts from a number of companies to double up new GNOME applications. So we're basically concentrating on groupware tools, like, uh, well, one of them is, how do you call that, scheduling stuff. So you can schedule appointments with people in your company and say, "I need to get me a schedule with these 4 people".

Dave: Isn't that kind of like Groupware?

Miguel: Exactly. This is like, I think Microsoft has something like this in Outlook, but I'm not sure. I just bought a book on Outlook so I can copy/paste the user interface.

Dave: There was something you sent out, sort of a call for an idea you had for a nice E-Mail program.

Miguel: Yes, we're also working on that. Actually, most of the work is being done by Bertrand Guiheneuf. Bertrand is working on a beautiful mailer API for GNOME. And this is basically the foundation for the mail application. So it's a real API you can use for writing other mail clients if you want to, or you want to write any kind of mail related thing.

Dave: What about Balsa?

Miguel: Uh... Well, Balsa tries to be a conventional mail system. It's just a nice interface for a conventional mail system. And, it's pretty much the same as Eudora or Netscape Mail. Nothing really fancy, nothing really exciting.

Dave: This new mail program you're talking about, one of the new concepts behind it is this one big file that has all the mail in it, and you're sort of indexed in there, and the folders are...

Miguel: Well, it's not actually a big file. It can be a bunch of sources. You can actually split the mail, but from a conceptual point of view, it's just a big mass of messages, right? It's just a body of messages. And, the idea here is that you have vfolders. vfolders are actually a result of a query on a database that keeps track of all these files, right? So, you can actually have multiple views of the same information, that's the idea behind this. We're starting to do this because it's a problem we have ourselves with mail, right? We're starting to get so much mail that it's difficult to find all the mail to file and find information, that sort of thing. So, it's basically trying to address a problem that we currently have. Many free software people... free software developers. Because you have to keep track of many mailing lists, many ports going on. And retrieving information from the mail is usually a pain. I have about a gig of mail, archived mail, and finding something is not fun. We're doing this to mainly help us, ourselves.

Dave: I see what you're saying. A lot of people can make good use of that. I'm not a developer, but I also have about a gig of mail.

Miguel: But you have to keep track of things, right? Like, you know, what's going on, exactly what's being designed...

Dave: Being in my line of business, I have to be on every single mailing list on the face of the planet.

Miguel: Exactly.

Dave: My mail server has about 10,000 things coming in every minute.

Miguel: Exactly. So you need a way of organizing these things. Now, the problem is that we're just at the tip of the iceberg. Internet and mail are just starting to become important. I can see in a few years where every single kid in the world, and every family in the world having a mail address, right? Every person having a mail address. Well, not everyone, but just picture 10% of the population... 20%. And, uh, many things are going to be done in mail, and you'll need a good recruiting system for that information. And we don't have the framework now. I don't think anyone has that framework.

Dave: At the Linux Today office, we've got one big box that's our server that has all the home directories on it, all of our workstations are actually just NFS-mounting our home directories. So when I go to my TkRat, and I switch to a new E-Mail, it takes about 5 seconds to come across the 10 megabit ethernet. If it's all one big file, is that going to be a problem?

Miguel: As I said, it's conceptually one big file, but it's not actually implemented like that. It can be a bunch of files. Everytime you incorporate mail into the system and you fetch the mail, it gets indexed for you, and probably split into other sources. Like, you can say, "I'm pulling my mail from pop but I want to store it back into an imap server." So, you fetch it from pop, you then store it in an imap server, or you store it in a mail file or you store it in a directory or an image file. It doesn't matter. Basically you have input sources, and storage backends. So you can have multiple storage backends. And all of the information is stored in the storage backends. For example, you can choose to keep all of this stuff on an imap server, so you just pull it, index it, and keep in the imap server without moving it, for example. But from the point of view of the vfolder, which is what the end-user has access to, what they see is this big body, and this big body is completely indexed. So, that is an important thing. Now, in terms of user interface responsiveness, the whole design is asynchonous, which means that there are no blocking calls. The user interface is always responsive. You can have multiple threads, it is not implemented as threads, it is implemented as processes. But, it looks like threads. It is all being done at the same time. It is pretty cool, pretty cool.

Dave: Very good.

"...one of the problems that has plagued the GNOME development community..." -- Dave

Miguel: It is a way of experimenting with lots of stuff that is happening that lots of people have found to be useful, and now we are trying to get all of these ideas together.

Dave: When am I going to be able to actually use this?

Miguel: Ah.. I don't know. That is a good questions. We were expecting 5-6 months to have version 1.0 released.

Dave: You know, that is one of the problems that has plagued the GNOME development community. The technology behind GNOME is so solid and carefully planned out, but it takes a lot of time to get these things actually, you know, you put the floor in, and then you can have the stuff on top of it. So, it looks like there is not a lot of progress being done, but actually there is an incredible amount of development being done.

Miguel: Actually, it is sort of funny that you mention that, because we have this core. Right, this GNOME mailer core, which is called "Camel" API. Which Bertrand did. And it's this beautiful API for mail messaging and manipulation, and somebody took this API and built another mail client, and it was like, Dude, wait a second, we're trying to get this right! So, he's free to do it, but we're still building more infrastructure on top of that. The API is so usable now, that somebody actually went and in two weeks implemented a mail client. And it's pretty nice! It's like a Eudora thing. But we're aiming at the higher thing. If we can address our mail problems now, I think we'll be able to address people's needs in 5 years. So, it's going to be a very powerful infrastructure for people.

Dave: Is it fun to program in GTK?

Miguel: Uh, yes, yes, very fun to program in. Now, the thing about this is that it's independant of, uh... One of the design principles besides this is that this whole vfolder interface, and this whole mail interface, is not bound to the GUI, that's the thing. It's actually a CORBA service that provides this mail architecture, this mail system, for you. And, uh, on the other hand, we have a GTK/GNOME interface, which lets user have a nice GUI for their mail. But, we have also planned to provide a web-based interface, so that when you are on the road, you can check your mail and access the same exact mail, with the same exact folders, you can store it in the same exact locations that you do at home, but you can do it from a Cafe Internet.

Dave: That's nifty... Nifty...

Miguel: That's nifty. And if you run it over a secure HTTP port, you basically have your secure mail, and you can access it all over the world, wherever you are. That's interesting. That's one of the things, and I guess some people will provide a text-based interface to a service, it's up to them. I just want the web-based interface and the GNOME interface to be working. All the plugins are up to people.

Dave: Where are you going to be next week?

Miguel: Oh my God, next week? I'm going to be in Boston. I'll be visiting Boston next week, and then we go to California to meet a new GNOME company. That's interesting.

Dave: What's the name of the company?

Miguel: Uh, I don't think they have a name yet, but it's pretty important people are working in that company.

Dave: Who are they?

Miguel: Ahh, I cannot tell you.

Dave: Come on, man.

Miguel: No, I cannot tell you. Especially, this is a broadcast thing!

Dave: Come on, I won't tell anybody at all, I promise.

Miguel: Yeah right, you won't tell them. (chuckles all around)

Miguel: Some people are, it's an interesting company. They are doing very cool stuff. They'll be doing, basically, take over something that we have failed to achieve very nicely, like the GUI, the user, how do you say that? The interface? The guidelines for user interfaces. They're gonna be maintaining that, they'll be replacing some of the applications we wrote, which are not particularly very good. So they're coming up with a newer design, nicer stuff, using asynchronous I/O for some of the things. I don't want to mention the name of the company, because they're gonna kill me, but it's cool people!

Dave: Will you tell me after we disconnect our broadcast?

Miguel: Yeah, sure, I can tell you. Dave: Okay, thanks. When are we going to start seeing things coming out of this company?

Miguel: I don't know, that's why we're meeting in a couple weeks - to see exactly what they want to do, and what are their plans.

Dave: Will you keep me up to date on it?

Miguel: I'll keep you up to date, of course, of course, of course. They're gonna be making a big announcemnent, because it's an interesting company. You'll want to keep an eye on that. But you will know it, it's going to be mentioned all over the place. Here's another thing. Havoc Pennington, he wrote a book on GTK programming, and GNOME programming. It's a very good book. Many of the GNOME core developers have read it, and like it.

Dave: It's be out in about a month, right?

Miguel: About a month... 2 months, perhaps. The nice thing about this is that, the publisher has agreed to make it, uh, open source. So, we're gonna be putting the source code out for the book in a few weeks, months...

Dave: So, it's free, as in GPL'ed type work?

Miguel: Yeah, you can modify the sources, redistribute the sources. The only restriction they have is that if you print the manual, you have to acknowledge that it was originally published by this publisher and the author is the original author.

Dave: I think that's fair.

Miguel: Yeah. So, basically, if you print the book, you have to give credit to the original publishers, which is fine.

Dave: Havoc Pennington... He's the guy who does the GNOME summary.

Miguel: He also does the GNOME summary. Now that he has finished the book, he has time for doing this sort of thing.

Dave: The summaries are great.

Miguel: Yeah, his summaries are great. I actually read them all.

Dave: Me, too. He sends them to me, and I convert them into HTML and post them on Linux Today for our readers. And then, maybe, he takes my HTML version off Linux Today and uses them somewhere else, which is cool - I recommend that.

Miguel: Okay, good, good. Net cooperation here! It's a network at work.

Dave: That's exactly right. He sends it to me and it takes, like, 15 seconds to convert the thing, because I've gotten very fast at doing this.

Miguel: Yeah, and you probably have it all set up...

Dave: With vi macros, it's like my fingers are like magic.

Miguel: Oh, vi, you said vi. The vi war.

"I use emacs for hacking and vi for quick hacking." -- Miguel

Dave: What are you, a pico user?

Miguel: No, no, oh my God, you're talking to a professional here!

Dave: Well, Elliott Lee is a pico user.

Miguel: Well,Elliott Lee has other issues. He's vegetarian, too. (chuckles) He's a wonderful person. He's a pico user, but he's also an emacs user. It's funny, actually, he uses emacs for his hacking, and pico for his quick editing. And I use emacs for hacking and vi for quick hacking. So when I need to modify a file quickly, I just use vi. It's strange, because I have tried to use emacs, because emacs loads just as fast on my machine, but it's just so hard-wired on my brain, it's just very hard. I even tried once to use an alias, so I said 'vi=emacs', and then I found myself typing '/usr/bin/vi'. Oh my God, that's terrible. Somebody is playing a trick on my mind.

Dave: I use vi for everything. I can't stand emacs. It's a...

Miguel: It's fine.

Dave: Half of the listeners right now are hating my guts, but uh, what are you gonna do? I just know that no matter where I go, I'm gonna have vi, and I just want to get very proficient in that...

Miguel: That's a good point, that's a good point.

Dave: You know, there are some embedded systems that I've worked on, you know, with Linux and PowerPC, you know, for Telecom situations where you just don't have emacs available to you, and I feel really happy that I'm proficient in vi.

Miguel: emacs is, I think, a bit big these days. The full distribution, at least. I remember myself using epsilon on the PC, and I kept a floppy with the epsilon, which is basically an emacs clone, written in assembly. It fit in 300K of code, so it would be nice to have something like that in Linux. I mean, GNU/Linux, correct me, please.

Dave: GNU/Linux?

Miguel: Yeah, or FreeBSD, or BSD, or whatever thing that you use these days.

Dave: What about that GNU/Linux? You've been talking to Richard Stallman.

Miguel: Oh, well, I really don't mind. At least, my involvement with GNOME has shown me that really the thing beneath, the operating system, I mean, besides the libc level, will pretty much run on anything. Solaris, Unix, Linux, whatever, you name it. And in some ways it makes sense to acknowledge that Linux is just a kernel, right, so say somebody was trying to put together a distribution with a BSD kernel and the Red Hat userland, right? Because it's beautiful, so well configured, that sort of thing. So, they went to port glibc to FreeBSD, and so they'll have a nice NFS server, and they will have the features of Linux. So, at that point, where's the division?

Dave: Well, would they call it 'GNU/FreeBSD' then?

Miguel: I don't know, it's GNU/BSD, whatever.

Dave: Because what's interesting is the GPL is a very different license than the BSD. In fact, those two licenses are sort of, two camps in the free software community. So, you're saying, 'GNU' and 'BSD' together.

Miguel: For example, you have a Linux system, which uses X Windows, which uses a different type of license, right? You'll still use it on the system, right? I really don't understand the FreeBSD people, they want to keep the base system completely under that license, but I don't think their tools have evolved like they should have evolved. Their kernel is great, but their tools, their userland, is just ancient. It needs some updating. And, doing a Red Hat port, you'll hate me here, but the Red Hat port to the BSD kernel, looks like a good idea. You get some nice features from the kernel, and it'd be nice if you could just switch the application and run on the kernel is more interesting to you. Actually, you can do that. If the library is the same, and if the application is going to do any system calls, they just call the library, you can actually have binaries from both the BSD kernel and the Linux kernel.

Dave: Very interesting. I'd like to play with that.

Miguel: Yeah, BSD has some nice and interesting features. So, to me the difference between Linux and GNU/Linux. If Stallman wants to get some credit for that, it's fine with me.

Dave: I think Stallman deserves a lot of credit.

Miguel: Exactly. People bicker a lot, and I think he's a nice person. He's an interesting person, too. And, I don't know. People are very opinionated, I am very opinionated. Don't start me in that.

Dave: I'm opinionated, but I try not to show my opinions.... I'm hungry. Do you want to go to lunch now?

Miguel: Yes, let's do lunch!

Miguel de Icaza, the head of the GNOME Project, can be reached at miguel@nuclecu.unam.mx. His company, International GNOME Support, can be reached at http://www.gnome-support.com/.

You can also listen to this complete interview with any streaming mp3 player.

Related Stories: