User: Password:
Subscribe / Log in / New account


Using Irssi to communicate within free software projects

June 26, 2007

This article was contributed by Joey Schulze

Many developers of Free Software projects discuss and coordinate issues of their projects via Internet Relay Chat (IRC). Intelligent tools like Irssi help maintain sanity during the conversation.

Due to the nature of Free Software projects, unorthodox means of communication are needed. For many projects it is not possible for a developer to just walk into the next office and discuss matters. Developers are often spread over the entire globe like grains of sand.

Communication via Mailing Lists

While the official communication channels often refer to public mailing lists that are archived on the web, members of many projects also enjoy real-time chats as well. Both means share their unique set of advantages and complement each other.

One advantage of mailing lists is their asynchronous nature, which means that there's no problem for Europeans, North Americans and Japanese to discuss the same topic, no matter in which timezone each member lives. Since there is no immediate need for members of a discussion to be awake during the same time it will often last a few days at least.

Another reason for preferring public mailing lists as main communication channel is the archiving function. The discussion and its outcome are automatically archived on the Internet. They can be re-read later and referred to. The archive also demonstrates development progress and documents design decisions and their origin.

It helps interested people understand how the project evolves and gives users many ideas when problem solutions are discussed. Thanks to a large number of commonly used search engines, such discussions are indexed quickly and are found by using proper search keywords.

Real-time Chat Systems

Even though mailing lists have advantages, chat systems are quite useful as well. If you want to check out something quickly with other developers, opening an online chat and talking to those present is a lot faster than waiting for mailing list responses. It's like opening the next office door and asking your colleague, except that they might live thousands of kilometers away.

A real-time chat is similar to a small chat in the office. Even though the general topic may be work, from time to time there will also be a personal component, especially when its members have become acquainted with each other. This also helps bonding developers to a healthier community.

IRC Networks

Several networks provide Internet Relay Chat (IRC). In the early days of Linux development, a new network was quickly established as the Linux network. In recent times, many projects run their main IRC channels on either Freenode or OFTC. Both networks have been founded to provide services for Free Software projects in particular, and even buddy up these days.

Many developers stay logged in during the entire work day even though they may be working on jobs other than their favorite open-source project. This way, they stay in touch with their colleagues and can seek help from like-minded people for their other job when needed.

Several IRC clients are available, some provide a graphical interface, some are text-based. However, many developers prefer one client: Irssi. It is a terminal-based client that can be run under the X window system or on a text-based console.

Irssi Windows and Scripts

One important feature of Irssi is that unlike the older client ircII, every channel (i.e. chat room) and every conversation is virtually moved into its own window. Conversations don't clutter the main screen and it becomes easier to keep track of different conversations at the same time. This feature enables asynchronous use as well, since you don't lose the context when your colleague responds on the following day.

When activity is recognized in a channel, its window number is highlighted in the status line so that you notice ongoing conversations. Windows can be rearranged with the /window move n command so that the most important ones get lower numbers. It is possible to jump directly to a window with Alt-[1..0] (and Alt-q ... Alt-o for windows 11 to 19).

Another advantage Irssi provides over many other clients is the Perl interface that is used to improve the client and adapt it to a user's special needs. It is possible to load and unload scripts manually with the /load command. Scripts are automatically loaded during startup when they are copied or linked to in the directory ~/.irssi/scripts/autorun.

Many user-contributed scripts for Irssi are available on the web::irssi::scripts page. The Debian distribution also provides a large number of scripts in the irssi-scripts package.

Long Topic Names

A special feature of the IRC networks mentioned above is support for topic names that are longer than 80 characters. The topic for a channel usually contains a short description of what is going on in the channel, i.e. the scope of the channel it is associated with. Irssi displays this on the top of the window. The information can also be displayed with the /topic and /list commands.

Longer channel topics have been implemented for a reason. They are no longer used only to carry a description of the channel's scope, they also serve as a pin board onto which the most recent and important news or problems are announced.

For developers it may be important to read the topic. However, a problem arises when somebody changes the topic, there is no easy way to recognize the difference when it is more than 300 characters long and you don't have the old version stored somewhere. Note that the client only displays the first line of the topic and this depends on the width of your terminal.

