The Dailyish IRC Newsletter, 2007.05.03

Posted by rue, Sat May 05 01:42:00 UTC 2007

Stuff from 2007.05.02-03

  • Libevent woes

    Evan has been tracking down a bug in the library used for monitoring files and sockets, Libevent. It is supposed to abstract the best platform-specific library into an event- based one. On BSD this means using kqueue, epoll on Linux and so on (it can fall back on select() or poll() also.)

    Aanyway. Apparently epoll is causing problems with regular files for some reason. There is currently a workaround in place but if anyone wants to try to tackle it, go for it.

  • I/O buffering

    Currently no buffering is being done on I/O (except of course whatever the platform may add) which means it is performing less-than optimally. A few ideas were tossed around from writing our own buffering to borrowing ideas from nginx’ probably brilliant implementation.

  • !=

    Defiler was working on implementing != as a method rather than as a simple translation to a not compiler translation. A default implementation in (presumably) Object would still be a not-condition but it might allow some nice tricks where and != might measure different things. This is, of course, wildly incompatible with MRI.

  • Packaging

    brixen was wondering about future packaging needs and whether the rubinius team should be responsible for maintaining those instead of the traditional shift of responsibility to third-party packagers. Discussion on the topic and volunteers most welcome.

  • Debugging

    It is about time to start implementing a debugger to help with some of the trickier VM issues. Implementation is at this point completely open.

  • Developments

    A mysterious coder by the IRC nick of mojambo has been working on Time.

  • Loading libraries

    kevinclark (guess what his real name is.. no fun some of these people not embracing anonymity) found out that the syntax for loading a library (#require, #load etc.) is

    out = VM.load_library ‘path/to/file’, ‘file’

    where the first argument is the full path and the second is the extension name. In the context of normal Ruby loading these will be the same.

    The extension suffix is currently determined statically for the platform (.so, .bundle or .dll) in library.c.

  • rbconfig

    The above discussion lead into a short discussion about implementing rbconfig.

  • Raw logs

    I have the raw IRC logs available uncropped and infrequently updated with few gaps at http://files.kittensoft.org/rubinius.txt

Filed Under: rubinius | Tags:

Comments