# Ruby-IXP 1.0.2

**URL:** <https://www.ruby-forum.com/t/ruby-ixp-1-0-2/69165>\
**Category:** Ruby\
**Created:** [September 19, 2006, 3:03am UTC](https://www.ruby-forum.com/t/ruby-ixp-1-0-2/69165 "2006-09-19T03:03:29Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Suraj\_NSKurapati](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Suraj\_NSKurapati](https://www.ruby-forum.com/u/Suraj_NSKurapati)\
**Post date:** [September 19, 2006, 3:03am UTC](https://www.ruby-forum.com/t/ruby-ixp-1-0-2/69165/1 "2006-09-19T03:03:29Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

= 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/](http://home.gna.org/rubyixp/)

Download: [http://download.gna.org/rubyixp/](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

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.

- Support for buffering, in case of dynamically updating files such  
as “/event”, has been strengthened.  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFFD0ExmV9O7RYnKMcRAtSoAJ4yOGvdxSqYT4Kg43PXrYJdFTsz6QCfduSb  
kAqjRnKEZtoQNYcq8SAn2AE=  
=dkUu  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![Suraj\_NSKurapati](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Suraj\_NSKurapati](https://www.ruby-forum.com/u/Suraj_NSKurapati)\
**Post date:** [September 19, 2006, 10:46am UTC](https://www.ruby-forum.com/t/ruby-ixp-1-0-2/69165/2 "2006-09-19T10:46:24Z")

</div>

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.

I really must try this out, thanks for this.

Alex

---

<div class="post-metadata">

**Author:** ![Suraj\_NSKurapati](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Suraj\_NSKurapati](https://www.ruby-forum.com/u/Suraj_NSKurapati)\
**Post date:** [September 19, 2006, 11:46am UTC](https://www.ruby-forum.com/t/ruby-ixp-1-0-2/69165/3 "2006-09-19T11:46:31Z")

</div>

On Tue, Sep 19, 2006 at 10:03:23AM +0900, Suraj N. Kurapati 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 😉 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,

---

<div class="post-metadata">

**Author:** ![Suraj\_NSKurapati](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Suraj\_NSKurapati](https://www.ruby-forum.com/u/Suraj_NSKurapati)\
**Post date:** [September 19, 2006, 1:00pm UTC](https://www.ruby-forum.com/t/ruby-ixp-1-0-2/69165/4 "2006-09-19T13:00:37Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Mauricio F. wrote:

> On Tue, Sep 19, 2006 at 10:03:23AM +0900, Suraj N. Kurapati 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 😉 hacked ruby-wmii to use Ruby-IXP, and was  
> experiencing some stability problems:

🙂

> 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.  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFFD8gwmV9O7RYnKMcRAuiEAKCW7V4HpjNaVnk0tI+FXqx0MsmQ+wCgjauS  
4BQfIC2sSCtU/YfMvI/WSK8=  
=TykV  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![Suraj\_NSKurapati](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Suraj\_NSKurapati](https://www.ruby-forum.com/u/Suraj_NSKurapati)\
**Post date:** [September 19, 2006, 2:10pm UTC](https://www.ruby-forum.com/t/ruby-ixp-1-0-2/69165/5 "2006-09-19T14:10:43Z")

</div>

Mauricio F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> This is great news. I’ve recently (last Sat., just before you started to  
> release on a nearly daily basis 😉 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

---

<div class="post-metadata">

**Author:** ![Suraj\_NSKurapati](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Suraj\_NSKurapati](https://www.ruby-forum.com/u/Suraj_NSKurapati)\
**Post date:** [September 19, 2006, 5:36pm UTC](https://www.ruby-forum.com/t/ruby-ixp-1-0-2/69165/6 "2006-09-19T17:36:20Z")

</div>

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

> Mauricio F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:
> 
> > This is great news. I’ve recently (last Sat., just before you started to  
> > release on a nearly daily basis 😉 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 🙂 did that since it  
was  
ugly anyway.

---

<div class="post-metadata">

**Author:** ![Suraj\_NSKurapati](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Suraj\_NSKurapati](https://www.ruby-forum.com/u/Suraj_NSKurapati)\
**Post date:** [September 19, 2006, 7:50pm UTC](https://www.ruby-forum.com/t/ruby-ixp-1-0-2/69165/7 "2006-09-19T19:50:45Z")

</div>

Mauricio F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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?

[…]

> 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 🙂 did that since it was  
> ugly anyway.

You guys made my day 🙂 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 😉 It feels great  
and fast.
