Originally Published: Monday, 30 July 2001 Author: IRC Staff
Published to: interact_articles_irc_recap/IRC Recap Page: 1/1 - [Std View]

Development With Linux.com

After having gone through a week of Live! events, it's all over. Linux.com gathered developers from near and far to talk with us about their experiences and opinions. Now that the week's over, here are all of the logs from the events. The logs are split up by pages, so it's easy to find which log you're looking for.

Ken McDonalds and Darryl Harms talked to us about their experiences with Python and writing "The Quick Python Book." The discussion ranged everywhere from what experience they have with Python to how their book is laid out. For the log, read on.


<Wintersun> Okay, thank you everyone for coming out today!
<authors> Thank you!
<Wintersun> We've got Ken McDonald and Darryl Harms here today (aka authors) to talk to us about writing their latest book "The Quick Python Book", published by Manning Publishers
<Wintersun> Please be sure to /msg any questions you have to LcModerator and he will ask them in the channel. Thanks!
<Wintersun> Ken and Darryl, would you guys like to tell us a little bit about yourselves and what type of background you have in programming?
<authors> Sure.
<authors> Ken sez:
<authors> Well, I've got a Bachelor's, M.Sc., and part of a Ph.D. in CompSci. I did a short stint as a junior
<authors> sysadmin at the end of my academic career, went to work as a programmer for the Human Genome
<authors> Project, wrote the Quick Python Book after than, and then ended up at Be, Inc. as a tech writer.
<authors> Daryl sez:
<authors> I started working in the field in data communications in the mid-80s
<LcModerator> you may /msg your questions to ken and darryl to me I will post them to channel. you can msg me now and I will start posting them after they have introduced themselfes
<authors> and moved into telecom and oil/gas network mgmt, and from there ended up (somehow :-) )
<authors> working for AltaVista, in their Calgary, Canada, office.
<LcModerator> <authors> We aimed it at people who were already knowledgeable about programming, and who wanted
<authors> to be able to learn Python very quickly. Ken sez: I started this book because at the time,
<authors> there was not a lot available for Python, and I was very frustrated with most of the
<authors> language introductory books, which often felt like they had to teach the basics of c.s.
<authors> along with the language.
<LcModerator> <authors> Not in that sense. It is a tutorial and concept book, not just--or even primarily--
<authors> a reference book. However, it's organized in such a manner (we hope), that it's easy to skip
<authors> over sections or chapters that address things you might already know.
* LcModerator what advantages do you see of python over say other alternatives languages like perl. And why did you choose Python as the basis for your book?
<authors> Ken sez: I started using Perl several years before I learned Python, and used Perl extensively,
<authors> at the Human Genome Project (which in some sense, really runs on Perl). But, IMHO, Perl isn't
<authors> really suited for maintainability--once your code base gets large, and you start having new
<authors> engineers looking back at other people's code, it can become difficult. I started using Python after
<authors> a bioinformatics guy in Cambridge sent me a program that used it, and fell in love with it because
<authors> it rectified all the things I'd come to dislike about Perl.
<LcModerator> <authors> Oh, and Python was the basis of a book because there weren't really any good books at the time
<authors> Is that the old April Fool's joke? My jaw dropped when I first read the article about
<authors> that, then I remembered what month it was :-)
<LcModerator> <authors> The first reference material I ever used for Python, and what I still primarily use, is the
<authors> language reference and library reference. They aren
<authors> t so great for learning the language (hence the book we wrote), but
<authors> once you know Python and know your way around the two references, they're pretty good.
<LcModerator> <authors> We've tried to do some innovative things in terms of making the sample easily
<authors> readable and short, and to make material easy to find. Do you remember reading poems way
<authors> back (or not so way back :-) ) in high school, with the little explanatory notes in the
<authors> margin? We put in lots of margin notes describing what a particular section was talking about,
<LcModerator> so like Coles notes so to speak
<authors> so if you knew in general where the info was, you could find it quickly by scanning the margin
<authors> notes. Yeah, somewhat like that. A lot of people have liked it, so I think we did some things right.
<LcModerator> <authors> We had a very short, not very complete section on using Python with C. Neither of
<authors> us has done much with that. However, Daryl tells me that there is some really good info
<authors> on that in the Python manuals--I believe there's an "Extending and Embedding" ref. manual.
<LcModerator> <authors> I don't think there's any reason to read both. If you're new to programming as well as to
<authors> Python, then the Learning Python book might be better, but I think ours is better if you already
<authors> know the basics of programming.
<LcModerator> So your book is more for a person that has a grounding in programming basics?
<authors> Yes, it was written specifically with someone who knows at least the basics of programming. By
<authors> the way, I think Python is a great language for people new to programming--very clean.
<LcModerator> <authors> Copyright of the book is owned by Manning, not by us. This is standard in the tech publishing
<LcModerator> Iwill ask apersonal ? if the guests dont mind
<authors> industry, I think. We've talked with Manning about realeasing some parts for free, but it hasn't happened yet.
<authors> Go ahead
<LcModerator> Given that linux and most of the applications that use it are released under the GNU/free software. How do you as Authors feel about say O'reilly releasing books that are no more then the LDP in a book format and charging for it. and Do you think at some point even your book should be released online for free
<authors> Publishing a book does cost money, and writing it takes a lot of time. Trust us, we're not
<authors> getting rich off of this book :-) I'm certainly willing to pay for a printed version of printed
<authors> material because of the convenience. However, at some point, I'd like to see some system for
<authors> collaborative production of books online, sort of a sophisticated CVS for documentation--then, I think,
<authors> it will be much more practical to produce really good, free books.
<LcModerator> <authors> Neither of us has looked at Ruby in detail. But the real question is whether it will
<authors> have the libraries Python has built up. (Of course, that's what Perl people say about Python.)
<authors> By the way, people interested in languages might want to look at Sather--it's now a Gno project.
<authors> That's a Gnu project :-)
<LcModerator> tpck- do you tough on any of the GUI interfacesto using Python in your book
<LcModerator> tough=touch
<LcModerator> sorry tcpk I closed the window to soon
<authors> We talk about Tkinter, but not in depth. But Manning has another book all about
<authors> using Tkinter, by John Grayson.
<LcModerator> I think parts of books online as appetizers are great to boost sales, I as a matter of fact bought Opensource development with CVS 'cause they made a very good part of the book available online, how do you feel about this?
<authors> We agree. We put two chapters online :-) (Manning did, that is)
<LcModerator> plug the chapters then by all means post a URL
<LcModerator> we will ask if we may mirror them on linux.com
<authors> I don't know the full URL, but go to www.manning.com, and it should be easy to find from
<LcModerator> When was the book published? What version(s) of Python does it cover?
<authors> there. I think they do that for a lot of their books. And, if we're allowed to
<authors> plug the book :-), I'll note that it's received some pretty good reviews from Amazon and
<authors> similar sources.
<authors> It was published about ... (looking it up)...
<LcModerator> If anyone has questions they would like to ask out authors today just /msg me and I willpost them for you
<authors> Setp 1999, and covers up to Python 1.5.2.
<LcModerator> As Python is first introduced to a lot of end-users is IRC interfaces like X-Chat. Do you see this as a hinderance to it beingmore widely used
<authors> Could you rephrase the question, please?
<LcModerator> I will try for the guest
<LcModerator> X-chat for a lotof users of linusis the firsttime they even see a word Python
<authors> Ah, I see. Sorry, I don't really know anything about X-chat. Does it use Python, or is it
<LcModerator> sothey assume it is simply a script language for IRC. do you see this as a detriment to Python being applied to many other things
<authors> a place where Python is regualary discussed.
<authors> No, I certainly don't see it as a detriment. As long as the users become aware that Python
<LcModerator> Python scripts are the prefered script of choice for X-Chat
<authors> can be used in other arenas, anything that exposes people to the language is
<authors> good, in my opinion.
<LcModerator> do you see that as a hinderance to it's growth
<authors> In fact, I think Python is becoming known to a lot of people as an
<authors> scripting language that can be embedded into products. For instance, there's
<authors> a version of the 3d animation program Poser that lets you script it using
<authors> Python. This can only be good for the language.
<LcModerator> <authors> Again, we're not interested in teaching programming, we're interested in teaching Python--
<authors> so most of our examples are very small, intended to show off a specific feature. Some of the
<authors> special chapters (such as interacting with Microsoft software) have larger examples because they
<authors> are needed to show a complete working setup.
<LcModerator> any oher questions?
<Wintersun> Okay, I think we're just about out of questions
<Wintersun> So, I'd like to thank, once again, Ken and Darryl for coming out and talking to us today.
<authors> Thank you everyone! Run, don't walk :-) to your nearest bookstore, and
<authors> take a look at the Quick Python Book.
<Wintersun> I'd also like to encourage everyone to stick around as long as you'd like and chat with the authors yourselves.
<LcModerator> thats a catch phrase I like that
<authors> thanks :-)
Many of the developers of the Jabber protocol showed up to talk about Jabber and their ultimate plans. They talked about what their original intentions were and what their plans are for Jabber in the future. The protocol has many possibilities and they hope to fulfill all of them. Read on for the jibber jabber from the Jabber folks.


