Documents Project
The Documents Project, formerly known as Doco-Com, is responsible for creating and maintaining useful resource documentation for the Undernet community. Both new and experienced IRC users will find information here on everything from downloading an IRC client to explanation of the various protocols.
Posted on 25th Apr 2021 21:44:31 in Historical Docs
Interview with Carlo Wood
Website authors are allowed to excerpt from this log if it is in a purely educational manner for representation of Internet features or Internet Relay Chat information. Website authors are allowed to link to this page as long as credit is given to the Undernet User Committee and is also used in a purely educational manner.
Question: Welcome to the Undernet Public Relations Committee's Live Events Interview Auditorium.
Question: We have a special guest tonight, Carlo Wood. Carlo is known as Run on IRC and he is also known for directing the Undernet enhancements to the server protocol we all use here on IRC.
Question: Carlo has been kind enough to take this time out of his busy schedule to be with us tonight.
Question: As most of you already know, the Undernet Public Relations Interview Staff sent out many invitations for users to send in their questions to be asked during the interview.
Question: The best and most appealing 20 questions have been selected carefully by the staff. We will ask one question, wait for an answer from Carlo, and then proceed with the next.
Question: We will now begin the interview session. Sit back, relax, and get ready for an exciting hour.
Question: Ok, let's start the interview session.
Question: 1. When did you realize you wanted to help develop the Undernet IRC protocol? -- Sheex
Carlo: Actually, I didn't realize I wanted to help, but I started to develop it by my self :).
Carlo: There is however quite a nice story behind the WHY of my efforts to make IRC a safer place (this answer - to the first question - is probably going to be the longest answer of all ;).
* Run sits fatherly in a Big Comfortable Easy-Chair next to the open fire, to tell a long story ;)
Carlo: My chat history has started on a BBS.
Carlo: A special one though, since it was one on the internet.
Carlo: There I did meet a group of dutch hackers called the "Timewasters", some of which were (are) truely Linguistic Ninja's -
Carlo: the chatting level, compared to the normal chat, was as high as Socrates' debates compared to the average hardrock-song-content, and could be easily seen as a the verbal equivalent of a Chess Grand Master entangled in a Catch-As-Catch-Can Wrestling Game.
Carlo: One of these guys - who turned out to be the IRC Admin of the Dutch efnet server at the time - became my friend and talked me into going to IRC. (He even had to install the IRC client for me because I had no clue how to do that ;).
Carlo: This was 7 years ago. Soon I started my own channel, called #gayteen, on efnet together with another (american) 13 y/o. And we took turns in keeping the channel open and making visiters feel comfortable until we had a regular and friendly group of teenage boys. Note it took us MONTHS of HARD WORK to get this channel alive!
Carlo: The motivation for this was that its hard to be a teenager and gay, especially in todays world were it is hard to find a role-model in the media that you can compare with - without getting confronted with an in lether dressed, high pitch voiced, female comedian - or a suicidal disaster :).
Carlo: So - the aim was to show that gay teenagers were exactly like other boys; also like pop music & skating and hate school.
Carlo: We only had two rules, one of which was that people older then 19 couldn't get ops.
Carlo: Now this collided with the ideas of some IRC-op on efnet back then, and we started to be terrorized and attacked where even the use of KILL wasn't eshuwed.
Carlo: This was for me the moment to learn C (in 3 weeks) and write a WarBot program (in 400 almost contiguous hours) as Never Have Been Seen Again, to defend the channel.
Carlo: I am still proud to tell you about this time that my Multi-Connection WarBot program (with 4 bots on the channel and 5 outside it) became the KILL target of no less then 5 on-line IRC-opers but managed to keep their channel ops for 300 KILL's on a row before a program bug made them bite the dust :).
Carlo: In the meantime my efnet Admin friend had given me CN lines (a server connection to play with) and I started to study the server-server protocol (Later I became his successor in admining the efnet server itself).
Carlo: (To give an idea; my warbots simulated the server internals in order to know which link would be read next - so a JOIN and the corresponding opping MODE could be sent simultaneously, instead of having to wait a few milliseconds for the feedback from the server :).
Carlo: After many wars on my channel I had both, become the Ultimate IRC War Tactics Expert as well as come to the conclusion that it was impossible to defend a channel satisfactory due to protocol flaws in the server-server protocol itself.
Carlo: I started to improve the server-server protocol in order to be safe myself, on my own channel - to be able to chat about any topic, even when others dislike that.
Carlo: And ever since, I never had time to chat myself anymore on that channel ;) :/
Question: 2. Where do you come up with the ideas for an enhancement for IRC like the SILENCE command? -- David-R
Carlo: When you work on something dedicated, from when you get up till you step into bed - you dream about it. And it has been mostly when I woke up that I have gotten the most bright ideas. So I guess the answer is: In my dreams :).
Carlo: Now the SILENCE command did strike even myself as a pretty brilliant so lution if I may say so ;) giving the solution to a problem that had existed for 10 years: Make the problem of being flooded the problem of the one that is BEING flooded - give him/her the means to do something about it.
Carlo: Afterwards it looks very trivial :).
Question: ok, let's give Carlo Wood is a break and ask a short question...
Question: 3. Is there ever going to be a -binary- IRC protocol? -- MadCat
Carlo: Yes. Although I am not sure if it still will be called IRC, nor do I know what all else will be possible next to just chatting :).
Question: 4. When you started coding, would it have been easier to start IRC over from scratch instead of make mass-enhancements to it? -- Appleton
Carlo: Yes and no. It would have been easier from the coding point of view, and a definate no when it comes to keeping backwards compatibility with the existing net.work - and thus your client base. A total new design will have as largest problem to get a client base.
Carlo: My first addition - the so called TimeStamp (TS), or channel creation time, was REFUSED by the ircd maintainers of efnet when I offered it to them - because I was a nobody. I don't think I'd ever have managed to get a total new design to be accepted anywhere, also not on the Undernet.
Carlo: Hmmm, there is a nice story related to this... As you know - efnet finally did adapt the idea of a channel creation time.
Carlo: Although the guy that wrote it looked at and learned from the Undernet code - it's still not a trivial thing.
Carlo: Totally seperate from this - I once made a puzzle that nobody ever has been able to solve - not even after publication in the national Mensa magazine.
Carlo: After having tried it on at least 50 intelligent people I published it in rec.puzzles ... and got ONE correct answer. I wonder if its a coincidence that the guy that solved it was the same guy that designed the TS protocol for efnet :)
Question: yes, I do realize most of the /info responses on networks such as chatnet and galaxynet say your name, so apparently they also use Undernet code.
Question: now time for a difficult question...
Question: 5. What makes the Undernet stand out when compared to other IRC networks in terms of server software? -- Sheex
Carlo: That's a difficult question...
Carlo: I do not keep up to date anymore with efnet's code - (and as far as I know other nets use either efnet's or Undernets code).
Carlo: I could say that the server software stands out in anti-admin-hacking-detection-code, which means that I tried to make sure that it is next to impossible to take over a channel EVEN when you are the server admin with direct access to the server-server protocol.
Carlo: Of course the Opers have Uworld - and are able to "takeover" channels, but that is always logged - and walloped - and therefore becomes a political problem which is out of my hands.
Carlo: However, I need to say that at least as important is the fact that Undernet has a pretty good organisation and abuse by its Opers and Admins will be *minimal* considering its size.
Carlo: Note that since the brand new release of server version 2.10 I think (again) that taking over channels will become impossible - and as far as I know, it's already damn hard to do on the current net with 2.9 anyway.
Question: great!
Question: 6. Do you ever connect to the EFnet or FUNET to discuss IRC code with the "pioneers" of IRC? -- David-R
Carlo: No.
Question: very elaborate :)
Question: alrightly... with that in mind, let's move on to the next question...
Question: 7. What are your thoughts about other communication protocols like Conference Room compared to IRC? -- Appleton
Carlo: These are 100% commercial. The company behind it is only interested in money and tries hard to get money out of chatting.
Carlo: I think that client incompatibility (while saying the opposite) is their key trick:
Carlo: Add a few "features" to their clients that only work with their commercial servers.
Carlo: Those features will however be restricted to some colors and icons - and no attention will be paid to in depth server protocol optimalisation like undernet is doing,
Carlo: trying to give the user real substantial comfort in the sense of safe channels and lag free links.
Question: 8. Have you or do you think you will pursue a career of commercial coding for software developers? -- Appleton
Carlo: I did indeed get offered a job because of the work I did for Undernet. (I also accepted the job ;). It's not precisely what I like though, I'd much rather stay involved with chat-applications, UNIX and C++.
Question: 9. Are there any plans to improve the layout of the network? -- RuneStar
Carlo: I am not sure what you mean with "layout"... We are constantly working on improvements, though its hard to keep up with the current growth of internet and the number of IRC users.
Carlo: There is however a new mailing list that discusses a future chat system which would basically be scalable up to over a million on-line users. The question is if it will ever be implemented though because such mailing-lists have existed for years already ;)
Question: yes, which is going pretty slow... :)
Question: 10. What is the motivating force behind your continuous work on the server code? -- Cpw
Carlo: I don't have life.
Carlo: No that's very seriously, and sad. If I'd answer this question correcly I'd have to go into personal details that I'd rather not.
Carlo: On the other hand - everyone here who is regulary on IRC doesn't have a life :), so maybe you want to know why I am coding and instead of chatting :).
Carlo: I think because it gives me satisfaction to have adchieved something, because I am a perfectionist that can't help it to fix something when it's broken.
Question: let's get a little history lesson here...
Question: 11. How far has the protocol come, in your opinion, since Jarkko's original version? How much more work do you envision it needing before it is perfected? -- Cpw
Carlo: There have been ENORMOUS number of changes NOT visible to clients.
Carlo: As Jarkko said in his interview: He had in mind about 100 simultaneous users.
Carlo: The efnet code that Undernet was based on worked till about 4000 users before it started to oscilate due to servers breaking off and reconnecting due to other servers connecting - the lag grew exponential.
Carlo: With 20000 user currently we are over the top again however and there isn't much room left. Unfortunately you will get to see more and more often "No more connections", when the number of users grows - because the Undernet can't take more clients without keeping the lag within reason.
Question: ok...
Question: away from coding now, here's a question about chatting
Question: 12. Do you ever spend time on IRC chatting with friends, or are you dedicated to continuous work? -- David-R
Carlo: I hardly ever chat anymore in the past years.
Question: Oh... another great donation by this guy :)
Carlo: That is caused on one hand because there is always mail to read or coding to do;
Carlo: but on the other hand also because it started to bore me.
Carlo: The average level of chatting has degraded enormously ("What's up", "Where r u from" and "Where do you live" make me throw up by now).
Carlo: I think that the true fun part of IRC is making true friends: Sticking on a channel no matter what and getting to KNOW the people there.
Carlo: I've been through that in my early times - and nothing will be able ever to beat the feelings of love and friendship that I had in my first few years on #gayteen, again - But now I simply don't have THAT much time to spend on chatting anymore...
Carlo: Besides, it makes a difference now that I am an IRC-God (and IRC-Oper), it's hard for me to believe friendship and I have found out more then once that what I thought was friendship was in fact fear :(.
Carlo: The only true friends I can have I think are the other IRC-Opers - and boy are they BORING (have you ever seen *wibble* their wallops?) ;) (j/k).
Question: I wonder what this guy was thinking when he asked this next question (j/k) [Sorry DrSprite!] :)
Question: 13. What are some big improvements from the 2.9 code to the 2.10 code? -- DrSprite
Carlo: The most important change is the introduction of the BURST message.
Carlo: The result of this is that after a net.junction occurs - the users from the other side of the net seem to join and get opped all in an instant together with the total resynchronisation of the channel (all modes, de-ops, bans etc), instantly thus.
Carlo: This mean that net.riders will have no time to do ANYthing: they first get de-opped, and when they are done blinking with their eyes the whole channel is resycned.
Carlo: Another HUGE change is the introduction of base64 numeric nicks, which do take care of 7 different known ways to desync the net in a combination with nick changes and allowed to fix three ways to create ghosts. As I said before, the NORMAL chat-guy/girl will never notice the difference, except that it seems as if there as less abusers on the net.
Carlo: I made an overview of all changes on a webpage, which I will give at the end of this interview.
Question: 14. What improvements do you think will come AFTER the u2.10 upgrade? -- David-R
Carlo: Personally - but I am heavily dependant on the internal politics of the huge UnderNet organisation - I think we need a solution for the problem of opless channels.
Carlo: It's ridiculous that people are depended on IRC Opers now to get back ops. Taking over channels has already become mostly social engineering and nuking already. Though both have to be dealt with.
Carlo: One thing I am thinking about is to builtin a channel-op hierarchy, where people that joined later can't de-op people that joined earlier. Then on an opless channel the guy that was on the channel for the longest time would have rightfull ops.
Carlo: And a little more technical (and server-internal):
Carlo: I'd like to see "priority queues" to be implemented, where certain messages get precedence over others and the available bandwidth is better devided.
Carlo: Also clients would get several priority queues, where for instance the retrieval of server queries (like the output of /LIST) would have a low priority while private messages would have a high priority.
Carlo: We could then reserve half of the bandwidth for server-server communication, and half of the bandwidth for server-client communication for instance.
Carlo: The ultimate result would be that the flood control becomes dependend on the available bandwidth in stead of fixed, like now.
Question: now everybody (well, almost everybody) uses X or W... let's ask a question about them...
Question: 15. What would the benefits be of changing to a ChanServ type Channel Service and how long would it take to implement? -- DrSeuss
Carlo: I understand you ask what would be the advantage of X/W being outside the channel (while still being able to do mode changes etc).
Carlo: Because X/W are umode +d, they do NOT receive public (channel) messages, these messages aren't even routed to them, just as if they would not BE on the channel.
Carlo: And because X/W are umode +k, they can't be kicked or deopped either.
Carlo: So the only extra advantage of keeping them off the channels would be that empty channels would disappear totally from memory and net.burst, and the nick of X/W would disappear from about 4000 channels in the net.burst.
Carlo: With version 2.10 of the servers that means a reduction of about 16 kb on the total net.burst, which is just a fraction of the total.
Carlo: I DO think however that X/W do load our net.work significantly, by means of the private messages they receive and sent in total. This is not related to them being in- or outside the channel though.
Question: time for another history lesson...
Question: 16. What do you think will become of the Undernet and/or the ircd code in a few years? With the recent multicast proposals, the push technology, commercialisation everywhere and ofcourse the recent CDA denial by the US govt. -- MadCat
Carlo: I think this will be for 100% depending on the Admins, the people that provide the means and equipment to run the servers on. I think that as long as the servers keep running, Undernet will have a client base and will be functional.
Carlo: UnderNet has politically died almost a few times already - and when you look at Europe... we are really short of servers in some crucial points (Swiss and Paris) (Europe wouldn't surfive loosing two servers - which is critical in my eyes).
Carlo: As for technological progress - we're at the head of it - I see no reason for that to change unless I will stop coding for Undernet ;) ;).
Question: Four questions left... let's see...
Question: 17. What do you think about the new proposed Microsoft communication medium similar to IRC? -- Appleton
Carlo: I think I answered that in question 7 already: They are telling nice stories without investing in the servers or server protocol (at least, I wasn't approached for a well paid job there yet (j/k) ;).
Question: Okie.. for all of you watching, scroll up to question 7 and read it again :)
Question: 18. What was it like doing the Undernet code and being the guru for this long? -- MadCat
Carlo: It certainly feels like having wasted my life.
Question: Ok.. let's go to question 19
Question: 19. What was your most famous achivement in your opinion? -- IslesFan
* Run waits for question 19 :)
Carlo: Heheh. Who am I to tell ? I could say the first introduction of TS (TimeStamps) which after 5 years also made it to efnet :).
Carlo: But maybe it was the fact that I did silently builtin a horrible, slow, untracable server death for when the servers would be used on *other* nets then Undernet... We were fighting for a user base at that time and I didn't like it that others used my code - wanted to have that advantage for Undernet alone, for which I had made it.
Carlo: And then a server on UnderNet itself started to do strange things, get slow, burp and died... and with sweat in my hands I recognized the symptoms...
Carlo: So then I had to tell the UnderNet community something they didn't know before ;).
Carlo: That did hurt my reputation of being trustworthy enormously somehow (an over reaction of course ;). Note that I refused to remove the trap - and that it took the other coders still three weeks to find it while knowing it was in there *grin*.
Question: ok, last question of the day
Question: 20. Who else did you gain motivation and inspiration from? -- Appleton
Carlo: Actually, apart from not being paid a single dime, I did got more blames and flames then were worth the taps on my shoulder.
Carlo: I kept an archive with all mails I ever received that thanked me somehow ;), its not big.
Carlo: But one person I want to especially name: Mandar Mirash, known as Mmmm on IRC.
Carlo: He joined UnderNet in it's early days and later turned out to excel in social skills and tact to bring people together and manage to let everyone work together.
Carlo: He has more then once saved the UnderNet from a sure death in the early years. Also motivated me to continue during hard times (when I got lots of flames).
Carlo: Note that we have not been the only ones to devote thousands of hours of free time the Undernet Dream; a lot of devoted people did, each in his or her own way; and I look up to them all: From the admin running his server since dawn till those that manage to surfive helping hunderds of newbies each day on the help channels.
Question: ok, thank you Run.
Question: This concludes the interview portion of this event. A log of this interview will be available via HelpBot, http://www.pr-com.undernet.org, and ftp.undernet.org tomorrow. Please direct all comments to interview@undernet.org.
Question: We will now open the channel up for a 10-minute question-and answer session from members of our audience.
Question: Run : What exactly do you do at your current job? Me as for im sure many others that try to keep up with coder-com@ mailinglist are pretty amazed with the work you put in here..how do you alos have the time??
Question: i watched undernet grow from 1200 users to its current base. will it ever be feasible to return to those "speedy" days or is it not possible with current protocols?
Carlo: PiCkLeS: I sometime join #Linux, #C++ and #mensa
Carlo: magician: Nobody is loosing his op cause of a net.split
Carlo: Karma: I think that we can live with it. Porn doesn't harm even because no money is involved.
Question: Carlo: spekter wants to know what type of education you have in coding.
Carlo: David-R: I have no education, I learned everything by myself
Carlo: In coding that is :)
Question: this is my question , does Run have any experience at coding in perl ?
Question: last question.. Q: how did Carlo turn to the nick Run? <-- I wondered the same.. is it from the BASIC language to execute a program?
Carlo: NightWolf: No, hardly - but from what I saw is perl only a handy unix tool for fast and powerfull scripting, not for programming irc servers :)
Carlo: cOS: When I was still a 13 y/o on #gayteen, I used the nick Runaway (from home). People kept on replying with: "
Carlo: blah blah", so finally I changed it to 'Run'
Question: Thank you for participating in our interview session. This concludes the interview with Carlo Wood.
Question: We thank him deeply for the time he has taken out of his busy schedule to be with us here this evening for this very special event.
Question: We'd like to thank the following people for making this possible: Bethie, Cpw, David-R, ExtraRed, Ferrago and WAVMaster.
Question: The Undernet Public Relations Committee continues in a striving effort to familiarize and educate the users of the Undernet Internet Relay Chat Network.
Question: The following people have made great contributions to the Undernet server protocol: CapVideo, Cym, Ensor, Ghostwolf, Kev, Nemesi, Niels, record, Restor, SeKs, Starfox, and Xorath.
Question: We hope you had a very entertaining and educational experience tonight. We will now unmoderate the channel for general comments and chat. Remember, all comments should be directed to interview@undernet.org. Thank you.
Question: Thanks to everyone, and have a good evening.
© 1997 Undernet User Committee