Colabti Blog

A New Home

The colabti website lived for 4 years in a very small home. The virtual server from star-hosting.de had only 1 GB disk space. And the operating system used a large share of it.

Small Home Photo by Jurek D.

With a service like irc logger 2, the disk space usage increases continuously. And of course, the 1 GB filled up. Deleting the old logs would defeat the purpose of the logging service. Thus, the only option left was to buy a new and more expensive vserver with more disk space. Star-hosting proposes the vServer net2-300 SMART which is slightly more expensive. But it has only 3 GB. As the logs increase continuously, it will fill up quickly again.

After searching a lot, netcup.de came out with cheap vservers with a lot of disk space. On paper, they look much better than star-hosting. The netcup vServer BRONZE offers unlimited traffic, 20 GB of disk space and is much cheaper.

So last week, colabti moved to its new home at netcup. The much larger home will store the IRC logs without trouble for a long time.

The colabti.org domain name continues to work. But as a consequence of the move, the old colabti.de domain name will stop working very soon. Update your links and bookmarks.

Facelift of the IRC logs

Since a few weeks, the layout of the IRC logs got completely renewed. The new layout is based on the CSS created by Aankhen and used by the ilbot logger of Moritz Lenz. By the way, ilbot was inspired by IRC logger 2 on colabti.

Under the hood, the code generating the pages was completely rewritten too. This opens some new possibilities: With the new system, nicknames are now colored. Other features are coming: annotations of abbreviations, support of IRC color codes and automatic hyperlinking of some patterns (like revision numbers from subversion or tickets from the bugtracker).

In the end, the new code will also enable the usage of different backends to store the logs. Currently the logs are stored in plain text files with MIRC formatting. That format is a pain to use and uses a lot of disk space. The new system will allow to switch to another format or a database. It will also become possible to compress the logs to save disk space.

The code for the channel list, the search page and the index still needs to be rewritten. As soon as they are rewritten, the storage backend can change. They also need a better looking layout. If you have suggestions, post them here.

Kysrun, a KISS application runner

The previous post introduced application launchers and how well they fit with the Eee PC. Of them, Mercury is the most interesting one: relatively easy to install on the Eee PC and it works well. Unfortunately, Mercury did not seem to support google searches or the on-the-fly calculator like in Katapult. The first time, I also didn't see a source code package.

This led me to write a new application launcher: Kysrun. The name comes from "keystroke application runner". But the name also sounds like "KISS Run" as in the KISS principle.

After pressing the ALT+SPACE keyboard shortcut, the Kysrun window pops up above your desktop filled with applications. See how typing a few letters suffices to start Firefox:

Making a new small program like an application launcher looked easy. First, the "update-database.sh" shell script in Mercury showed how simple the indexing could be. Some tricks to work around peculiarities of the OS were also easy to understand. Second, Python and PyQT are installed by default on the Eee OS. Now, having never programmed with PyQT or even QT, this was an opportunity to discover PyQT and Qt.

After one evening, the first version was working. Programming with PyQT proved to be very quick.

A few days after writing Kysrun, I saw the link to the source package of Mercury. Duh, how did I miss that !

Kysrun does a few things more than Mercury. For example, the indexing is built in Kysrun and is started from inside Kysrun. The indexing even starts automatically the first time. Kysrun can run searches on wikipedia and imdb besides google. Kysrun also has an on-the-fly calculator a bit like Katapult. Last but not least, extending Kysrun is very easy with its simple Python implementation.

On the Eee PC, nothing needs to be installed besides Kysrun itself. Despite being originally designed for the Eee PC, Kysrun also works well on normal laptops or desktop computers. I even switched from Katapult to Kysrun on my laptop. You can download Kysrun from http://colabti.org/kysrun and try it out.

Application launchers for the Eee PC

The Eee PC is a real pleasure to use, but switching windows and hunting sub-menus to launch a program is inconvenient. The (very) small touchpad does not help.

Eee PC

Enter the application launchers. An application launcher pops up when hitting a keyboard shortcut like alt+space. In the application launcher window, you type the name of the application you want. While you type, the tool displays the applications which match. As soon as your program appears, hit enter and the application launcher disappears and starts the requested program. Very often, you just need to type a few letters to get the application you're looking for, like "fi" for Firefox. Starting a program this way goes fast, much faster than going to the menus, finding the menu entry and clicking on it. Best of all, application launchers do not require to break your fingers on the small touchpad.

Many application launchers exist. On Mac OS X, Quicksilver is very popular. In the Linux world, you have Katapult which works a lot like Quicksilver. Windows has a whole bunch too, including the open source Launchy.

As the Eee PC uses a Linux distribution, Katapult is the first choice. Unfortunately, Katapult has a lot of dependencies which makes it hard to install on on the Eee PC.