<Wintersun> Okay, welcome to Linux.com Live!
<temas> hehe
<x-virge> jer should probably start by giving a brief on what Jabber is ;)
<Wintersun> I'd like to thank everyone for coming out today. :)
<Wintersun> If you have any questions, please /msg lcModerator with them and he will ask them in the channel.
<jer> x-virge: thanks :P
<opie> jer: just don't type when you're talking to people at the booth, that's rude =]
<boatpants> wow! jer's here?!
* jer hids
<Wintersun> I'd like to start off by getting everyone to introduce themselves and telling the audience a little of what they do.
<TCharron> opie: ROTFL
<opie> give reatmon voice ya'll
<Wintersun> how about we start with boatpants and then move down the line. boatpants, would you like to introduce yourself?
<reatmon> test
<jer> I'm Jeremie, (jer@jabber.org) and tend to work on protocol, extensions, server side, coordination, mostly jabber.org stuff
<reatmon> better. =)
<boatpants> jer first :)
<Wintersun> that works. :)
<jer> I'm also sitting in the corner of the terminal room at the oreilly open source conference on my laptop :)
<temas> Hey, I'm temas, Thomas Muldowney. I've been with Jabber since pretty much the beginning, working on just about everything. I work on the open source stuff now as a jabber, inc. employee.
<boatpants> I'm mike szczerban, jid mike@jabber.org, and I started getting into jabber because I knew x-virge in real life. After watching the development for a while, I started writing jabbertools, which is a set of utilities to make jabber easier to convert to and use. I'm at work not, hacking perl.
<reatmon> Howdy, I'm Ryan author of the Perl modules Net::Jabber and XML::Stream. General all around handyman for the project.
<x-virge> I'm Julian Missig... I've been involved with the Jabber protocol for a while now, and am maintainer of Gabber, the GNOME client.
<x-virge> I'm at work now too, so I may get distracted ;)
<opie> I'm Justin Mecham (justin@jabber.org). I got involved with Jabber in late 1999 (thanks to eliot) and started the JabberCentral web site in April 2000, and pretty much work on that and the jabber.org sites, and do odd jobs. I'm also working on a Jabber server logfile analyzer... (my secret project, announced)
<x-virge> (julian@jabber.org)
<reatmon> reatmon@jabber.org (original I know... =)
<boatpants> opie: geez, you've kept that hidden for how many months now?
<opie> boatpants: I've just resurrected it again :)
<opie> boatpants: had to put it aside for awhile :/
<Wintersun> jer: Could you tell us a little bit about what Jabber is and what ya'lls purpose for it is?
<jer> I've been doing (trying to) that this morning in the booth here, so sure :)
<jer> underneath it all, it's a framework for moving xml around between clients and servers
<jer> the most immediate application of that framework, is as an IM architecture
<jer> the most immediately important part of all this is that anyone can own/operate their own independent IM system and userbase, and that userbase can communicate with any other anywhere on the net
<jer> it's always been about ensuring that IM is open, and people can freely communicate with any software or platform or data
<lcModerator> questions...
<lcModerator> Are there any other implementations for Jabber except IM systems?
<jer> with xml as the underlying transport and language, it's evolving into a generic xml fabric for inter-person and inter-application communication
<boatpants> I believe that there are a few applications that are beginning to use Jabber as a gaming framework
<jer> today there was a great demo here of Jabber and SAP, for internal and b2b apps :)
<lcModerator> For someone to start joining the jabber developer team, how long would it take for all that? To learn the protocol, existing programmes/utilities, how good one should be, what is expected out of the person?
<jer> the hardest place is probably figuring out _where_ to start, which project, which aspect, etc
<temas> The protocol is fairly easy to pick up, it only has 3 main pieces. Some of the pieces can get tricky, but you might now have to care about them.
<reatmon> I think you just need a desire to learn. everything else can be picked up fairly easily.
<opie> The "Help Wanted" forums on jabber.org have listed items that are needing to be done, and are usually a good place to start. It hasn't been updated in a while, but I'm hoping to change that.
<temas> I've seen people go from zero understanding to a good usable level of understanding in just a day of reading, and asking questions
<boatpants> temas: did you mean might _not_ have to care about them?
<temas> yes, thanks
<reatmon> See Jabber has layers...
<temas> not =)
<jer> jabbersearch.org can answer many questions, has indexes of the common ones from the lists, chats, etc
<reatmon> as you peel them back you get some knowledge...
<reatmon> but then you find more layers. =)
<temas> Now is also a good time to join development, we've just started design phases for a new server
<lcModerator> Do the you see widespread application of the jabber servers for secure e-commerce and XML exchange services (replacing proprietary EDI), and other business applications targeting businesses that do not have the means available to develop their own?
<temas> you can email or jabber me if you are interested in the next gen server team (temas@jabber.org)
<jer> well, we have some pretty slick pgp/gpg integration in some clients, and ssl connections, so we're starting to get there from a technical point of view
<jer> I think that if some of the SOAP and UDDI integration turns out to be transparent and useful, we'll see Jabber spreading much faster in that area
<lcModerator> With the recent annoucement from AOL are you going to be working with jabber for an IM gateway?
<jer> oh hell yeah
<TCharron> As a matter of fact, I'm sure Jer and temas will have it hacked out within a few hours of it being out.. 8-P
<jer> if they publish a real server-interop spec, no prob, there will be soild transparent connectivity to AIM
* temas grins
<lcModerator> Has AOL shown any signs of allowing interoperability with the AIM service?
<jer> the leak was a bit light on details, I'm hoping it's not a stalling tactic
<opie> quite the opposite
<TCharron> I belive the only messages we have ever heard back was, 'I'm sorry, we do not allow external systems access to our prorietary IM network. Thank you for contacting AOL'..
<lcModerator> Why would someone use jabber as apposed to other similar services like irc?
<jer> from a corporate mentality, aol doesn't care that much about technology, it's only a tool they use to provide "entertainment" to consumers
<jer> they are a media company, not a technology company, so the standards and open server interoperability hasn't concerned them it seems
<x-virge> IRC is certainly nice for some things... but from an IM standpoint, it's the same thing as why people would use ICQ/AIM/Yahoo!/Excite/MSN IM instead of IRC, except Jabber's actually an open protocol. Some people prefer IRC, some IM. That's my opinion, at least. :)
<temas> I don't necessarily see IRC as a similar service... yes it's similar in messaging, but it's not designed to payload other data well
<jer> well, it depends on you, if you like irc and it works for you, stick with it :)
<TCharron> IRC, while a reasonable model for the time it was written, was written with the express idea of writing chatrooms. Not only that, but the rfc itself blatently says it will not scale. Jabber provides an open architecture, and can scale as far as DNS names will allow it to.
<lcModerator> There is a somewhat confusing mix of commercial and non-commerical interest in the Jabber community, what is the divide, and more importantly how does the commercial side expect to make money?
<TCharron> The servers themselves are also designed in such a modular nature that anyone can write an additional plugin to handle pretty much anything that they may wish from a client extention point of view.
<opie> with IRC, to find people you must enter chatrooms... with IM you have rosters that allow for easier direct communication between people.. imo
<opie> IRC is more chat oriented, IM is more presence oriented
<jer> IMHO, it's kind of like comparing email and IRC, you can use IRC to do everything in email, it's just different models of communicating for different people
<x-virge> There are many reasons for some of these corporations to become involved in Jabber. Jabber, Inc. is mainly focusing on catering to other corporations' needs for an internal IM solution right now, I believe.
<TCharron> I'm not sure there really IS a divide between the entities interested in the project from a commercial aspect, and the developers devoting their free time to it. Many people seem to like to give that 'face' on things, but it's just not the case..
<TCharron> Many of the commercial entities are looking at exactly the same things the freeforall developers are looking at. One does it for profit, another to scratch an itch. In the end, we all scratch eachothers backs..
<jer> businesses and corporations who are interested in using jabber as a service tend to go right to jabber.com
<TCharron> But perhaps I was reading the question incorrectly...
<jer> those that are interested in the technology and integration, tend to go to jabber.org
<lcModerator> In recent times you can hear very often, that mobile communication will becoming increasingly popular in the next months / years - does Jabber has any plans on making the IM service available to WAP-based handhelds / to offer SMS gateways (like ICQ does) / etc...? Are there any clients available for handheld pdas?
<jer> jabber.com primarily offers some enterprise integration (oracle/ldap/archiving) and high-scale (farming, 100k-to-millions simultaneous users, etc)
<boatpants> I think that a lot of corporate interest in jabber is not from a money-making standpoint but from the aspect that they can host their own private, secure jabber servers to help enable communication in the company without depending on someone else
<TCharron> One of the wonderful things about the abber system as a whole is, presentation is up to whoever wants to present it. I've seen jabber data being presented via email, via WML published by Java Servlets, and even as messages pumped into a syslogd..
<jer> well, there's been some neat clients on the new imode phones, java applets, etc, but not around here
<TCharron> And I belive both Palm and PocketPC clients exist currently..
<jer> and SMS is difficult to gateway, since there's a per-message charge, and opening that up to the internet (for receiving them on your phone) is challenging to manage
<lcModerator> Do they see Jabber being applicable in the wireless realm?
<lcModerator> 802.11 sure, wap, but I was thinking mobile pc/computing.
<jer> there's a blackberry w/ a client on it here :)
<lcModerator> s/they/you/ :)
<TCharron> Hrm..
<jer> hmm... what is mobile pc/computing? I'm mobile right now, I can walk around most of the building and expo floor :)
<TCharron> Yea, Jer, I'm not sure what I mean by the question..
* lcModerator didn't either, but... :)
<lcModerator> moving on.. heh
<TCharron> If they mean actually bring Jabber down to the protocol level of things such as 802.11, I'd say we'd need something to ride on..
<lcModerator> Do you think Jabber will someday replace the need for things like Voice Mail and possibly the corperate usage of PBX systems?
<reatmon> that's an interesting idea...
<jer> ahhh... yes, with IM in general, many businesses see a big drop in voice tag internally
* opie can see a prototype brewing in reatmon's head =]
<TCharron> Well, I might have a different opinion on this then others, becouse I work on software based IVR and PBX systems, but I think they suppliment them, and not replace them..
<reatmon> I already had the idea of a voice-transport...
<reatmon> voice to text and vice versa.
<jer> and... with some of the IP phones and the SIP-Jabber integration already happening, the systems will merge
<TCharron> PBX and IVR systems will always be around, simply becouse phone access is pretty much everywhere, and universal..
<reatmon> I type, and you speak.
<TCharron> But those systems talking to you in different ways then just being reactive may change in the future..
<lcModerator> In some cases, as opposed to routing through a bunch of serves around the world, wouldn't direct client-to-client messaging be faster and more logical?
<TCharron> Which leads to what Jer just said..
<jer> if you talk to kevin lenzo (cmu), he'll be happy to promote that idea, independent voice-text-voice networks :)
<TCharron> IP Phones, and even standard analog phones, can use things such as jabber to initiate sessions, using the neutral capabilities of jabber, to say, locate where you want your calls directed, etc..
<opie> Have you read anything about the recent MSN messenger fiasco? what if e-mail was all going through one central e-mail server? The internet is a distributed system, so distributing IM like e-mail and other services is only logical, and really, it's not that slow :)
<jer> yes, client-client makes sense in many cases, and there is some migration of lightweight servers into the more complex clients
<lcModerator> If the focus on providing enterprise-ready or turnkey B2B systems, will the free and open nature of the services change? Additionally, if the jabber focus changed to a more commercial application, would it defer development and enhancement/support/maintenance of the existing IM/client services?
<temas> Jabber often just needs to be a middle man to initiating connections, such as voice communictations, and games.
<jer> client-through-server also makes sense, when you have very lightweight or disconnected/blocked clients, or have to apply some server-side logic (archiving, protocol translation (into soap, wap, etc)
<temas> refined protocols for some specific tasks are always useful
<jer> if you're going to exchange files or do a voice chat, jabber does nothing more then help negotiate the locations or types, a simple xml directory and presence service
* opie mis-read the question :)
<jer> "focus"
<jer> everyone has their own focus... it's hard to know what the whole jabber community's focus really is
<temas> I'm kind of confused by that question, but if I read it right, there is alway sa need for the central system, and the central system pretty much directly has an IM functionality
<temas> so it is always growing
<jer> there's definately some that do b2b/enterprise, but there's many that dont
<TCharron> Yea, thats what I was just thinking.. Focus is all over the place, depending on who you ask and what they are using the system for..
<lcModerator> What is the state of making file transfers easier to use through jabber as the OOB namespace doesn't really seem that easy to use or efficient?
<temas> PASS
* TCharron snickers..
<lcModerator> heh.
<reatmon> ahh PASS...
<jer> it's like asking if the focus of the next version of xml is to do wireless, maybe some, but not entirely :)
<temas> a system has been designed and partially implemented
<temas> called PASS
<temas> ;-)
<temas> I wasn't skipping the question
<lcModerator> Jabber seems like the best way we've seen so far to make strong encryption (pgp/gpg) available to the masses. Are efforts being made to make public key cryptography the default, or even compulsory, for jabber communications?
<TCharron> ROTFL..
<TCharron> I betcha 90% of the people here thought you meant you didn't want to answer.. 8-P
<temas> it should be rolling out faster very shortly
<x-virge> heh, someone just asked me this earlier today
* reatmon needs to get busy
<jer> I've been pushing to get it installed and used by default in JabberIM, the popular windows client from jabber.com
<TCharron> Yea, in the jdev room on the conference transport..
<temas> the security JIG is working on a lot more enhancements to how security/encryption will work in the protocol in general, as well as a set of suggestions to client authors
<temas> one of those will definately be to try encrypted sessions by default
<jer> the problem is the complexity of bundling or utilizing pgp itself, but once it's on there, it's transparent to the users
<temas> btw, JIGs are Jabber Interest Groups
<temas> for those that haven't followed some of our reorganization efforts to stream line our development and protocol enhancement.
<x-virge> Gabber has support for GPG... and short of making GPG a completel prereq, it's about as default as it can get, unfortunately. Until GPG/PGP are easier for end users in general (to setup keys, manage them, trust, etc), it just won't be that popular.
<jer> reorganization? was there any organization beforehand? :)
* temas smacks jer
<temas> shhh
<reatmon> x-virge: agreed
<TCharron> I think that based on what temas just said, sometime during this chat Jer or temas should go thru the jabber foundation. Many people are unaware of it..
<reatmon> same with Jarl.
<TCharron> Just a note, not now..
<lcModerator> Where do you see Jabber in 1 or 2 years time?
<reatmon> On my home stereo... hopefully.
<TCharron> World domination? Oh wait, wrong answer..
<temas> wrong?!
<reatmon> In home automation.
<TCharron> temas: Well, we're not supposed to let the secret out..
<TCharron> ;-P
<TCharron> Overall, I'd like to see more service incorperate Jabber as a delivery system..
<lcModerator> Has there been a Jabber port to the non-MMU versions of linux, like the uCsimm controller?
<temas> in 1 to 2 years I can see it doing a lot more as a real XML router
<jer> well, I've always hoped to see more people communicating... so if jabber can have an influence in getting more people "talking" to each other, in businesses, families, around the world, and force open more of the closed IM systems, I'll be overjoyed :)
<TCharron> Hrm..
<TCharron> That sounds like fun..
<TCharron> Someone send me one, then we will..
<jer> even if they're "talking" by playing a game, exchanging recipies, giving movie reviews, and through other apps
* TCharron begins to think of a Jabber server in his back pocket..
<TCharron> jer: Yea, thats what I meant by services..
* boatpants thinks that jer suddenly sounds like richard stallman
<temas> a lot of working with smaller devices is a matter of who has access to them
<temas> I sure don't
<temas> but I would love to play
<lcModerator> With things like WebTV and other similar services do you think Jabber will someday be included in the webtv revolution?
<temas> IM is becoming a requirement of an internet device now, and I can see Jabber as a real solid choice, since the company can have their own servers
<temas> so definately yes
<TCharron> I'm still not sold on the 'WebTV' revolution.. They are simply not taking off like they said they would when they came out several years ago.. When they do, we can be there to provide a communications means between and accross all of them..
<opie> I can see Jabber being integrated into specialized boxes (I-Opener-style systems, set-top boxes, etc)
<jer> connecting people-watching-tv together is dangerous, as it provides a way to edit out commercials cleanly or shift their attention to other programming, it won't come from the existing media world at least :)
<TCharron> SSHH.. JER!! The RIAA will here you!!!
* TCharron snickers..
<x-virge> TCharron means 'hear', I'm sure ;)
<lcModerator> What relationship do jabber's generic xml router facilities bear to Microsoft .NET, .GNU and Ximian Mono's XML Remote Procedure call System? Has there been any collaboration with these parties to work on a unified xml transport protocol?
<jer> it's hard to have a unified transport without unified identity of what/who is transporting
<TCharron> There has been a large interest from my understanding on the .GNU front on using Jabber as an XML communications medium..
<opie> (re, previous question) with Jabber, licensing isn't necessarily an issue. so someone wanting to come along with an internet appliance wanting to implement an IM solution would easily be able to include built-in jabber support, without getting contracts with AOL, MSN, etc... as more people realize this I believe we'll see more widespread integration of JAbber
<x-virge> I wasn't aware ximian was going to go into the other areas of .NET, I thought from the Mono FAQ that they were sticking to the CLR, C# compiler and classes for now
* TCharron actually went searching when the moderator said that.. 8-P
<lcModerator> Seems to me (CLM) Jabber can also be used as a way of storing DTDs that people create for specific activies.. gaming, communities, and other new and creative ways to manage information.. are there plans for making some sort of "subscription" to DTDs such that clients can evolve in potentially real-time based on changing needs/prefernces of various groups of people?
<jer> so, the important first step is on the identity/authorization front, moving xml isn't hard, you can do it with Jabber, HTTP, whatever, but identifying and trusting who is doing the moving is an important part of it all
<jer> yes, there's always been the possibility that your jabber id "jer@jabber.org" can store any xml in any namespace, like a personal web server, and presence/notification systems can be built ontop of that for many apps
<x-virge> If by "DTD" you mean "XML Schema" ;)
<lcModerator> Do you feel there is a severe lack of decent clients that hardly challenge the current offerings by AOL/Yahoo/MSN and what's being done about that?
<jer> on the .net Q: it'll likely be some integration of mono, .gnu, jabber, and other projects which provide a comparable suite of tools and services to .net, passport, and hailstorm
<x-virge> but in reality, the client has to understand the XML *somewhere* - so if you somehow had one with evolving features, it would be possible... you could query for a schema as easily as contact information (vCard-XML)
<TCharron> I feel that many of the current clients lack the nontechnical end user capabilities that those clients offer. This could be becouse we're providing the systems, and not the clients, to 'entertain' our end user..
<lcModerator> Do you see systems like Jabber spell the end of e-mail with offline messages?
<reatmon> Jabber clients are by design, supposed to be simple, with all of the hard work being done on the server.
<temas> I've often felt that many of the clients are lacking, but then I use some of the other large system clients and become disgusted by their inconsitancies and heavy reliance on web pages. Many of them end up not being that cool.
<temas> email will always have a place
<boatpants> I think that Gabber's an excellent client, but I am not such a fan of most of the Windows clients.. Jabbernaut and JabberFoX for the flavors of MacOS seem nice. I think it's an issue with usability in a lot of the clients as well as the stability of different transports and some of the servers.
<TCharron> IM and email overlap, and are simular, but are not the same..
<lcModerator> (carrying on from the lack of decent clients...): But you are only going to gain user acceptance and demand (for servers/services) based on the quality and functionality of existing clients...
<temas> but I can see integration of jabber and email so that they can work together
<temas> like IMAP interfaces for jabber
<temas> (hinting at projects that are happening now)
<TCharron> And the smtp-transport..
<temas> On the client note, I've been seeing some real strong development on new clients that looks ver promising.
<opie> e-mail will never go away, it will definitely always have it's place. IM is real-time, but try discussing something with people around the world... Not to say that IM couldn't fill this role, IM is "Instant Messaging" not "Send Instantly, Store, Respond"
<TCharron> I'm not sure we have been out there to 'compete' for end user acceptance..
<TCharron> This more then likely overlaps with what was said earlier about focus..
<temas> and more corporations are starting to release their clients, we'll probably be seeing a surge of good clients (bells and whistles) shortly
<jer> well, hopefully the business demand on jabber will in return highlight the need for really-simple really-solid end-user clients
<jer> and if we can force the larger services w/ the slick integrated clients to truly open their networks at the server level,
<lcModerator> What do you say to the concept of there being a single "communications portal" interface into which offline, nearline, and realtime communications that are one-to-one and one-to-many go? I.e., a single unified interface...
<lcModerator> ...for web publishing, IMs, email, and message boards?
<jer> then you can use those clients openly as well
<jer> mozilla is sort of heading in that direction, no?
<jer> I'm not sure you could ever put it all in one combined interface, but if all the systems start sharing more data formats it'll be easier to at least cross the boundaries
<lcModerator> Will there be a Jabber component for Mozilla?
<opie> there already is
<jer> there is already, jabberzilla.mozdev.org
<opie> it's quite spiffy
<temas> I think the newer jabberzilla is making it so there is more of a hookable component for mozilla
<opie> yes, there is now JabberXM
<lcModerator> The future of Jabber, I think (CLM) , really heavily depends on mass adoption efforts of currently available IM services such as AOL.. if AOL continues to successfully block those who are running AIM-Transports, then that could seriously thwart the advancement of Jabber on all fronts (not to mention, bad press)... how can this be resolved asap such that this will place Jabber at the forefront of leading web communications?
<jer> it has a back-end component, JabberXM, which allows you to build any jabber/xml functionality into moz anywhere
<jer> it might ship w/ moz 1.0, if we can figure out who to talk to to get it in and aol-imposed politics don't put a stop to it :)
<reatmon> that's a hard question to answer. this has been discussed a lot in the jdev conference channel.
<reatmon> the problem is that to put Jabber in the front, means that the others are behind.
<reatmon> and they don't want that.
<jer> well, what we do have going for us is the fact that every other company and business out there is realizing that aol/microsoft are effectively blocking them from using IM
<reatmon> I think the best plan is to get all of your friend to use Jabber, and so on, and so forth.
<jer> and they are starting to realize their frustrations by supporting open projects and standardization efforts
<reatmon> once you have Jabber at work, and home, and all your friends have it...
<opie> the aim transport is only there for you to message those people on aol to tell them to switch to Jabber =]
<jer> that's probably why they work so hard to block it :)
<TCharron> The other issue we need to be carefull is the image that we take if we actively try to *force* into the AIM network. I think not having a reliable connection, but AIM releasing press releases saying that Jabber develers are 'Hacking' their systems (Well, their PR guys would obviously put it that way), it'd be really bad view for the general public to have..
<reatmon> hehe
<boatpants> I think the reason that people use AIM, or ICQ, or what have you is that their friends are on the system.. they don't care about the technology or tactics behind the client, just about the ability to converse. More end users need to use Jabber for more people to switch to it.
<TCharron> Hrm, that just didn;t get typed correctly..
<reatmon> neither did that.
<TCharron> I think not having a relaible AIM or ICQ connection is bad, but not as bad as what I said above..
* reatmon ducks
<opie> boatpants: the client plays into that a bit, most people I talk to say they "like the sounds, and the smily faces and the colors!"
<reatmon> true.
<Wintersun> Okay, that's all of the questions that we've got. I'd really like to thank all of the Jabber folk for coming out today and talking with us. I'd also like to thank the audience for the great questions!
<boatpants> opie: I think the client plays into it a bit as well, but if you're the only person you know online to talk to with a fancy schmancy client, you'll do with a bit more rudimentary one to obtain your goal: to converse with other people
<TCharron> ROTFL boatpants...
<jer> people should be able to choose any software they want to communicate, from any system, even using any protocol
<opie> boatpants: or convince their friends to switch to the client they like best, which in my case it's always AIM
<opie> jer is right
<TCharron> Aka, Global Domination, from the bottom.. 8-P
<opie> I'd hate to have to use MS Outlook if my friends were using MS Outlook for their e-mail
<reatmon> that's what I like about jabber... multiple clients to choose from.
<Wintersun> If you would like to stick around and discuss, we'd love for you to. I'll be unmoderating the channel in just a moment.
<jer> the more Jabber can facilitate that, and the more people and businessess out there that promote that idea, hopefully it'll sink into the likes of AOL and MS
<temas> it's been fun all
<TCharron> That is a point, many people package the entire Jabber system up, but part of it is to serve as the SMTP of IM..
<temas> but I have a wedding in a few days
<TCharron> Another is to route XML..
<reatmon> hehe
<temas> so I really have to do other stuff
<temas> =)
Python creator, Guido van Rossum took time to come talk to us about his creating a new language. He talked about his reasons for creating Python as well as where he saw the language going in the future. He even compared Python to other languages and discussed its strenths and weaknesses. If you missed the event, then here's the log to catch the inside scoop about Python.


