[ANN] Ruby-IXP 1.0.2

= Version 1.0.2 (2006-09-18)

  Ruby-IXP is an implementation of the 9P2000 protocol designed for
  use with Window Manager Improved. It is written in pure Ruby to
  avoid periodical calling of the wmiir command, thus improving
  performance. There is another full-blown 9P2000 implementation
  called Rstyx, but it's rather complex and slow.

  Web site: http://home.gna.org/rubyixp/

  Download: http://download.gna.org/rubyixp/

== Summary

This release fixes major stability issues and improves performance.

== Benchmark

This was run on a Pentium-D 2793.213Mhz with Linux 2.6.15-26-386,
Ruby 1.8.4, and wmii-3.1.

$ ruby -w examples/benchmark.rb
Rehearsal ---------------------------------------------
ruby_ixp: 1.550000 0.150000 1.700000 ( 3.598023)
wmiir: 0.080000 0.180000 4.240000 ( 6.641997)
rstyx: 7.090000 0.390000 7.480000 ( 9.365797)
- ----------------------------------- total: 13.420000sec

                user system total real
ruby_ixp: 1.400000 0.140000 1.540000 ( 3.510298)
wmiir: 0.100000 0.350000 4.130000 ( 6.182895)
rstyx: 4.790000 0.370000 5.160000 ( 7.069832)

== Details

* IXP::Connection has been completely rewritten to follow a
  coffee-shop system metaphor.

  * More race conditions have been fixed and overall stability
    seems rock solid.

* Support for buffering, in case of dynamically updating files such
  as "/event", has been strengthened.

I really must try this out, thanks for this.

Alex

···

On Tuesday 19 September 2006 02:03, Suraj N. Kurapati wrote:

= Version 1.0.2 (2006-09-18)

  Ruby-IXP is an implementation of the 9P2000 protocol designed for
  use with Window Manager Improved. It is written in pure Ruby to
  avoid periodical calling of the wmiir command, thus improving
  performance. There is another full-blown 9P2000 implementation
  called Rstyx, but it's rather complex and slow.

= Version 1.0.2 (2006-09-18)

[...]

== Summary

This release fixes major stability issues and improves performance.

This is great news. I've recently (last Sat., just before you started to
release on a nearly daily basis :wink: hacked ruby-wmii to use Ruby-IXP, and was
experiencing some stability problems: it was reporting lots of unexpected
packets and wmiiwm would lock once a day in a write(2) call in
ixp_send_message. I'll tell you if I can reproduce it again with 1.0.2 (but
you might have just fixed it :-).

Thanks,

···

On Tue, Sep 19, 2006 at 10:03:23AM +0900, Suraj N. Kurapati wrote:

--
Mauricio Fernandez - http://eigenclass.org - singular Ruby

Mauricio Fernandez wrote:

= Version 1.0.2 (2006-09-18)

[...]

== Summary

This release fixes major stability issues and improves performance.

This is great news. I've recently (last Sat., just before you started to
release on a nearly daily basis :wink: hacked ruby-wmii to use Ruby-IXP, and was
experiencing some stability problems:

:slight_smile:

it was reporting lots of unexpected packets

Yeah, this was due to lack of buffering. Consequently, one couldn't
always process data read from /event without data loss.

and wmiiwm would lock once a day in a write(2) call in
ixp_send_message.

Indeed. However, Ruby-IXP 1.0.2 has its own problems (thread
deadlock) that distracts from the real cause of the wmii lock-up.

But with Ruby-IXP 1.0.3, I think I have narrowed down the problem to
wmii's libixp itself.

···

On Tue, Sep 19, 2006 at 10:03:23AM +0900, Suraj N. Kurapati wrote:

Mauricio Fernandez <mfp@acm.org> writes:

This is great news. I've recently (last Sat., just before you started to
release on a nearly daily basis :wink: hacked ruby-wmii to use Ruby-IXP,

This is great news by itself. I've seen you started a ruby-ixp branch
in your repository. Are there any special prerequisites for it?
Especially, do I need some Suraj's wmii-3.1? And which version of
ruby-ixp should be used -- the version you're shipping or the latest
upstream?

And, some more: will my wmiirc-config.rb still work? And what about my
own plugins?

TIA,
olli

···

--
GnuPG-Key: http://www.sopos.org/pgp/olli.asc
GnuPG-Fingerprint: F27A BA8C 1CFB B905 65A8 2544 0F07 B675 9A00 D827
NP: Nothing

Mauricio Fernandez <mfp@acm.org> writes:

> This is great news. I've recently (last Sat., just before you started to
> release on a nearly daily basis :wink: hacked ruby-wmii to use Ruby-IXP,

This is great news by itself. I've seen you started a ruby-ixp branch
in your repository. Are there any special prerequisites for it?
Especially, do I need some Suraj's wmii-3.1?

I'm using it with the stock wmii-3.1.

And which version of ruby-ixp should be used -- the version you're shipping
or the latest upstream?

I simply included Ruby-IXP in ruby-wmii, and it will get installed under
$HOME/.wmii-3/lib when you run ruby-wmii's install.rb, so you need not care
about installing the correct version manually. I'll svn update the bundled
Ruby-IXP periodically, making sure that everything work OK.

I just upgraded to 1.0.3 from 0.1, and the only change I had to do was one
s/read_all/read/.

And, some more: will my wmiirc-config.rb still work?

Yes.

And what about my own plugins?

They'll also work unmodified.

In general, everything works without any changes. Only plugins that parsed
the output from wmiir read called on a dir would be affected, but I doubt
anybody (but me, in the temporary-selection plugin :slight_smile: did that since it was
ugly anyway.

···

On Tue, Sep 19, 2006 at 09:10:14PM +0900, Oliver Heins wrote:

--
Mauricio Fernandez - http://eigenclass.org - singular Ruby

Mauricio Fernandez <mfp@acm.org> writes:

Especially, do I need some Suraj's wmii-3.1?

I'm using it with the stock wmii-3.1.

And which version of ruby-ixp should be used -- the version you're shipping
or the latest upstream?

[...]

I just upgraded to 1.0.3 from 0.1, and the only change I had to do was one
s/read_all/read/.

And, some more: will my wmiirc-config.rb still work?

Yes.

And what about my own plugins?

They'll also work unmodified.

In general, everything works without any changes. Only plugins that parsed
the output from wmiir read called on a dir would be affected, but I doubt
anybody (but me, in the temporary-selection plugin :slight_smile: did that since it was
ugly anyway.

You guys made my day :slight_smile: I just tried it out, and it seems to work like
a charm.[1] I used to run in some annoying delays when using wmii, and I
hope that this now ceases.

However, I noticed that you have to change your install-script. It
still tries to copy files from ruby-ixp-0.1.

Mauricio and Sergej, I'd like to thank you both for your great work.
olli

P. S.: Is it possible to check out your darcs-repository in another way
than by webbrowser? By now, I have to copy each file seperately, which
is okay if I only copy wmiirc and standard-plugins, but somewhat ugly
for ruby-ixp.

Footnotes:
[1] I'm using it just for a few minutes -- my first action is writing
this post -- but I did not run in any nuisance yet :wink: It feels great
and fast.

···

--
GnuPG-Key: http://www.sopos.org/pgp/olli.asc
GnuPG-Fingerprint: F27A BA8C 1CFB B905 65A8 2544 0F07 B675 9A00 D827
NP: Nothing