As an easy to install alternative, Martin Davis created Mercury. Mercury is a simple application launcher written with the Eee PC in mind. Mercury has very few dependencies (mainly the SDL library) and is very easy to install.

Mercury Application Launcher Screenshot

Domain name troubles

No Name Photo by Giant Ginkgo

When buying hosting for the IRC logger, the provider offered the free registration of a domain name. As this looked like a good deal, I registered the colabti.de domain.

But the provider did not tell that it will cost 12€ each year to renew. There are cheaper options, but the hosting provider manages everything and I never bothered to look elsewhere.

Three years later, on february 1st 2008, the bill for the renewal of the colabti.de domain arrived. As always, I trustfully paid immediately and expected to be done with it for one extra year.

But a few days later, the february 6th, this message arrived in the email:

Sehr geehrte Damen und Herren,

über uns haben Sie die

Domain: colabti.de

registriert.

Gemäß den deNIC Registrierungsbedingungen (VIII., http://www.denic.de/de/richtlinien.html) muss der Domaininhaber seinen Wohnsitz in Deutschland haben.

Aktuell sind wir als Domaininhaber eingetragen (TRUSTEE-Service). Dieser Service ist jedoch ab März 2008 kostenpflichtig.

Sie haben die Folgenden Optionen:

- Sie benennen uns eine Person mit Wohnsitz in Deutschland, der Rechte und Pflichten als Domaininhaber annimmt - Sie nutzen unseren Trustee-Service für 12 EUR / Jahr (=1 EUR / Monat) - Sie lassen die Domain loeschen.

Bitte lassen Sie uns innerhalb der naechsten sieben Tage ab heute eine Information zukommen, wie in Bezug auf Ihre Domain verfahren werden soll.

Vielen Dank!

Mit freundlichen Grüßen / Kind regards

Easy to understand when you don't know German.

Luckily Google Translate can help. The text says that the domain owner must have an address in Germany. As I don't live in Germany, they provide three "solutions":

  1. Give the address of someone who lives in Germany who becomes responsible for the domain name,
  2. Pay them 12€ per year starting in March to act as a proxy or
  3. Lose the domain.

Thus you pay for a domain renewal, and less than 5 days after you're asked to pay again !

And they give you only seven days to answer. At short notice, I started a search for other registrars for ".de". Most of them tell you about that special condition for the ".de" domains before you try to register. A few also offer that German address proxy service for people not living in Germany.

To rescue the "colabti.de" domain, I ordered a domain transfer at europeregistry.com, a subsidiary of instra. They needed a full week before waking up and start the process of the transfer. And the transfer failed. According to europeregistry.com the old registrar did not acknowledge the email asking for confirmation. The old registrar says that no confirmation emails are needed for ".de" domain transfers. Who tells the truth ?

To get rid of all that trouble once and for all, I registered a new domain: colabti.org. Hopefuly, the old colabti.de domain will survive long enough for everyone to update his links and bookmarks.

By the way, if you live in Germany and want to help keep the colabti.de domain alive, please contact me.

How it all started

When you work on a open source project, you need to follow the discussions with the other members of project. Each project has its own preferred way of communication. Most times they rely on mailing lists or IRC. Some rare ones even rely on newsgroups, sprints or private emails.

Some time in 2004, I got involved in the Stratagus project. The main communication channel for Stratagus was IRC. It worked great. A lot of people were active on the channel from everywhere over the world. The project leader lived in Australia, some developers lived in the US and Canada while others lived in Europe or anywhere else in the world.  Everybody lived in different timezones. And that was a big problem. While sleeping the guys in the other timezones had important discussions about the project. When joining the channel later on, you were lost. In order to participate in the project and stay tuned, one had to keep his (noisy) computer always on to stay connected on the IRC channel. Leave a week or two for holidays, and you're completely lost when you come back.

Later we found a IRC logger service by Colas Nahaboo. Finally the solution for those communication problems ?

The logger enabled you to set a password on the channel logs. Of course, I tried. Unfortunately the password had special characters which did not get through the authentication. Result: a few hours after activating the logger, the logs were lost forever.

The logger by Colas is targeted for Intranets. As such it has some weaknesses when deployed on the public Internet. The code to display the logs consists of bash scripts without many consideration for security. Also anyone on the channel can tell the bot to leave. In a hostile environment like the Internet, this is an invitation for crackers to disrupt your tools. Conclusion, Colas logger is very useful but not reliable.

No other IRC logger was as close to our needs than the one of Colas. If we wanted better, we had to write our own. And thus, I bought a virtual server and created an improved version of the logger. A version tailored for the public Internet and which one could rely on while absent of IRC.

People noticed the logger and enjoyed it. Some asked if the logger could log their channel too, and so the list of logged channels increased.

This is the story of the birth of the IRC logger on colabti.