For text files the differences are easily visualized, so why not for long topic lines as well? The solution is the script When it is loaded each topic change is accompanied with a list of items that have been added or removed.

The script has been developed with a focus on development channels where the pipe symbol is treated as a delimiter of topic components. It will split the topic into components and report changes in them. If a component has only been moved within the topic, no difference is reported, of course.

By using a combination of mailing lists and realtime chat systems, it has become quite easy to stay in touch with project colleagues and watch development and discussions without losing sanity.

Comments (8 posted)

System Applications

Database Software

PostgreSQL Weekly News

The June 24, 2007 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

pgsnmpd 1.0 beta 1 announced

Version 1.0 beta 1 of pgsnmpd has been announced. Pgsnmpd is: "the SNMP(Simple Network Management Protocol) agent for PostgreSQL. It reports the health state of PostgreSQL with original MIB (Management Information Base)."

Comments (none posted)


Samba 3.0.25b available

Version 3.0.25b of Samba has been released. "This is the third production release of the Samba 3.0.25 code base and is the version that servers should be run for for all current bug fixes."

Full Story (comments: none)

Networking Tools

Release of iptables 1.3.8

Version 1.3.8 of iptables has been announced. "This release contains lots of accumulated bugfixes, manpage updates, and support for IPv6-MH, TCPMSS and port randomization for NAT."

Full Story (comments: none)


pkpgcounter 2.17 released

Version 2.17 of pkpgcounter has been announced, it features several bug fixes. "pkpgcounter is a generic Page Description Language parser which can either count the number of pages or compute the percent of ink coverage needed to print various types of documents."

Comments (none posted)


privbind 1.1 released

Version 1.1 of privbind has been announced. "Privbind is a small tool allowing secure running of unprivileged programs, but allowing them to bind to privileged (<1024) TCP/UDP ports. Privbind has a secure design, with no SUID executables and no daemons."

Comments (none posted)

Desktop Applications

Audio Applications

Amarok 1.4.6 released

Version 1.4.6 of the Amarok music player is out with an assortment of new features and bug fixes.

Comments (none posted)

Business Applications

The first release of Bots

The first release of Bots has been announced. "Bots EDI-connects your company with your trading partners. EDI is the exchange of electronic business data between companies. Bots takes care of all the needed communications, translations, protocols and standards."

Comments (none posted)

Desktop Environments

GARNOME 2.19.4 released

Version 2.19.4 of GARNOME, the bleeding-edge GNOME distribution, is out. "This release includes all of GNOME 2.19.4 plus a bunch of updates that were released after the GNOME freeze date."

Full Story (comments: none)

The GNOME Journal, June Edition

The June 2007 edition of the GNOME Journal has been announced: "It features an article about GStreamer audio effects, an interview with Ken VanDine about GNOME 2.18 Live Media releases, an introduction to Accerciser, and a summary of 2007."

Full Story (comments: none)

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at

Comments (none posted)

KDE e.V. Quarterly Report 2007 Q1 (KDE.News)

KDE.News has announced the availability of the 1Q 2007 KDE e.V. Quarterly Report [PDF]. "Topics covered include the KDE PIM Meeting at Osnabrück in January 2007, progress on the Copyright Assignment (Fiduciary Licence Agreement) and reports from the Marketing Working Group, Human Computer Interaction Working Group, and Sysadmin Team."

Comments (none posted)

KDE Commit-Digest for 24th June 2007 (KDE.News)

The June 24, 2007 edition of the KDE Commit-Digest has been announced. The content summary says: "Introductions of a Dictionary, Photoframe, and Facebook Plasmoids, and a Weather and Solid DataEngine in Plasma. Usability improvements and optimisations in KListView, used for icon views in Konqueror and Dolphin. The start of a shared, common location for vocabulary files across KDE-Edu applications, with initial implementation in Kanagram. Support for application-specific caches in the Icon Cache implementation, and further progress in the KOrganizer Theming and KRDC Summer of Code projects..."

Comments (none posted)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week:

Comments (none posted)

Simdock 1.1 announced

Stable version 1.1 of Simdock has been announced. "SimDock is a fast and customizable dockbar. It allows the user to launch applications showing some eye-candy animation. It is written in c++ and wxWidgets and fits well in Gnome but works on most desktop environments.It does not require Compiz or 3D acceleration."

