Songs of Doom

Archive for the 'Computers' category

Thanks, Psi

9:09 pm

I’ve been meaning to make this post for an age…
A decent number of people thank the Psi project, and that’s great; I get thanked more than most, I think, because I’m the one who gets to make the release announcements, and it looks like I do all the work because of this. These days, I write very little code, because I just try and keep the other things ticking over and bad things happen when I touch the codebase (and I never wrote that much code, anyway). Trying to spread around the thanks to the people who do the work, at least all the following guys deserve it. In no particular order:
Thanks Remko, Mblsha, Textshell and Machekku, our developers.
Thanks Justin, who despite leaving is still churning out code for us.
Thanks Hal, the webmaster.
Thanks Fritzy, for hosting our dev tools.
Thanks Jason, for graphics.
Thanks IceRam, for the windows installer.
Thanks AlekSi, Gislan and Senu, working on projects for GSoC this year.
Thanks MichalJ, who’s /still/ moderating the forums and making sure people get answers.
Thanks Joonas, who’s still working on his previous GSoC project.

Also, thanks to our numerous other code contributors, translators and packagers, who between them would make this post infeasibly long. You are not forgotten, however hard it is to make sure all the patches are reviewed and integrated, to give you a string freeze with as much warning as we should, or to give you long enough to run off builds at release time, and you’re all appreciated.

Thanks to everyone who hangs around the mailing lists, or the forums, or the muc being useful.

It’s nice to say thank-you sometimes.

If I didn’t thank you and you deserve to be, I’m sorry, and thank you.

Summer of Code ’08

9:15 pm

As summer 2008 approaches, students have been busy applying, the XSF has been busy scoring applications, and mentors have been busy preparing. It’s time again for Google’s Summer of code, a scheme to pay students to work on open source code for the summer, and hopefully for them to continue contributing afterwards. This year has been a good year for the XSF, and we had a good selection of strong applications. Congratulations to those students who made it through, and consolations to those students that didn’t make it into our limited number of slots – we hope you’ll contribute anyway to the great developer communities that make up the XSF.

Psi has been particularly lucky this year to have had many strong applications, and for the XSF to have assigned three of its six slots to Psi projects.

In no particular order:

Adam Czachorowski (gislan) is going to be working together with Remko on “Metacontacts support and various roster improvements for Psi”. Adam’s project will be looking at overhauling our roster support, to add many interesting features designed to make the roster more accessible, and less prone to its current verbosity.

Paweł Wiejacha (senu) is going to be working with me on “Themable WebKit-based Chat Dialogs”. Paweł’s project is going to produce a new, friendlier face for our chat windows. Not only will you be able to theme the windows with the same themes as Adium, Kopete, and Google Talk, but you’ll also be able to see extended presence information about your contacts, such as the tune they’re listening to, and their mood.

Aleksey Palazchenko (AlekSi) is going to be working with me on “Psi: Message history”. AlekSi’s project is going to address several shortcomings in our history system. Particular highlights of the plan are to support server-side history (XEP-136), to provide a much more usable GUI, and to log MUC history.

I’d like to take the opportunity to welcome our new contributors to the project, and wish them the best of luck for the summer. These are all projects with a high importance to Psi, and I’m hoping we can make major advancements in our usability.

Psi-0.12-RC2

8:55 pm

Just late enough in the day that people will believe this isn’t an April’s fool, the Psi team are delighted to announce the release of Psi-0.12-RC2, fixing all blocking bugs found in RC1.

Download sites are:
Mac: http://downloads.sourceforge.net/psi/Psi-0.12-RC2.dmg
Windows: http://downloads.sourceforge.net/psi/psi-0.12-RC2-win32.zip
Source: http://downloads.sourceforge.net/psi/psi-0.12-RC2.tar.bz2

If no issues are found, we’ll go gold in a couple of weeks.

Managing ‘todo’ lists – MaybeLater

12:08 pm

A story about my new Todo/GTD list application, MaybeLater

About eighteen months ago, I came across David Allen’s “Getting Things Done”, with the bold tagline “How to Achieve Stress-free Productivity”. While this post isn’t supposed to be an advertisement for the book, I tried it and it worked for me. I’d just started a new job, and aware of how disorganised I’d been during my PhD, I wanted a system to make sure I made a good impression with my new colleagues (also, I was tired of forgetting things) – so I tried a few applications which aim to help with a GTD system, and settled on one. I used this almost religiously – every thought I had either gets entered straight into the application if I’m at work at my desk, or gets written on one of the pink sticky notes I keep in my pocket, and stuck in my wallet.

