From: timsuth@... (Tim Sutherland) Date: 2004-11-30T19:07:50+09:00 Subject: Ruby Weekly News 22nd-28th November 2004 (Apologies for missing out accents etc. in people's names in the previous Ruby Weekly News editions I posted. The web versions had them but my conversion-to-plain-text process inadvertently stripped them out.) Ruby Weekly News 22nd-28th November 2004 ---------------------------------------- A summary of the week's activity on the ruby-talk mailing list / the comp.lang.ruby newsgroup. This summary is brought to you by Tim Sutherland (TimSuth). Articles and Announcements -------------------------- * [Most popular wiki in Ruby seeks kind maintainer] David Heinemeier Hansson is looking for someone to take over maintenance of [Instiki], a Wiki platform written in Ruby. "Instiki just surpassed 8,000 downloads on RubyForge, which makes it the most downloaded piece of software there if you don't count Ruby itself." ... "Who's willing for glory and honor?" Alexey Verkhovsky said he'd do it if no-one else volunteered. * [POPL 2005 Call for Participation] David Walker posted the Call for Participation in the annual symposium on Principles of Programming Languages (POPL) - 32nd Annual ACM SIGPLAN - SIGACT. The hotel registration deadline is December 21, 2004 and the main conference is in California on January 12-14, 2005. * [Ruby/DL translation] Benjamin Peterson [translated] the Ruby/DL tutorial from Japanese to English. New Releases ------------ * [Table Helper for Ruby on Rails ] Bauduin Raphael released [Table Helper] for [Rails]. It's used for creating an HTML table out of an Array. * [Nitro 0.5.0] George Moschovitis announced a new version of his web application framework [Nitro]. It now provides Og (Object-Relational mapping) as a stand-alone library. * [Checkpointing Ruby applications (DragonFlyBSD only)] Michael Neumann wrote a Ruby wrapper for [DragonFlyBSD]'s sys_checkpoint system call. A running application can be dumped to disk and resumed later on. He mentioned that it could be useful for web frameworks that use Continuations and are therefore not able to be dumped with Marshal. * [xmlresume2x 0.1.0] Thomas Leitner submitted the first release of [xmlresume2x], used for converting R�sum�s (CVs) written in the [XML R�sum� Library Format] into various output formats, including LaTeX, text, HTML and PDF. * [D-Bus/Ruby 0.1.4] [DBus/Ruby 0.1.5] Leon Breedt announced version 0.1.4 of [DBus/Ruby], his Ruby binding for the D-BUS message bus (one use of D-BUS is in recent Linux distributions to provide a generic Hardware Access Layer - HAL - to applications). He later released version 0.1.5 with GEM package support (it was already on RPA). * [rem 0.0.7] yyuu updated [Rem]. This is a debugger for Ruby code, supporting command-line and remote debugging. * [Pimki] Assaph Mehr created a Personal Information Manager (PIM) called [Pimki] based off a modified [Instiki] base. It includes support for "mind maps" (graph of Wiki connections), blogs and TODO lists. * [win32-file 0.4.0] On behalf of the [Win32Utils] team, Daniel Berger announced a new version of win32-file. It now provides File.nopen, File#nread and File#nwrite corresponding to CreateFile(), ReadFile() and WriteFile() respectively. These provide win32-specific options (e.g. access retrictions) and may enable "much, much better performance" in some situations. * [a non-heinous acceptance test rig inside MiniRubyWiki] Phlip modified his Wiki software MiniRubyWiki to enable people to create simple unit tests through an HTML form interface. * [RubyInline 3.2.0] Ryan Davis declared that [RubyInline] 3.2.0 was ready. This is the Ruby analogue to Perl's Inline::C, allowing inline C and C++ in Ruby code. * [Net::SSH 0.5.0] After two months of refactoring, Jamis Buck released a new version of [Net::SSH] ("a pure-Ruby implementation of the SSH2 client protocol"). * [RSS Parser 0.1.1] Kouhei Sutou released [RSS Parser] 0.1.1. API improvements mean that it is now easy to do operations like merging RSS feeds. * [One-Click Installer 1.8.2-14 RC10] Curt Hibbs announced a new release-candidate of the Windows Ruby One-Click Installer. The most important change is the inclusion of FreeRIDE 0.9.0. * [Multiplexer - linear non-blocking I/O] Mikael Brockman announced a library called [Multiplexer] which uses continuations to make non-blocking I/O easier to use. There were a number of replies to his announcement, pointing out that callcc is implemented in Ruby using threads, and that threads doing I/O end up using select. * [RDT 0.5.0] Chris Williams improved [RDT] (Ruby Development Tools), a set of Eclipse plugins that enable the use of Eclipse as a Ruby IDE. With this release comes integrated support for Test::Unit (red/green bars). * [Ruwiki 0.9.0] Austin Ziegler added new features including anti-spam measures to [Ruwiki], a Wiki server written in Ruby. Ruwiki has features like project namespaces not found in other Wiki systems, and RubyForge will be modified in a few weeks to provide Ruwiki support for the projects hosted there. * [cros-0.1 prerelease] Simon Strandgaard made an early release of cros: an "Operator Stacking" system. It provides a framework whereby a web browser can be used to fill in a grid of "operators" which manipulate data (e.g. graphics, sound, text) and pass the result onto the next operator. It appears to be a tool for graphically creating 'demos' for fun. * [FreeRIDE 0.9.0] Curt Hibbs announced a new major version of the Ruby IDE [FreeRIDE], with many bugfixes for the Windows platform. Threads ------- Interesting threads this week included: [Ruby and the XBox] ------------------- Phlip noticed that the programming language [Lua] is often used in computer games (for example, World of Warcraft) and wondered how well-suited Ruby would be to this arena. Niklas Frykholm pointed out some of the advantages of Lua - it has a small, simple implementation and standard library, incremental garbage collection, and no built-in object model (making it easy to map to C++ objects). [Marshal vs. YAML vs. something else], [YAML Problems Clearinghouse] [YAML question (hi _why!)] -------------------------------------------------------------------- During a discussion on [Instiki], Francis Hwang asked what formats people prefer for representing objects on disk. YAML, XML and Ruby's Marshal were all discussed. The thread became focused on some areas for improvement in YAML, for example the way default values are supported. [[SUMMARY] Object Browser (#8)], [[SOLUTION] Object Browser (#8)] ----------------------------------------------------------------- Solutions to last week's Ruby Quiz (creating a program to graphically browse Ruby objects) were discussed. [[QUIZ] Banned Words (#9)], [[QUIZ: Solution] Banned Words (#9)] ---------------------------------------------------------------- Fredrik Jagenheim came up with this week's Ruby Quiz: "At work we discovered that they installed a spam filter that throws away e-mail that it considers spam. It doesn't use any Bayes Filter, it simply checks for certain words that it considers 'banned'. One word we discovered was 'sex', which is a Swedish word for the number six. So the phrase "I'll be home at six o'clock." will be classified as spam, thrown away and never seen. The Ruby Quiz I propose is to figure out which words are banned. Since the filter is a black box, we can only find out which words they are by sending email through it. The real problem is to find out how to do it with as *few* emails as possible." [How to avoid inheriting Object?] --------------------------------- itsme213 asked how he could create an object that doesn't inherit from Object. He wanted to start with a "blank slate" without all the methods instances of Object have. Matz suggested that he still inherit from Object but undefine methods apart from some essential ones like __id__ and __send__. Mauricio Fern�ndez pointed out that [evil.rb] provides objects that don't inherit from Object. evil.rb is a library that uses Ruby/DL to provide access to internal Ruby interpreter data structures from Ruby. In this way it lets the programmer do "evil" things that often break Ruby in surprising ways. [ruby-dev summary 24741-24958] ------------------------------ Kazuo Saito posted a summary of the Japanese ruby-dev list for the past week. The [summary index] is also available. URABE, Syohei created a list of maintainers/developers of the various libraries distributed with Ruby. This will be a very useful resource.