<Wintersun> I noticed, thanks. :)
<gvanrossum> OK, send those questions to LcModerator!
<Wintersun> How about we go ahead and wait about 5 minutes before starting the event? Give people a few more minutes to join.
<gvanrossum> Anybody here who flamed me recently on c.l.py? :-)
<gvanrossum> Sure.
<LcModerator> if guests want they can /msg me questions now and I will just ask them once we start
<LcModerator> Duffy that is not up to us unfortunatly thats up to the sys admins of OPN as to it being a wallop or global
<Wintersun> Okay, let's go ahead and get this event started
<Wintersun> First of all, I'd really like to thank everyone for coming out today
<LcModerator> all set
<gvanrossum> Hi there!
<Wintersun> I'd also like to thank Guido van Rossum for taking some time from the O'Reilly Convention to be with us today. :)
<gvanrossum> Actually, due to a medical emergency I'm at home.
<Wintersun> We still appreciate you talking with us.
<gvanrossum> You're welcome. It's more relaxed here than it San Diego, I'm sure. :)
<Wintersun> Guido, would you like to start by saying something about Python and what you've been up to lately?
<Wintersun> And, in the meantime, please /msg any questions you have to LcModerator
<Wintersun> Thanks!
<gvanrossum> I would hope everybody here knows Python, at least by reputation: an object-oriented scripting language with a very clean syntax and a large standard library...
<gvanrossum> Python has been around for 11 years by now...
<gvanrossum> What I've been up to: released Python 2.2a1 and defended PEP 238, a proposal for a change to the division operator...
<gvanrossum> It turned out to be, eh, "divisive" in the community. But I think we've worked out a solution.
<LcModerator> What inspired you to create Python, was it because other languages lacked what you wished to do
<gvanrossum> (over)
<gvanrossum> While I'm waiting for followup questions, I'll give a brief overview of what's new in 2.2
<gvanrossum> - nested scopes are now standard
<gvanrossum> - iterators and generators
<gvanrossum> - type/class unification (e.g. subclass dictionary!)
<gvanrossum> - UCS-4 support (config time option)
<gvanrossum> - xmlrpclib standard module
<gvanrossum> - IP v6 support (config time option if platform kernel supports it)
<LcModerator> gvanrossum: we just have some server lag is all so takes a second for the ?'s to appear
<LcModerator> What inspired you to create Python, was it because other languages lacked what you wished to do?
<gvanrossum> Definitely. This was 11 years ago and I needed a scripting language to run on an experimental distributed OS that was very different from Unix, so porting existing Unix languages like sh, Perl, Tck was not an option.
<LcModerator> <Skatters> Is Python a better beginner language than Perl?
<gvanrossum> The other motivation was that I had experience in language design and implementation: in 83-86 I worked on the ABC team, a language for education that greatly influenced Python.
<gvanrossum> Skatters: Python is definitely better for beginners. There are fewer rules to learn and fewer surprising effects.
<LcModerator> <X86BSD> Why did you spend so much effort and go so far out of your way to appease the FSF to be "GPL compliant" with the Python License?
<gvanrossum> There are also several beginners tutorials and at least one textbook...
<gvanrossum> See http://www.python.org/doc/Intros.html
<gvanrossum> X86BSD: because the *original* Python license (up to 1.5.2) was GPL compliant and many users regretted the change. Also e.g. the Debian folks really wanted GPL compliance back.
<LcModerator> <eAndroid> Guido, I tried to get this asked on your /. interview but was largely ignored: how (and why) do you deal with flames so well?
<gvanrossum> eAndroid: good question (and thanks!). I don't always deal so well, but I've learned over the years that for every flamer there's also someone who respect me, and that puts it in perspective. I used to be a real usenet nerd myself in the early 90s.
<LcModerator> <radix> have you heard of Twisted? Did you know that TwistedMatrix Laboratories is the only feared enemy of the PSU?
<gvanrossum> Maybe also it's just in my nature, and if I hadn't dealt with flames well Python wouldn't have made it to where it is now. :)
<gvanrossum> radix: I've heard of Twisted and even downloaded his code once, but I couldn't understand one bit of it. Twisted, if you're here, sorry, but that's a fact.
<gvanrossum> The PSU, of course, doesn't exist.
<LcModerator> <Mike_L> Guido, do you have any plans to strengthen Python's sandbox capabilities?
<gvanrossum> Mike_L: not really. 6 years ago I was all excited about restricted execution, and created the rexec module, but it hasn't proved to be an important application area, so far.
<gvanrossum> Let me take that back...
<gvanrossum> In Zope, sandboxed execution is very important, but they have taken a different approach. They analyze the source code (or the bytecode, depending on which version)...
<gvanrossum> and insert security assertions in the code that gets executed. This is a very different approach than rexec, and possibly safer...
<gvanrossum> Certainly more flexible in the security policies that can be implemented, and that is very important for Zope (not ever Zope user has the same permissions).
<LcModerator> So all guests are aware I have a ton of ?'s so if yours is not posted right away I do them in order if not already asked. Also many of you have multiple ?'s so will take a bit of time for them to appear
<LcModerator> <snibril> guido, when will you stop calling python a scripting language? ;)
<gvanrossum> snibril: as soon as the users stop doing so. It's much more than that, but many people understand it better if we describe it as a scripting language. :)
<LcModerator> <banned-it> for people who don't know much about python where could they get documentation to learn about it
<gvanrossum> banned-it: http://www.python.org/doc/.
<LcModerator> Guido: What do you think about .NET and the common bytecode language? Do you see Python outputting this type of bytecode? I dream of the day that Ruby, Perl and Python could use each other's modules, something that perhaps would be possible with a common bytecode :)
<gvanrossum> Go to the Introductions link, there are lots of tutorials there.
<gvanrossum> I don't expect that all computers of the world (or even most) will be using .NET...
<gvanrossum> I've seen too many companies attempt to come up with the ultimate language/runtime/operating system to end all debates over which language/runtime/OS you should choose, and all they end up doing is adding one more choice to the list.
<gvanrossum> (more)
<gvanrossum> On the other hand, Python already runs on .NET, and I think some limited form of cross-language component invocation is already possible...
<gvanrossum> But I don't know much about that, the work is all done at ActiveState.
<LcModerator> does python support parallel programming, and if so, how well, and comparasions with perl on this would be nice:)
<gvanrossum> I don't know anything about Perl parallel programming...
<gvanrossum> Python supports multiple operating system threads pretty well...
<gvanrossum> There are also folks who use Python on massively parallel machines...
<gvanrossum> Python's thread model is somewhat similar to Java's, but you must manipulate your own locks (there's no "synchronized" keyword).
<LcModerator> <zilch> I know you're a big fan of the tkinter module, but what do you think about the bindings for other UI Toolkits like PyGTK, PyQT, WxWindows?
<gvanrossum> zilch: I'm a big fan of wxPython too, and appreciate PyGTK and PyQT. Basically, they all serve different purposes, e.g. their portability is different and the supported widget sets differ. Tkinter is simply the oldest and in a sense a baseline...
<gvanrossum> Also, Tkinter's text and canvas widgets are unsurpassed.
<LcModerator> <runyaga> What are ExtensionClasses and when will they go away?
<gvanrossum> runyaga: ExtensionClasses are a very neat hack by Jim Fulton; they use a loophole in the class statement to allow a third party extension to define its own class implementation...
<gvanrossum> I expect I will support them for one or two revisions yet, but they are made redundant by the type/class unification in Python 2.2, which makes subclassable extension types a standard part of the language. I encourage everybody who is using ExtensionClasses now to look into converting to the new mechanisms in 2.2.
<LcModerator> <datagrok> can you suggest any specific reading material (books, code, etc,) for those who wish to become python masters? How did you build your own skills as a programmer?
<gvanrossum> datagrok: for books, see the python bookstore at http://www.python.org/psa/bookstore/ ...
<LcModerator> <JALH> I don't like the face that python depends so much on white-space, why not use {} like everyone else?
<LcModerator> <JALH> guido, have you still got that afro?
<gvanrossum> It is also a good idea to study the source code of the standard library. It has lots of examples of well-written code (some even by me :-) from which you can learn...
<LcModerator> sorry about that guido mouse went wonkey on me
<gvanrossum> My own skills were developed doing it for over 25 years.
<gvanrossum> JAHL: Sorry, we disagree on esthetics. There's not much you can do about that. I find whitespace creates more readable code than {}.
<gvanrossum> What afro?
<LcModerator> <Kilroy> What from ABC did you use in the design of python?
<LcModerator> <Kilroy> Are ther any more functional programming concepts that you would consider including in python - for example haskell pattern matching for functions?
<gvanrossum> Kilroy: indentation and the colon; the desire for a small number of statements; the desire for a small number of powerful datatypes; the dictionary type; long ints; the 'in' operator; and even the `...` notation. Probably more.
<gvanrossum> Kilroy<2>: no, I think Python should not develop more functional features, and the ones that are already there were a mistake.
<gvanrossum> E.g. lambda, map, filter, reduce mostly create hard-to-read code. List comprehensions are much etter.
<gvanrossum> s/etter/better/
<LcModerator> <Acapnotic> How does the weather look for Interfaces in Python? Can we expect a more reliable way to ask "is this a file-like object" than checking for attribute names?
<gvanrossum> Acapnotic: not in 2.2, but I think thereafter I'll give it a try. I am not very much in favor of the Interfaces PEP (245). The notation there looks very unPythonic to me...
<gvanrossum> Maybe I'll develop a class hierarchy that can be used to answer these questions; but Jim Fulton (Zope's architect) thinks that classes represent only implementation and should not be used to represent interfaces. The discussion is still open.
<LcModerator> 2 part ? coming up Guido as they are somewhat related if you don't mind
<LcModerator> where do you see Python in two years from now, as far as language features and performance?
<LcModerator> <jwr_> What are your future plans for Python? Are there any major features you would like to introduce to the core language?
<gvanrossum> Strangely enough, 2 years is beyond my horizon!...
<gvanrossum> I expect we'll be in the middle of the design for Python 3.0, and may even have alpha or beta releases out, but 2.x will be what most people still use...
<gvanrossum> In and after 2.2 I want to work on performance, but since that's not the area where I excel most, I will need help...
<gvanrossum> Re features, I think I'll try to stabilize the language, and concentrate on finishing the type/class unification work...
<gvanrossum> Oh, we'll be working on a unified numeric model (PEP 228) plus possibly the introduction of rationals (PEP 239/240)...
<gvanrossum> Does everybody know where to find PEPs? http://www.python.org/peps/.
<LcModerator> <Skatters> Is python available for Mac OS X?
<gvanrossum> Skatters: it certainly is. I think the MacPython page has it. It also builds from source there in the Unix environment (so I've herd).
<LcModerator> will the global interpreter lock go away? in future releases or do you think it is required and must stay
<gvanrossum> Removing the global interpreter lock would mean making every data structure and data type thread-safe. This probably means adding a lock to each object, which will probably SLOW THINGS DOWN. If you have a multiprocessor, FORK a Python process for each processor. Note that on a single CPU, multiple threads run nicely interleaved because the global lock is released every 10 byte code ops.
<LcModerator> <chillywilly> Have all GPL issues been resoved?
<gvanrossum> (The slowing down is not a hypothesis -- Greg Stein did this for Python 1.4 or 1.5, and it was about 50% slower.)
<gvanrossum> chillywilly: yes, all GPL issues have been resolved. Python 2.0.1, 2.1.1 and 2.2 are all GPL-compatible. (Note: it's not released under the GPL itself -- it just allow combining with GPL-licensed software.)
<LcModerator> <jmd> what main area(s) do you think python could be the most beneficial, but hasn't yet really caught on, or perl is the more popular choice? Web CGIs, GUI apps, scientific work, learning tool...
<LcModerator> and do you know PERL at all
<gvanrossum> I don't know much Perl (I can recognize it but usually I can't read it and I certainly can't write it)...
<gvanrossum> I think for scientific work and learning, Python is already more popular.
<LcModerator> <dalf2> Do you think that a decent Python compiler will be done, or do you think there are intrisic limitations ?
<gvanrossum> Python is better for larger applications -- I cannot imagine writing something as complicated as Zope in Perl. Look at Mailman vs. Majordomo (now almost dead).
<gvanrossum> dalf2: I am optimistic that eventually someone will come up with a decent way to compile Python into C...
<gvanrossum> Recently someone posted an early prototype that already got impressive results with little effort...
<gvanrossum> But it will be a massive task.
<LcModerator> <VaiX> - What type of unicode support is currently available - is it stable?
<gvanrossum> VaiX: yes, Unicode support is stable, in the sense that the released code is as bugfree as you can ask for. It is supported since 2.0. In 2.2 we will add UCS-4 support as a compile-time option, and some new codec APIs, but old code will continue to work.
<LcModerator> <mkm> do you see Python ever becoming more proficient in the use of low level programming as far as the kernel/hardware level?
<gvanrossum> mkm: no, I don't think Python needs to compete for that niche.
<LcModerator> Are there existing XML libs/tools/interfaces for python?
<gvanrossum> XML: YES! Python 2.0 and later have XML parsers and a DOM implementation, and there's a XML-SIG that maintains a superset of that code as an add-on. See http://www.python.org/sigs/xml-sig/
<LcModerator> <Mike_L> Guido, have you tested Stackless Python? Do you intend to add continuations or other threading alternatives to Python?
<gvanrossum> Mike_L: I have played briefly with Stackless. It has a touch of genius but the code is brittle. I have never been able to understand a single piece of code that used continuations, so they are not in my plans for the future; however, I like coroutines...
<gvanrossum> In 2.2 we will have generators, which do 80% of what coroutines can do (limited to a single stack frame, which is a it of a limitation, but also avoids many of the restrictions in Stackless).
<LcModerator> <Erwin> Do you see more static typechecking ever appearing in a future Python version? I know that attempts have been underway for several years now without any seeming results. How about implied types, a la ML, where the compiler detects the type of expressoin based on what types you use in it?
<gvanrossum> I'm ambivalent about static typechecking, unless we get some academics interested. Tye type-sig has had so many false starts that I don't have high hopes any more. Implied types are different than what Python currently uses; I know very little about ML but I seem to recall that it is so mathematically oriented that it requires an IQ of about 150 to be able to use successfully. I'm not going after that niche. :)
<LcModerator> <hineste> Are there any plans for the future concerning garbage collection in python (e.g. going from the reference counting scheme to mark/sweep)?
<gvanrossum> hineste: as of Python 2.0, we have GC *in addition* to reference counting. It works really well.
<LcModerator> <Rainy-Day> are you thinking about splitting python with radical newbie-friendly features like case insensitivity and stuff like that?
<LcModerator> as in a newbie-friendly branch
<gvanrossum> Rainy-Day: no, that would be a mistake. It's better to have a special IDE for newbies, but the underlying language should be the same...
<gvanrossum> Eventually a newbie becomes an expert, and it would be annoying to have to learn different rules. Also it would be condescending to learn a dumbed-down language. Special tools are more like training wheels: you can get rid of them when you're ready.
<LcModerator> <datagrok> you stated earlier that lambda, map, filter, reduce mostly create hard-to-read code. Can you give a pseudocode example of your preferred replacement for, say, for (ite