This has worked pretty well for me since then, and I like to think that I’m fairly organised at work, and all my tasks for when I’m at home, or away, also get entered into the system. The problem which has repeatedly presented itself is that the application lives on my machine at work, and I rarely have access to that when I’m not in the office – although my tasks were recorded, they weren’t available when I needed to complete them.

This brought me to the conclusion that I should use a remote application for managing my lists, and after a quick look around I didn’t find any that appealed to me (many very good looking applications were recommended to me which were closed systems, and I have a tendency to like running my own systems if I can).

Fortunately, I’ve been wanting an excuse to learn the Django web framework for a while, and so I set to work writing a new GTD app which does what I want it to do as simply as I could. The result is MaybeLater. I’ve spent an hour or two on this most nights for the last week, and yesterday morning it reached the stage where I had enough features implemented to allow me to switch from my old application to MaybeLater exclusively. It’s still reasonably raw and featureless, but it does the job for me.

Last night, my better half also started using it, and within 30 minutes or so, the bug tracker had its first two entries (I’ve since fixed one of them).

One thing I miss about the old application was the ability to quickly enter a new task without firing up my web browser, logging in etc. I’ve made it as easy as I could without much effort in the web interface so far (although I have plans for improving this), but my next task is going to be implementing an XMPP interface, so I can simply send a plain-text message to a bot in my roster and have it entered into my task inbox. It seems like a good excuse to roll out Nathan Fritz’s easy-to-use SleekXMPP library which I already use a lot when I work on the SleekBot XMPP groupchat bot.

It should be fun to see where this goes.

Psi 0.12-RC1 released

1:07 pm

Hi all,
After only a little over four months since 0.11′s release, the Psi team are delighted to announce that we’ve got the first release candidate prepared for the 0.12 release. This is a great step towards a more regular release cycle, which we’re sure everyone will appreciate, but this does not mean that 0.12 will be lacking in the new and cool. Recognising that Psi’s user interface could be more usable at times, the majority of our changes for 0.12 revolve around usability. Please see the README for full release details, but probably the most important are:

Tabbed MUCs.
Tabbed chat has been very well received in previous releases, but has only gone to highlight just how badly tabbed groupchat/muc was needed, so we’ve gone ahead and implemented this. Those of us who’ve been using this new feature for a while can’t understand quite how we did without it, and various options are available for you to tweak exactly whether mucs and chats are tabbed together, or seperately, or not at all.

Improved roster search.
The roster search function has been improved, and will now filter the roster down to only matching contacts, making it much easier to find your contacts in the list.

Bookmarked conferences.
MUCs/groupchats can now be bookmarked (subject to server support, which almost every server has), so the user interface provides quick access to favourite mucs, and also to autojoin settings at login time.

Advanced option exposure.
While we’re confident our default settings will work for most of our users, we know how much many of you like to tinker with settings and to tweak Psi to be uniquely yours. Now all the options in Psi have been converted to a new internal format which allows us to provide access in the UI to every option. Those of you familiar with Firefox’s about:config will no doubt feel at home here, and will find the options in the Advanced tab of the options window (be warned that, of course, these options are only intended to be changed if you’re sure of what you’re doing and with a recent config backup, some of these may not be for the faint of heart).

We’d like to thank all the contributors, including those who’ve submitted patches for us, tested for bugs, fixed bugs, supported other users and translated Psi, and anyone else who helps the project in any way.

Now, please, go forth and test:
Mac: http://downloads.sourceforge.net/psi/Psi-0.12-RC1.dmg
Windows: http://downloads.sourceforge.net/psi/psi-win32-0.12-RC1.zip
Source: http://downloads.sourceforge.net/psi/psi-0.12-RC1.tar.bz2

Yours in Psi,
/K

Psi 0.11 released

9:01 pm