Comments (none posted)


Electric 8.05 announced has announced the release of version 8.05 of the Electric VLSI Design System. Changes include: "Various bug-fixes, routing improvements, and improved LEF/DEF import".

Comments (none posted)


Plunger 0.1.0 released

The WorldForge game project has announced the release of version 0.1.0 of Plunger. "Plunger is a 3D mesh converter. It currently imports Collada, OgreXML and Sear’s object format and exports Collada, OgreXML, Sear’s object format, MD3 and a text summary about the model."

Comments (none posted)

Imaging Applications

Gimmage 0.2.2 released

Stable version 0.2.2 of Gimmage is available, it features bug fixes and code cleanups. "Gimmage is a small gtk image viewer, perfect for command line usage as it accepts directories and image filenames as arguments. It also has a filechooser integrated into the main UI, making accessing images and directories a snap."

Comments (none posted)

Medical Applications

Freemed-YiRC Beta0.99 released (LinuxMedNews)

LinuxMedNews has announced the Beta 0.99 release of Freemed-YiRC. "Freemed-YiRC is a software project which aims to provide a product capable of providing Child Caring Agencies/Youth in Residential Care (YiRC) agencies with a fully functional internal case management/information system."

Comments (none posted)


NLTK-Lite 0.8 beta released

Version 0.8 of NLTK-Lite, a suite of open source Python modules, data sets and tutorials supporting research and development in natural language processing, has been announced. "This version is substantially revised and expanded from version 0.7. The code now includes improved interfaces to chunkers, grammars, frequency distributions, full integration with WordNet 3.0 and implementations of WordNet similarity measures, the Lancaster Stemmer, simpler conventions for importing modules, and simpler installation. "

Comments (none posted)

Languages and Tools

Assembly Language

libdisassemble 2.0 released

Version 2.0 of LIBDISASSEMBLE, a Python-based opcode disassembly library for x86 processors, is out. "This version aims to provide a complete disassembly of IA32 instruction set. Future versions will include the addition of IA64/32 instruction set."

Full Story (comments: none)


Caml Weekly News

The June 26, 2007 edition of the Caml Weekly News is out with new Caml language articles.

Full Story (comments: none)


OpenXava 2.1.5 released (SourceForge)

Version 2.1.5 of OpenXava is available. "OpenXava is a framework to develop Java Enterprise/J2EE applications rapidly and easily. It's based in business component concept. Feature rich and flexible since it's used for years to create business applications with Java."

Comments (none posted)


Python-URL! - weekly Python news and links

The June 25, 2007 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)


Anjuta DevStudio 2.2.0 (stable) -- Hurricane -- released!

Anjuta 2.2.0 (Hurricane) is the first stable release of the 2.x series. Anjuta 2.2.0 is a GNOME IDE that integrates seamlessly with your favorite development tools. "It features a number of advanced programming facilities that include project management, application wizards, an on-board interactive debugger, integrated glade UI designer, integrated devhelp API help, integrated valgrind memory profiler, integrated gprof performance profiler, class generator, powerful source editor, source browsing and many more."

Full Story (comments: 2)

Eclipse Europa coming soon

Eclipse Europa will be released on June 29. "Eclipse Europa is the annual release of Eclipse projects. Like last year’s Callisto release, the Europa release is a coordinate release of different Eclipse project teams. This year, the annual release includes 21 projects. By releasing these projects at the same time, the goal is to eliminate uncertainty about version compatibility and make it easier to incorporate multiple projects into your environment."

Comments (none posted)


Release libnetfilter_conntrack 0.0.80

Release 0.0.80 of libnetfilter_conntrack, a userspace library that provides an API to the in-kernel connection tracking state table, is out with bug fixes.

Full Story (comments: none)

ANN: Urwid - Console UI Library

Version of Urwid, a console-based user interface library, is out. "This is a maintenance release that fixes a number of bugs that have been found in 0.9.8."

Full Story (comments: none)

Version Control

Mercurial 0.9.4 released

Version 0.9.4 of Mercurial, a source control management system, is out with a number of new features. Click below for details.

Full Story (comments: none)

Page editor: Forrest Cook
Next page: Linux in the news>>

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds