Recent Posts

16 roughly distinguishable colours

7. January, 2014

If you're colourblind like me, distinguishing colours is pretty tricky, especially if they all have to be dark and not look totally horrible. This comes up if you use colour to help tell apart nicknames on IRC at a glance, where the more colours you have at your disposal, the better.

After a few hours of fiddling, using python to generate the colours and test output, I came up with the following colours:


Here's a graph of them:

IRC colours
IRC colours

Angle (0-360°) represents hue and distance from the origin represents value in HSV colour space; all points have saturation 70%.

I started with 16 points distributed with 4 in an inner circle (V=0.5), 4 in an outer circle (V=0.8) and 8 in a middle circle (V=0.65), then played with the precise hues and values. I ended up darkening the greenish colours since they appeared too light otherwise. I also had to manually push around certain similar-looking colours.

Feel free to try them in your IRC client or for some other purpose.

Search Quassel Logs

6. January, 2014

I use quassel as my IRC client. Before that, I used irssi , and before that I used XChat and a bouncer, all in the name of not missing anything that happens on IRC. Arguably this is all a bit silly, since not that much actually important happens on IRC, and in any case if you miss it, you can just ask someone else to fill you in. But nevertheless, I find staying on all the time worth the hassle of finding the right client and currently I find quassel to be the best solution — it has a proper UI unlike irssi, so it's easy on the eye and has keyboard shortcuts, etc; it doesn't require a nasty bouncer with all the ugly scrollback that entails; it's actively maintained; and it has a decent Android client.

But the disadvantage is that, after accumulating all of those lovely logs, it's really hard to search through them. Traditional clients save their logs to text files on your hard drive and you can just search them with any text editor or more usually, grep. But quassel's logs are stored in a database and crafting the correct SQL query by hand every time is a pain, and crucially quassel currently has no means of searching logs that aren't loaded from within the client. You can use the PHP-based quasselsuche but that requires installation and going through webpages and such, and I wanted a lighter solution. In-client log searching is a long-term feature request for quassel that's sure to be implemented at some point, but until then, enter quasselgrep!

quasselgrep is a command-line tool in the spirit of grep which allows you to easily search quassel's logs. Documentation is available on the github page/in the README and should be fairly easy to follow, but in brief: You run quasselgrep on the server where quasselcore is running (or through an SSH tunnel), either running queries directly, or in server mode so quasselgrep clients can connect to it — useful if you're hosting a multi-user quasselcore.

An example query would be:

$ quasselgrep -b #quassel -n Fish-Face -t yesterday quassel

Which searches the channel #quassel for lines by me, sent yesterday, where I mentioned quassel.

quasselgrep is still under development and needs bugs finding and features adding, but should be quite serviceable. Please report/comment on the github page!