After over a year of hard work, we are thrilled to finally release 0.11. A lot of stuff happened over all this time, including a complete rework of the codebase to support the newest Qt4 library. Some of the changes in 0.11 include:
* Reworked account registration process (including proper support for XEP-0077 (In-band registration))
* Finished support for XEP-0004 (Data Forms) by supporting forms in messages. (thanks to Roelof Naude)
* Added support for JEP-0070 (Verifying HTTP Requests via XMPP).
* Customizable shortcuts (thanks to Ephraim)
* Added spell checking (thanks to Ephraim). Currently only aspell is supported on non-Macs.
* Added option to automatically set the resource (using the hostname)
* Added new default Stellar3 iconset
* Added support for JEP-138 (Stream Compression)
* Added support for using JEP-33 (Extended Stanza Addressing) to multicast messages to multiple users. Use option.enable-multicasting to enable it.
* Added ‘Show status message’ toggle. There is a hidden option to put status messages under the nickname (at the cost of 2 extra pixels when no status message is shown)
* Support for Bookmark Storage (JEP-0048), where bookmarked conferences are auto-joined. No UI is provided for creating bookmarks (yet).
* Better error messages, including error condition mappings (JEP-0086)
* Support dynamically changing priority
* Improved PGP error messages
* Hiding the deprecated protocol selector for service discovery by default. Use option.ui.show-deprecated.service-discovery.protocol-selector to re-enable it.
* New options system (see options.xml)
* Receiving support for vCard-Based Avatars (JEP-0153)
* Support for Multi-User-Chat (JEP-0045)
* Preliminary support for User Nickname (JEP-0172)
* Preliminary support for Roster Item Exchange (JEP-0144)
* Psi now uses the Qt4(>=4.2.3) and QCA2 libraries, replacing the Qt3 and QCA1 requirements.
* “Privacy List” support in the account dialog.
* Support for JEP-0050 (Ad-hoc commands)
* Preliminary support for JEP-0163 (Personal Eventing Protocol)
* Preliminary support for JEP-0146 (Remote Controlling Clients)
* Large parts of the codebase have been restructured.
* Fixed a chat room bug where subject/topic changes were not shown.
* Mac OS X builds are now universal binaries, supporting the new Intel based Macs.
* Support for JEP-85 (Chat State Notifications).
* Support for JEP-0115 (Entity Capabilities).
* There is now a config.xml option to make some windows use the brushed metal theme on Mac OS X.
* Window opacity support is now present for all three supported platforms.
* Fixed Unicode URL opening bug #510
* Auto-reconnect accounts on wakeup
* Copy-pasting with emoticons now works
* Fixed issue #263 where emoticons would disappear in a reply or quote
* History index is rebuilt faster
* Configure toolbars merged into main preferences dialog
* Moving tooltips
* MingW32 compiler support (Coupled with the open source Qt4 Windows library this now allows completely free building of Psi on Windows)

There’s not much else to say here that isn’t said in the release notes / readme, which everyone is encouraged to read before upgrading.

To get your latest copy of Psi, just click on one of the links below.

Windows installer:
http://downloads.sourceforge.net/psi/psi-0.11-win-setup.exe

Mac image:
http://downloads.sourceforge.net/psi/Psi-0.11.dmg

Source:
http://downloads.sourceforge.net/psi/psi-0.11.tar.bz2

Other archives:
http://sourceforge.net/project/showfiles.php?group_id=14635&package_id=53260&release_id=545913

Other packages will trickle in as they’re available, I know that Suse packages are ready thanks to Nikolay Derkach.

Translations will be coming in shortly.

Thanks to everyone who’s contributed to this (or past) releases.

Happy release time :)

Psi 0.11-RC3 released

9:40 am

It’s release candidate time. This should be the last RC3, touch wood.
Psi-0.11-RC3 is out, please grab your copies from:

Source: http://downloads.sourceforge.net/psi/psi-0.11-RC3.tar.bz2
Mac: http://downloads.sourceforge.net/psi/Psi-0.11-RC3.dmg”
Windows: http://downloads.sourceforge.net/psi/psi-win32-0.11-RC3.zip”

Known Issues:
A very small number of users (currently only one that we know of reproducably) are affected by a crash in this version of Psi; we’re working on trying to track this down and fix it but have decided to not delay the release of 0.11 any further for it, as it will work fine for the vast majority of users. However; if you use Psi in an absolutely mission-critical environment, it may be safest to continue to use 0.10 until the bugfix is applied.

Please test; if no show-stopping bugs are revealed in the next few weeks, we’ll go gold. The changelog since 0.10 is as follows:

* Reworked account registration process (including proper support for XEP-0077 (In-band registration))
* Finished support for XEP-0004 (Data Forms) by supporting forms in messages. (thanks to Roelof Naude)
* Added support for JEP-0070 (Verifying HTTP Requests via XMPP).
* Customizable shortcuts (thanks to Ephraim)
* Added spell checking (thanks to Ephraim). Currently only aspell is supported on non-Macs.
* Added option to automatically set the resource (using the hostname)
* Added new default Stellar3 iconset
* Added support for JEP-138 (Stream Compression)
* Added support for using JEP-33 (Extended Stanza Addressing) to multicast messages to multiple users. Use option.enable-multicasting to enable it.
* Added ‘Show status message’ toggle. There is a hidden option to put status messages under the nickname (at the cost of 2 extra pixels when no status message is shown)
* Support for Bookmark Storage (JEP-0048), where bookmarked conferences are auto-joined. No UI is provided for creating bookmarks (yet).
* Better error messages, including error condition mappings (JEP-0086)
* Support dynamically changing priority
* Improved PGP error messages
* Hiding the deprecated protocol selector for service discovery by default. Use option.ui.show-deprecated.service-discovery.protocol-selector to re-enable it.
* New options system (see options.xml)
* Receiving support for vCard-Based Avatars (JEP-0153)
* Support for Multi-User-Chat (JEP-0045)
* Preliminary support for User Nickname (JEP-0172)
* Preliminary support for Roster Item Exchange (JEP-0144)
* Psi now uses the Qt4(>=4.2.3) and QCA2 libraries, replacing the Qt3 and QCA1 requirements.
* “Privacy List” support in the account dialog.
* Support for JEP-0050 (Ad-hoc commands)
* Preliminary support for JEP-0163 (Personal Eventing Protocol)
* Preliminary support for JEP-0146 (Remote Controlling Clients)
* Large parts of the codebase have been restructured.
* Fixed a chat room bug where subject/topic changes were not shown.
* Mac OS X builds are now universal binaries, supporting the new Intel based Macs.
* Support for JEP-85 (Chat State Notifications).
* Support for JEP-0115 (Entity Capabilities).
* There is now a config.xml option to make some windows use the brushed metal theme on Mac OS X.
* Window opacity support is now present for all three supported platforms.
* Fixed Unicode URL opening bug #510
* Auto-reconnect accounts on wakeup
* Copy-pasting with emoticons now works
* Fixed issue #263 where emoticons would disappear in a reply or quote
* History index is rebuilt faster
* Configure toolbars merged into main preferences dialog
* Moving tooltips
* MingW32 compiler support (Coupled with the open source Qt4 Windows library this now allows completely free building of Psi on Windows)

Psi 0.11-RC2 released

7:57 pm

It’s release candidate time.
Psi-0.11-RC2 is out there to be tested, please grab your copies from

Source: http://downloads.sourceforge.net/psi/psi-0.11-RC2.tar.bz2
Mac: http://downloads.sourceforge.net/psi/Psi-0.11-RC2.dmg”
Windows: http://downloads.sourceforge.net/psi/psi-0.11-RC2-win32.zip”

We also have a new Linux build, available from
http://downloads.sourceforge.net/psi/psi-0.11-RC2-linux-x86-bundle.tar.bz2
If untarred in / it’ll go into /opt/psi-0.11-RC2, but it’s of course recommended to untar somewhere safe, and move it yourself. It can then be executed with /opt/psi-0.11-RC2/psi. This is still slightly experimental, so please report any issues.

Please test this to destruction. If no show-stopping bugs are revealed in the next few weeks, we’ll go gold. The changelog is as follows:

* Reworked account registration process (including proper support for XEP-0077 (In-band registration))
* Finished support for XEP-0004 (Data Forms) by supporting forms in messages. (thanks to Roelof Naude)
* Added support for JEP-0070 (Verifying HTTP Requests via XMPP).
* Customizable shortcuts (thanks to Ephraim)
* Added spell checking (thanks to Ephraim). Currently only aspell is supported on non-Macs.
* Added option to automatically set the resource (using the hostname)
* Added new default Stellar3 iconset
* Added support for JEP-138 (Stream Compression)
* Added support for using JEP-33 (Extended Stanza Addressing) to multicast messages to multiple users. Use option.enable-multicasting to enable it.
* Added ‘Show status message’ toggle. There is a hidden option to put status messages under the nickname (at the cost of 2 extra pixels when no status message is shown)
* Support for Bookmark Storage (JEP-0048), where bookmarked conferences are auto-joined. No UI is provided for creating bookmarks (yet).
* Better error messages, including error condition mappings (JEP-0086)
* Support dynamically changing priority
* Improved PGP error messages
* Hiding the deprecated protocol selector for service discovery by default. Use option.ui.show-deprecated.service-discovery.protocol-selector to re-enable it.
* New options system (see options.xml)
* Receiving support for vCard-Based Avatars (JEP-0153)
* Support for Multi-User-Chat (JEP-0045)
* Preliminary support for User Nickname (JEP-0172)
* Preliminary support for Roster Item Exchange (JEP-0144)
* Psi now uses the Qt4(>=4.2.3) and QCA2 libraries, replacing the Qt3 and QCA1 requirements.
* “Privacy List” support in the account dialog.
* Support for JEP-0050 (Ad-hoc commands)
* Preliminary support for JEP-0163 (Personal Eventing Protocol)
* Preliminary support for JEP-0146 (Remote Controlling Clients)
* Large parts of the codebase have been restructured.
* Fixed a chat room bug where subject/topic changes were not shown.
* Mac OS X builds are now universal binaries, supporting the new Intel based Macs.
* Support for JEP-85 (Chat State Notifications).
* Support for JEP-0115 (Entity Capabilities).
* There is now a config.xml option to make some windows use the brushed metal theme on Mac OS X.
* Window opacity support is now present for all three supported platforms.
* Fixed Unicode URL opening bug #510
* Auto-reconnect accounts on wakeup
* Copy-pasting with emoticons now works
* Fixed issue #263 where emoticons would disappear in a reply or quote
* History index is rebuilt faster
* Configure toolbars merged into main preferences dialog
* Moving tooltips
* MingW32 compiler support (Coupled with the open source Qt4 Windows library this now allows completely free building of Psi on Windows)

Sleek as that.

5:34 pm

Some people may know that I was once loosely involved in a personality script for IRC bots called ‘bMotion‘, which makes Eggdrop bots a bit more interesting. Although it’s been some years, I still like to keep them around because I think they’re fun; because of this, I’ve been trying for some time to keep ‘Iono’, in the Psi MUC (psi@conference.psi-im.org). Iono was a sellotape and string effort to have bMotion in the MUC. There was an Eggdrop bot running the bMotion script connected to an IRC server, in the same channel as a bridge bot, written in perl, which tried (and frequently failed) to relay the comments of the bot to the Psi MUC, and provide input in the reverse direction. This never worked very well, and I’ve been looking for a better solution, which has now presented itself. The solution takes the form of the SleekBot, which is an early version of a bot, written by Nathan Fritz, based on his SleekXMPP Python library. Read his recent blog post on the subject for more information, and a nice example of Ad-Hoc command usage.

SleekXMPP already has a very nice plugin-based system, with XEPs each being a seperate plugin (it was easy enough for me to write an XMPP Ping plugin, and my Python is famously bad). I tweaked SleekBot a little, and now it also has a similar plugin system (although Fritzy will no doubt fix this up when he finds my bad code), wrote some helper scripts for the Psi MUC (like fact scripts, XEP lookup, Flyspray (our bug tracker) lookups etc.) and set to work on the main bulk of the interest.

The reason for my interest in SleekBot, apart from being a fun piece of kit, is that I’m writing an implementation of the Eggdrop script API as a plugin. What this means is that it’ll be possible to load, with no modification, all the TCL Eggdrop scripts which you love or hate on IRC directly into a bot in an XMPP MUC. This turns out to be a far more major undertaking than I’d originally thought, due to the scale of the eggdrop API, but I’m getting there.

At the weekend, I reached my first milestone. I’ve implemented enough of the API that very simple scripts, such as the Discworld Quotes script will work. Below is a quote of a genuine transaction between the previously mentioned Eggdrop script running directly in SleekBot:

[17:42:43] <kev> !disc
[17:42:43] <iono (Sleek)> "It wasn't blood in general he couldn't stand the sight of, it was just his blood in particular that was so upsetting. -- (Terry Pratchett, Sourcery)"

So, things are looking good, Eggdrop scripts running natively on XMPP bots. It’s not easy, at least in part because TCL’s not my favourite language, and I’m not too skilled in Python, but it’s progress, and I’m finding it pretty interesting. The next aim before full API support is bMotion running, and once that’s done iono will be in the Psi MUC being as irritating and pseudo-random as ever :)

Psi 0.11-RC1 released

11:34 am

It’s release candidate time.
Psi-0.11-RC1 is out there to be tested, please grab your copies from

Source: http://downloads.sourceforge.net/psi/psi-0.11-RC1.tar.bz2
Mac: http://downloads.sourceforge.net/psi/Psi-0.11-RC1.dmg
Windows: http://downloads.sourceforge.net/psi/Psi-0.11-RC1-win32.zip

Please test this to destruction. If no show-stopping bugs are
revealed in the next few weeks, we’ll go gold. The changelog is as
follows:

* Reworked account registration process (including proper support for XEP-0077 (In-band registration))
* Finished support for XEP-0004 (Data Forms) by supporting forms in messages. (thanks to Roelof Naude)
* Added support for JEP-0070 (Verifying HTTP Requests via XMPP).
* Customizable shortcuts (thanks to Ephraim)
* Added spell checking (thanks to Ephraim). Currently only aspell is supported on non-Macs.
* Added option to automatically set the resource (using the hostname)
* Added new default Stellar3 iconset
* Added support for JEP-138 (Stream Compression)
* Added support for using JEP-33 (Extended Stanza Addressing) to multicast messages to multiple users. Use option.enable-multicasting to enable it.
* Added ‘Show status message’ toggle. There is a hidden option to put status messages under the nickname (at the cost of 2 extra pixels when no status message is shown)
* Support for Bookmark Storage (JEP-0048), where bookmarked conferences are auto-joined. No UI is provided for creating bookmarks (yet).
* Better error messages, including error condition mappings (JEP-0086)
* Support dynamically changing priority
* Improved PGP error messages
* Hiding the deprecated protocol selector for service discovery by default. Use option.ui.show-deprecated.service-discovery.protocol-selector to re-enable it.
* New options system (see options.xml)
* Receiving support for vCard-Based Avatars (JEP-0153)
* Support for Multi-User-Chat (JEP-0045)
* Preliminary support for User Nickname (JEP-0172)
* Preliminary support for Roster Item Exchange (JEP-0144)
* Psi now uses the Qt4(>=4.2.3) and QCA2 libraries, replacing the Qt3 and QCA1 requirements.
* “Privacy List” support in the account dialog.
* Support for JEP-0050 (Ad-hoc commands)
* Preliminary support for JEP-0163 (Personal Eventing Protocol)
* Preliminary support for JEP-0146 (Remote Controlling Clients)
* Large parts of the codebase have been restructured.
* Fixed a chat room bug where subject/topic changes were not shown.
* Mac OS X builds are now universal binaries, supporting the new Intel based Macs.
* Support for JEP-85 (Chat State Notifications).
* Support for JEP-0115 (Entity Capabilities).
* There is now a config.xml option to make some windows use the brushed metal theme on Mac OS X.
* Window opacity support is now present for all three supported platforms.
* Fixed Unicode URL opening bug #510
* Auto-reconnect accounts on wakeup
* Copy-pasting with emoticons now works
* Fixed issue #263 where emoticons would disappear in a reply or quote
* History index is rebuilt faster
* Configure toolbars merged into main preferences dialog
* Moving tooltips
* MingW32 compiler support (Coupled with the open source Qt4 Windows library this now allows completely free building of Psi on Windows)

This is also an announcement of a string freeze and a build system freeze (both short of finding errors in the text or the build system) so translators are encouraged to start translating now, and packagers to test their build systems ready for release.

In the development of 0.11 we’re also pleased to have onboard two new developers, Machekku and Textshell, who’ve both already proved themselves invaluable. Welcome to both.

So, go enjoy yourselves.

Bad Behavior has blocked 67 access attempts in the last 7 days.