<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.informix-zone.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>The Informix Zone - ruby</title>
 <link>http://www.informix-zone.com/taxonomy/term/41/0</link>
 <description></description>
 <language>en</language>
<item>
 <title>New Ruby/Informix Website</title>
 <link>http://www.informix-zone.com/node/435</link>
 <description>&lt;h1&gt;New Ruby/Informix Website&lt;/h1&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://ruby-informix.rubyforge.org&quot;&gt;&lt;img src=&quot;/files/graphics/ruby_ifx.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you are an Informix fan - you probably are as you are visiting &lt;i&gt;The Informix Zone&lt;/i&gt; - and you are looking for a powerful, easy to learn and robust programming language, take a deeper look at &lt;a target=&quot;_blank&quot; href=&quot;http://www.ruby-lang.org&quot;&gt;Ruby&lt;/a&gt;. Combined with the &lt;a target=&quot;_blank&quot; href=&quot;http://www.rubyonrails.org/&quot;&gt;Ruby on Rails&lt;/a&gt; framework, &lt;i&gt;Ruby&lt;/i&gt; is an extremely &lt;b&gt;efficient&lt;/b&gt; language for developing web based applications. Applications that probably need a high performance OLTP &lt;b&gt;cluster database&lt;/b&gt; like &lt;a href=&quot;/ids-positioning&quot;&gt;IDS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Learn more about &lt;b&gt;connecting&lt;/b&gt; &lt;i&gt;IDS&lt;/i&gt; with &lt;i&gt;Ruby&lt;/i&gt; on &lt;b&gt;Gerardo Santana&#039;s&lt;/b&gt; new website:&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://ruby-informix.rubyforge.org&quot;&gt;http://ruby-informix.rubyforge.org&lt;/a&gt;&lt;/p&gt;
</description>
 <comments>http://www.informix-zone.com/node/435#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/31">blog</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/41">ruby</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/15">technical</category>
 <pubDate>Tue, 01 Apr 2008 18:02:35 +0200</pubDate>
 <dc:creator>eherber</dc:creator>
 <guid isPermaLink="false">435 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>Ruby/Informix 0.6.0 released</title>
 <link>http://www.informix-zone.com/node/265</link>
 <description>&lt;h1&gt;Ruby/Informix 0.6.0 released&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;/files/graphics/ruby_logo.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;There are two important additions in this release:&lt;/p&gt;
&lt;ul class=&quot;ba&quot;&gt;
&lt;li&gt;Test suite
&lt;li&gt;Exception classes for Informix errors
&lt;/ul&gt;
&lt;p&gt;Please read the following changelog for details.&lt;/p&gt;
&lt;p&gt;&lt;!--break--&gt;&lt;/p&gt;
&lt;p&gt;Changelog:&lt;/p&gt;
&lt;p&gt;0.6.0  08/28/2007&lt;br /&gt;
------------------&lt;br /&gt;
New features:&lt;/p&gt;
&lt;ul class=&quot;ba&quot;&gt;
&lt;li&gt;Test suite
&lt;li&gt;Error, Warning, and AssertionFailure classes replace RuntimeError when raising exceptions.
&lt;p&gt;      Error class methods:&lt;br /&gt;
        - message&lt;br /&gt;
        - sql_code&lt;br /&gt;
        - add_info&lt;br /&gt;
        - []&lt;br /&gt;
        - each&lt;br /&gt;
        - to_s&lt;br /&gt;
        - size, length&lt;/p&gt;
&lt;p&gt;      message and sql_code reference the first error message. Following&lt;br /&gt;
      errors can be accessed through Error#[] as ExcInfo objects.&lt;/p&gt;
&lt;p&gt;      ExcInfo is a Struct with the following members:&lt;br /&gt;
        - sql_code&lt;br /&gt;
        - sql_state&lt;br /&gt;
        - class_origin_val&lt;br /&gt;
        - subclass_origin_val&lt;br /&gt;
        - message&lt;br /&gt;
        - server_name&lt;br /&gt;
        - connection_name&lt;/p&gt;
&lt;p&gt;      See test/testcase.rb for a simple example of exception handling.&lt;/p&gt;
&lt;li&gt;Informix.version returns the version of this extension
&lt;li&gt;Database#do aliased as Database#execute
&lt;li&gt;More documentation
&lt;/ul&gt;
&lt;p&gt;Remarks:&lt;/p&gt;
&lt;ul class=&quot;ba&quot;&gt;
&lt;li&gt;Database#do is deprecated and will be removed in next versions. Use Database#execute or Database#immediate instead.
&lt;li&gt;In case of Informix errors, RuntimeError objects are no longer raised.&lt;br /&gt;
      Error, Warning and AssertionFailure objects are raised instead.
&lt;/ul&gt;
&lt;p&gt;Acknowledgments:&lt;br /&gt;
    I want to thank Edwin Fine (emofine at finecomputerconsultants dot com) who contributed all the functionality of this release.&lt;/p&gt;
&lt;p&gt;--&lt;br /&gt;
Gerardo Santana &lt;/p&gt;
</description>
 <comments>http://www.informix-zone.com/node/265#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/84">announcement</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/41">ruby</category>
 <pubDate>Wed, 29 Aug 2007 07:11:25 +0200</pubDate>
 <dc:creator>santana</dc:creator>
 <guid isPermaLink="false">265 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>Ruby/Informix 0.5.1 released</title>
 <link>http://www.informix-zone.com/node/257</link>
 <description>&lt;p&gt;&lt;img src=&quot;/files/graphics/ruby_logo.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;
This is a maintenance release.
&lt;/p&gt;
&lt;p&gt;
The code that interprets DATETIME columns had a bug.
&lt;/p&gt;
&lt;p&gt;
Time objects were being instantiated with incorrect values when the original ones had leading zeroes and the DATETIME column was defined with the HOUR TO SECOND qualifier.
&lt;/p&gt;
&lt;p&gt;
Thanks to Daniel Bush&lt;br /&gt;
&lt;dlb.id.au at gmail&gt; for his report.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Home page:&lt;/b&gt; &lt;a href=&quot;http://ruby-informix.rubyforge.org&quot;&gt;http://ruby-informix.rubyforge.org&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Download from:&lt;/b&gt; &lt;a href=&quot;http://rubyforge.org/projects/ruby-informix/&quot;&gt;http://rubyforge.org/projects/ruby-informix/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Addition from Eric&lt;/b&gt;:&lt;br /&gt;
Please also read this interesting summary from &lt;b&gt;Guy Bowerman&lt;/b&gt; about enhancements in IDS 11 regarding the network protocol:&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www-03.ibm.com/developerworks/blogs/page/gbowerman?entry=ruby_informix_and_the_ruby&amp;amp;ca=drs-bl&quot;&gt;Ruby/Informix, and the Ruby Common client&lt;/a&gt;&lt;/p&gt;
</description>
 <comments>http://www.informix-zone.com/node/257#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/84">announcement</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/41">ruby</category>
 <pubDate>Tue, 14 Aug 2007 01:11:53 +0200</pubDate>
 <dc:creator>santana</dc:creator>
 <guid isPermaLink="false">257 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>Ruby/Informix 0.5.0 released</title>
 <link>http://www.informix-zone.com/node/73</link>
 <description>&lt;p&gt;&lt;img src=&quot;/files/graphics/ruby_logo.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;
Ruby/Informix is a Ruby extension for connecting to IBM Informix Dynamic Server, written in ESQL/C.
&lt;/p&gt;
&lt;p&gt;
It is being developed and heavily tested on Solaris/SPARC. It has been reported to work on Linux, Windows and HP-UX.
&lt;/p&gt;
&lt;p&gt;
There are four major enhancements in this release:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Use of BigDecimal for MONEY/DECIMAL columns
&lt;li&gt; Resource management by means of blocks for statements, cursors and connnections
&lt;li&gt; Support for SLOB status and storage characteristics information gathering
&lt;li&gt; Thread safe
&lt;/ul&gt;
&lt;p&gt;
Along with bug fixes, more documentation and new handy methods.
&lt;/p&gt;
&lt;p&gt;
Special thanks to Guy Bowerman, Jonathan Leffler and Logan Capaldo for their feedback and help.
&lt;/p&gt;
&lt;p&gt;&lt;!--break--&gt;&lt;/p&gt;
&lt;p&gt;
Home page:      &lt;a href=&quot;http://ruby-informix.rubyforge.org&quot;&gt;http://ruby-informix.rubyforge.org&lt;/a&gt;&lt;br&gt;Download from:  &lt;a href=&quot;http://rubyforge.org/projects/ruby-informix/&quot;&gt;http://rubyforge.org/projects/ruby-informix/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Changelog:
&lt;/p&gt;
&lt;pre&gt;
0.5.0  12/27/2006
------------------
New features:
       * Easier to install
       * BigDecimal accepted for input parameters
       * BigDecimal used for instantiating DECIMAL and MONEY values
       * Cursor, Statement, Slob and Database accept an optional block that
         automatically frees resources after execution.
         Based on ideas and pseudo-code by
         Edwin Fine &amp;lt;emofine at finecomputerconsultants dot com&gt; and me.
       * Database#slob shortcut for creating Slob objects.
       * Slob::Stat class implemented. Returned by Slob#stat, represents the
         SLOB status. Methods: atime, ctime, mtime, refcnt and size. Includes
         Comparable.
       * Slob new methods: &lt;&lt;, rewind, stat, pos, pos=, lock, unlock,
                           estbytes, extsz, flags, maxbytes, sbspace,
                           extsz=, flags=,
                           atime, ctime, mtime, refcnt and size
       * Thread safe

Remarks:
       * DECIMAL and MONEY columns are no longer returned as Float. BigDecimal
         is used instead.

Bugs fixed:
       * If there was an error reading (ifx_lo_read) an SLOB, memory
         allocated for the read buffer was not freed. Noticed by
         Edwin Fine &amp;lt;emofine at finecomputerconsultants dot com&gt;
       * maxbytes option was ignored when creating an Slob object
       * Documentation for Slob mentioned an RDRW constant, but it actually
         is RDWR.
&lt;/pre&gt;&lt;br /&gt;
</description>
 <comments>http://www.informix-zone.com/node/73#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/41">ruby</category>
 <pubDate>Fri, 29 Dec 2006 17:23:25 +0100</pubDate>
 <dc:creator>santana</dc:creator>
 <guid isPermaLink="false">73 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>A gem for Informix</title>
 <link>http://www.informix-zone.com/node/70</link>
 <description>&lt;p&gt;&lt;img src=&quot;/files/graphics/ruby_logo.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;
Not long ago, around mid-2005, I was enchanted by the beauty of &lt;a href=&quot;http://www.rubyonrails.com&quot;&gt;Ruby on Rails&lt;/a&gt;. Not much time passed until I found where the &lt;a href=&quot;http://www.ruby-lang.org/en/about/&quot;&gt;beauty came from&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
My name is Gerardo Santana and I&#039;m the author of the &lt;a href=&quot;http://rubyforge.org/projects/ruby-informix/&quot;&gt;Ruby driver&lt;/a&gt; for &lt;a href=&quot;http://informix-zone.com/?q=node/30&quot;&gt;Informix&lt;/a&gt;, the RDBMS that powers the largest database of employees (for a personnel management and payment system) and the largest database of students (for a student information system) in the state of Chiapas, at my work place.
&lt;/p&gt;
&lt;p&gt;
Before deciding to write the Ruby driver, I tried the &lt;a href=&quot;http://search.cpan.org/~johnl/DBD-Informix-2003.04/Informix.pm&quot;&gt;Perl driver&lt;/a&gt; first (Python was not an option since at the time it was in beta.) But after knowing and enjoying Ruby on Rails, I decided to rewrite one of our systems with it. Not having the ActiveRecord adapter for Informix, not even a native Ruby driver for Informix, drove me to give Informix not one, but two gems: &lt;a href=&quot;http://rubyforge.org/projects/ruby-informix/&quot;&gt;Ruby/Informix&lt;/a&gt; and &lt;a href=&quot;http://rubyforge.org/projects/rails-informix/&quot;&gt;Rails/Informix&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
And it has proved rewarding. Solving real problems in a fast, reliable and ejoyable way is priceless.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fast&lt;/strong&gt;, because it&#039;s using the ESQL/C interface as it was intended to be, instead of arbitrary DB APIs. Let the programmer unleash the full power of Informix.
&lt;li&gt;&lt;strong&gt;Reliable&lt;/strong&gt;, because it lets you write safer code that automatically and immediatly frees database resources after using them. No more resource leaks.
&lt;li&gt;&lt;strong&gt;Enjoyable&lt;/strong&gt;. Thank you Matz.
&lt;/ul&gt;
&lt;p&gt;
In the next posts I will provide examples of effective and efficient uses of the Ruby driver as well as interesting uses of ActiveRecord with Informix.
&lt;/p&gt;
</description>
 <comments>http://www.informix-zone.com/node/70#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/41">ruby</category>
 <pubDate>Fri, 22 Dec 2006 22:32:22 +0100</pubDate>
 <dc:creator>santana</dc:creator>
 <guid isPermaLink="false">70 at http://www.informix-zone.com</guid>
</item>
<item>
 <title>Talking with Perl, PHP, Python, Ruby to IDS</title>
 <link>http://www.informix-zone.com/informix-script-dbapi</link>
 <description>&lt;h1&gt;Creating a Powerful Mixture&lt;/h1&gt;
&lt;table width=&quot;100%&quot;&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.perl.org&quot;&gt;&lt;img src=&quot;/files/graphics/perl_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net&quot;&gt;&lt;img src=&quot;/files/graphics/php_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.python.org&quot;&gt;&lt;img src=&quot;/files/graphics/python_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ruby-lang.org/en/&quot;&gt;&lt;img src=&quot;/files/graphics/ruby_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.informix.com&quot;&gt;&lt;img src=&quot;/files/blue_marine_logo.gif&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;This article describes the &lt;b&gt;database interfaces&lt;/b&gt; of popular &lt;b&gt;script languages&lt;/b&gt; like &lt;a target=&quot;_blank&quot; href=&quot;http://www.perl.org&quot;&gt;Perl&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net&quot;&gt;PHP&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;http://www.python.org&quot;&gt;Python&lt;/a&gt; or &lt;a target=&quot;_blank&quot; href=&quot;http://www.ruby-lang.org/en/&quot;&gt;Ruby&lt;/a&gt; which provide direct access to data stored in &lt;a target=&quot;_blank&quot; href=&quot;http://www.ibm.com/software/data/informix/ids/&quot;&gt;Informix Dynamic Server&lt;/a&gt;.&lt;br /&gt;
&lt;!-- break --&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#powerful scripting&quot;&gt;Powerful Script Languages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#powerful ids&quot;&gt;Powerful IDS Capabilities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#best of breed&quot;&gt;Best of Breed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#db api&quot;&gt;Database Abstraction Layer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#perl&quot;&gt;IDS and Perl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#php&quot;&gt;IDS and PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#python&quot;&gt;IDS and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#ruby&quot;&gt;IDS and Ruby&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&quot;powerful scripting&quot;&gt;&lt;br /&gt;
&lt;h2&gt;Powerful Script Languages&lt;/h2&gt;
&lt;p&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Script languages like &lt;a target=&quot;_blank&quot; href=&quot;http://www.perl.org&quot;&gt;Perl&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net&quot;&gt;PHP&lt;/a&gt;, &lt;a target=&quot;_blank&quot; href=&quot;http://www.python.org&quot;&gt;Python&lt;/a&gt; and &lt;a target=&quot;_blank&quot; href=&quot;http://www.ruby-lang.org/en/&quot;&gt;Ruby&lt;/a&gt; are getting more and more &lt;b&gt;popular&lt;/b&gt;. Beside &lt;b&gt;rapid&lt;/b&gt; prototyping capabilities they also allow the development of &lt;b&gt;complex&lt;/b&gt; software projects in a &lt;b&gt;time-saving&lt;/b&gt; and &lt;b&gt;efficient&lt;/b&gt; manner. &lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;powerful ids&quot;&gt;&lt;br /&gt;
&lt;h2&gt;Powerful Informix Capabilities&lt;/h2&gt;
&lt;p&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;I&lt;/b&gt;normix &lt;b&gt;D&lt;/b&gt;ynamic &lt;b&gt;S&lt;/b&gt;erver is a &lt;a href=&quot;/ids-positioning&quot;&gt;strategic data server&lt;/a&gt; inside the IBM Information Management Division that is well known for it&#039;s &lt;b&gt;outstanding&lt;/b&gt; capabilities:&lt;/p&gt;
&lt;ul class=&quot;ba&quot;&gt;
&lt;li&gt;Impressive Transaction Performance&lt;/li&gt;
&lt;li&gt;High Reliability and First Class Support&lt;/li&gt;
&lt;li&gt;Rich, sophisticated Extensibility Features&lt;/li&gt;
&lt;li&gt;Backward Compatibility and Painless Version Upgrades&lt;/li&gt;
&lt;li&gt;Powerful Replication Solutions inside the DBMS Kernel&lt;/li&gt;
&lt;li&gt;Hardware gentle, scalable Multithreading Architecture&lt;/a&gt;
&lt;li&gt;Extremely low Administration Overhead&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&quot;best of breed&quot;&gt;&lt;br /&gt;
&lt;h2&gt;Script Languages + IDS = Powerful Mixture&lt;/h2&gt;
&lt;p&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Combining the advantages of Perl, PHP, Python or Ruby with IBM&#039;s &lt;a href=&quot;?q=node/30&quot;&gt;cult database&lt;/a&gt; &lt;b&gt;Informix Dynamic Server&lt;/b&gt; results in an extremly &lt;b&gt;efficient&lt;/b&gt; software platform. A platform that is well primed for &lt;b&gt;increasing&lt;/b&gt; data volumes and the most demanding &lt;b&gt;high availability&lt;/b&gt; requirements.&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;db api&quot;&gt;&lt;br /&gt;
&lt;h1&gt;Database Abstraction Layer&lt;/h1&gt;
&lt;p&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;All four script languages offer a &lt;b&gt;database abstraction layer&lt;/b&gt; which allows the programming of &lt;a&gt;portable&lt;/a&gt; database applications:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/files/graphics/db_api.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The Informix specific implementations of those database abstraction layers are all programmed in &lt;b&gt;Esql/C&lt;/b&gt;. In order to compile the driver you need beside a &lt;b&gt;C compiler&lt;/b&gt; the free of charge Informix &lt;b&gt;Client SDK&lt;/b&gt; software installed. The Client SDK can be downloaded from here:&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www14.software.ibm.com/webapp/download/search.jsp?rs=ifxdl&quot;&gt;Free Download of Client SDK&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;perl&quot;&gt;&lt;img src=&quot;/files/graphics/perl_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Perl&quot;&gt;Perl&lt;/a&gt; has a long history and is still one of the most &lt;b&gt;popular&lt;/b&gt; scripting languages available today. Beside the development of web based applications, Perl is heavily used in the area of &lt;b&gt;system administration&lt;/b&gt; automation on Unix and Linux systems. Another prominent Perl area is the &lt;b&gt;extraction&lt;/b&gt; and &lt;b&gt;conversion&lt;/b&gt; of data due to it&#039;s outstanding text processing capabilities.&lt;/p&gt;
&lt;p&gt;Perl provides a &lt;b&gt;rich&lt;/b&gt; offering of additional modules for almost every task, just take a look at the &lt;a target=&quot;_blank&quot; href=&quot;http://www.cpan.org&quot;&gt;Comprehensive Perl Archive Network&lt;/a&gt; (CPAN). The DBI (&lt;b&gt;D&lt;/b&gt;ata&lt;b&gt;B&lt;/b&gt;ase &lt;b&gt;I&lt;/b&gt;nterface) is the well established standard for accessing databases from Perl. It defines a set of abstract methods which are implemented by the underlaying &lt;b&gt;D&lt;/b&gt;ata&lt;b&gt;B&lt;/b&gt;ase &lt;b&gt;D&lt;/b&gt;river (DBD). The driver for accessing an Informix database is called &lt;b&gt;&lt;i&gt;DBD::Informix&lt;/i&gt;&lt;/b&gt; and it has been written by &lt;b&gt;Jonathan Leffler&lt;/b&gt;, a superb Informix expert and architect of Informix@IBM. &lt;i&gt;DBD::Informix&lt;/i&gt; is well-engineered and contains an &lt;b&gt;excellent&lt;/b&gt; documentation.&lt;/p&gt;
&lt;h3&gt;Installation steps for DB-API DBD::Informix&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://search.cpan.org/~johnl/DBD-Informix-2005.02/Informix.pm&quot;&gt;Download DBD::Informix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;gzcat &amp;lt;perl_ifx_archive&amp;gt; | tar xvf -&lt;/li&gt;
&lt;li&gt;cd &amp;lt;perl_ifx_archive_dir&amp;gt;&lt;/li&gt;
&lt;li&gt;perl Makefile.PL&lt;/li&gt;
&lt;li&gt;make&lt;/li&gt;
&lt;li&gt;make test&lt;/li&gt;
&lt;li&gt;make install&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Example Program&lt;/h3&gt;
&lt;pre&gt;
#!/usr/bin/perl

use warnings;
use strict;
use DBI;

# ------------------------------------
# open connection to database &#039;stores&#039;
# ------------------------------------
my $dbh = DBI-&gt;connect
          (
             &quot;DBI:Informix:stores&quot;,
             &#039;&#039;,
             &#039;&#039;,
             { PrintError =&gt; 0, RaiseError =&gt; 1, AutoCommit =&gt; 0 }
          );

# ----------------
# open transaction
# ----------------
$dbh-&gt;do(&quot;begin&quot;);

# --------------------------------------
# prepare and execute &#039;select&#039; statement
# --------------------------------------
my $sth1 =$dbh-&gt;prepare(&quot;select code, sname from state&quot;);
$sth1-&gt;execute();

# --------------------------
# prepare &#039;delete&#039; statement
# --------------------------
my $sth2 = $dbh-&gt;prepare(&quot;delete from state where code = ?&quot;);

# ---------------------
# fetch thru result set
# ---------------------
while (my $row = $sth1-&gt;fetchrow_hashref())
{

    # -------------------------------------------
    # delete row if column &#039;code&#039; begins with &#039;C&#039;
    # -------------------------------------------
   if ($row-&gt;{code} =~ /^C/)
   {
      $sth2-&gt;bind_param(1, $row-&gt;{code});
      $sth2-&gt;execute();
      print sprintf(&quot;DELETED: %-2s %-15s\n&quot;, $row-&gt;{code}, $row-&gt;{sname});
      next;
   }

   # --------
   # show row
   # --------
   print sprintf(&quot;%-2s %-15s\n&quot;, $row-&gt;{code}, $row-&gt;{sname});

}

# ---------------------------------------
# commit transaction and close connection
# ---------------------------------------
$dbh-&gt;do(&quot;commit&quot;);
$dbh-&gt;disconnect();

exit 0;
&lt;/pre&gt;&lt;h3&gt;More Information on Perl and DBD::Informix&lt;/h3&gt;
&lt;table width=&quot;100%&quot; border=0&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Location/URL&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perl Home&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.perl.org&quot;&gt;http://www.perl.org&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning Perl&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://learn.perl.org/&quot;&gt;http://learn.perl.org&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download DBD::Informix&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://search.cpan.org/~johnl/DBD-Informix-2005.02/Informix.pm&quot;&gt;DBD::Informix&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;J. Leffler: IDS and Open Source&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot;  href=&quot;/files/presentations/ids_opensource_jleffler.ppt&quot;&gt;ids_opensource_jleffler.ppt&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D. Priest: Using Perl &amp;amp; DBI&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;/files/presentations/perl_dbi_dpriest.pdf&quot;&gt;perl_dbi_dpriest.pdf&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;hr&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;php&quot;&gt;&lt;img src=&quot;/files/graphics/php_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;hhttp://en.wikipedia.org/wiki/Php&quot;&gt;PHP&lt;/a&gt; is the language of the &lt;b&gt;Web&lt;/b&gt; and contains an &lt;b&gt;awesome&lt;/b&gt; function library in this area. It is the foundation for many commercial and non-commerical websites today. PHP offers a Perl like syntax, is &lt;b&gt;easy&lt;/b&gt; to learn and allows newbies to be &lt;b&gt;quickly&lt;/b&gt; productive. In contrast to Perl the PHP programming instructions are directly &lt;b&gt;embedded&lt;/b&gt; in the HTML page which seems to be more &lt;b&gt;intuitive&lt;/b&gt; to most developers. However beyond the Web, languages like Perl and Python are more dominant than PHP. &lt;/p&gt;
&lt;p&gt;PHP 5 offers a database abstraction layer called &lt;b&gt;&lt;i&gt;PDO&lt;/i&gt;&lt;/b&gt; (&lt;b&gt;P&lt;/b&gt;HP &lt;b&gt;D&lt;/b&gt;ata &lt;b&gt;O&lt;/b&gt;bjects) which is included in PHP 5.1. &lt;b&gt;&lt;i&gt;PDO_INFORMIX&lt;/b&gt;&lt;/i&gt; is the Informix specific implementation of this abstraction layer developed by &lt;b&gt;Krishna Raman&lt;/b&gt; and &lt;b&gt;Kellen Bombardier&lt;/b&gt;. &lt;/p&gt;
&lt;h3&gt;Installation steps for DB-API PDO_INFORMIX with PHP 5.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
      &lt;a target=&quot;_blank&quot; href=&quot;http://pecl.php.net/package/PDO_INFORMIX/&quot;&gt;Download PDO_INFORMIX&lt;/a&gt;
   &lt;/li&gt;
&lt;li&gt;
      Create PHP with PDO as shared extension&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;configure -with-zlib -enable-pdo=shared&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
      Install Informix PDO Modul&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pear install PDO_INFORMIX&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
      Add entries to &lt;b&gt;&lt;i&gt;php.ini&lt;/i&gt;&lt;/b&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;extension=pdo.so&lt;/li&gt;
&lt;li&gt;extension=pdo_informix.so&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More detailled instructions about installing and configuring PDO can be found &lt;a target=&quot;_blank&quot; href=&quot;http://www.php-editors.com/php_manual/ref.pdo.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Example Program&lt;/h3&gt;
&lt;pre&gt;
&amp;lt;?php

# ------------------------------------
# open connection to database &#039;stores&#039;
# ------------------------------------
$dbh = new PDO(&quot;informix:host=starship2; service=1753; database=stores; server=starship2; protocol=onsoctcp&quot;);

# ----------------
# open transaction
# ----------------
$dbh-&gt;beginTransaction();

# --------------------------------------
# prepare and execute &#039;select&#039; statement
# --------------------------------------
$sth1 = $dbh-&gt;prepare(&quot;select code, sname from state&quot;);
$sth1-&gt;execute();

# --------------------------
# prepare &#039;delete&#039; statement
# --------------------------
$sth2 = $dbh-&gt;prepare(&quot;delete from state where code = ?&quot;);

# ---------------------
# fetch thru result set
# ---------------------
while( $row = $sth1-&gt;fetch() )
{
    # -------------------------------------------
    # delete row if column &#039;code&#039; begins with &#039;C&#039;
    # -------------------------------------------
   if (strncmp($row[&#039;CODE&#039;], &quot;C&quot;, 1) == 0)
   {
      $sth2-&gt;BindParam(1, $row[&#039;CODE&#039;]);
      $sth2-&gt;execute();
      printf(&quot;DELETED: %-2s %-15s\n&quot;, $row[&#039;CODE&#039;], $row[&#039;SNAME&#039;]);
      continue;
   }

    # --------
    # show row
    # --------
    printf(&quot;%-2s %-15s\n&quot;, $row[&#039;CODE&#039;], $row[&#039;SNAME&#039;]);

}

# ---------------------------------------
# commit transaction and close connection
# ---------------------------------------
$dbh-&gt;commit();
$dbh = null;

?&gt;
&lt;/pre&gt;&lt;h3&gt;More Information on PHP and PDO_INFORMIX&lt;/h3&gt;
&lt;table width=&quot;100%&quot; border=0&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Location/URL&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP Home&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.php.net&quot;&gt;http://www.php.net&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning PHP&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.w3schools.com/php/default.asp&quot;&gt;http://www.w3schools.com/php/default.asp&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download PDO_INFORMIX&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://pecl.php.net/package/PDO_INFORMIX/&quot;&gt;PDO_INFORMIX&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;J-G. Perrin: PHP Development with IDS&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;/files/presentations/php_jgp.ppt&quot;&gt;php_jpg.ppt&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;td&gt;IBM Redbook about PHP Development with IDS&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.redbooks.ibm.com/abstracts/sg247218.html&quot;&gt;http://www.redbooks.ibm.com/abstracts/sg247218.html&lt;/a&gt;&lt;/td&gt;
&lt;tr&gt;
&lt;tr&gt;
&lt;td&gt;How to install, configure Apache,PHP,IDS on Linux&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0606bombardier/&quot;&gt;IBM developerWorks article&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Maps API and PHP/IDS on Linux&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0602lurie/&quot;&gt;IBM developerWorks article&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;hr&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;python&quot;&gt;&lt;img src=&quot;/files/graphics/python_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Python_language&quot;&gt;Python&lt;/a&gt; is getting more and more popular. It has a clean, &lt;b&gt;object-oriented&lt;/b&gt; design. Scripts written in Python have a clean structure and easy to read and &lt;b&gt;maintain&lt;/b&gt;. The &lt;b&gt;basic&lt;/b&gt; version of Python already contains a whole bunch of useful modules. This is called the Python &lt;b&gt;&lt;i&gt;batteries included&lt;/i&gt;&lt;/b&gt; philosophy,  an interesting &lt;b&gt;analogy&lt;/b&gt; to &lt;b&gt;IDS&lt;/b&gt; Enterprise Edition which is also delivered with batteries included (Fragmentation, HDR, ER, HPL...).&lt;/p&gt;
&lt;p&gt;There is also an interesting second implementation of Python called &lt;a target=&quot;_blank&quot; href=&quot;http://www.jython.org&quot;&gt;Jython&lt;/a&gt;. Jython is a &lt;b&gt;pure Java&lt;/b&gt; implementation of the Python language and allows the developer to use Java class libraries (for example &lt;i&gt;JDBC&lt;/i&gt;) &lt;b&gt;directly&lt;/b&gt; in their Jython code. Check it out.&lt;/p&gt;
&lt;p&gt;Python has quite a wide range of use. It is perfectly suited for developing &lt;b&gt;ambitious&lt;/b&gt; software projects. However in the Web environment Perl and particulary PHP are more &lt;b&gt;dominant&lt;/b&gt;. &lt;/p&gt;
&lt;p&gt;The standard for accessing databases from Python is the &lt;b&gt;&lt;i&gt;DB-API&lt;/b&gt;&lt;/i&gt;. &lt;b&gt;Carsten Haese&lt;/b&gt; has developed the Informix specific implemenation of this abstraction layer called the &lt;b&gt;&lt;i&gt;InformixDB&lt;/i&gt;&lt;/b&gt; driver.&lt;/p&gt;
&lt;h3&gt;Installation steps for DB-API InformixDB&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://informixdb.sourceforge.net/&quot;&gt;Download DB-API InformixDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;gzcat &amp;lt;python_ifx_archiv&amp;gt; | tar xvf -&lt;/li&gt;
&lt;li&gt;cd &amp;lt;python_ifx_dir&amp;gt;&lt;/li&gt;
&lt;li&gt;python setup.py build_ext&lt;/li&gt;
&lt;li&gt;python setup.py install&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Example Program&lt;/h3&gt;
&lt;pre&gt;
#!/usr/bin/python

import sys
import informixdb  # import the InformixDB module

# ------------------------------------
# open connection to database &#039;stores&#039;
# ------------------------------------
conn = informixdb.connect(&quot;stores&quot;)

# ----------------------------------
# allocate cursor and execute select
# ----------------------------------
cursor1 = conn.cursor(rowformat = informixdb.ROW_AS_DICT)
cursor1.execute(&#039;select code, sname from state&#039;)

# --------------------------
# prepare &#039;delete&#039; statement
# --------------------------
cursor2 = conn.cursor()

# ---------------------
# fetch thru result set
# ---------------------
for row in cursor1:

    # -------------------------------------------
    # delete row if column &#039;code&#039; begins with &#039;C&#039;
    # -------------------------------------------
    if row[&#039;code&#039;][0] == &#039;C&#039;:
        cursor2.execute(&#039;delete from state where code = ?&#039;, (row[&#039;code&#039;],))
        print &quot;DELETED: %-2s %-15s&quot; % (row[&#039;code&#039;], row[&#039;sname&#039;])
        continue

   # --------
   # show row
   # --------
   print &quot;%-2s %-15s&quot; % (row[&#039;code&#039;], row[&#039;sname&#039;])


# ---------------------------------------
# commit transaction and close connection
# ---------------------------------------
conn.commit()
conn.close()

sys.exit(0);
&lt;/pre&gt;&lt;h3&gt;More Information on Python and InformixDB&lt;/h3&gt;
&lt;table width=&quot;100%&quot; border=0&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Location/URL&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Python Home&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.python.org&quot;&gt;http://www.python.org&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning Python&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://docs.python.org/tut/tut.html&quot;&gt;http://docs.python.org/tut/tut.html&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download DB-API InformixDB&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://informixdb.sourceforge.net/&quot;&gt;DB-API InformixDB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C. Haese: The Python InformixDB API &lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;/files/presentations/python_dbi_khaese.pdft&quot;&gt;python_dbi_khaese.pdf&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;hr&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;ruby&quot;&gt;&lt;img src=&quot;/files/graphics/ruby_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Ruby_language&quot;&gt;Ruby&lt;/a&gt; seems to be an interesting alternative to the well established script languages like Perl, PHP and Python. With the &lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Ruby_on_rails&quot;&gt;Ruby on Rails&lt;/a&gt; web framework, Ruby is getting more and more important in the &lt;b&gt;professional&lt;/b&gt; web development space. &lt;/p&gt;
&lt;p&gt;Ruby does also provide a database independent API called &lt;b&gt;&lt;i&gt;DBI&lt;/i&gt;&lt;/b&gt;. The actual Ruby/Informix driver written by &lt;b&gt;Gerardo Santana Gomez Garrido&lt;/b&gt; does currently not use the DBI. Ruby/Informix is a Ruby extension written in Esql/C. Even without the DBI/DBD wrapper, it can be &lt;b&gt;perfectly&lt;/b&gt; used to access Informix databases from the Ruby programming language. An Informix adapter for Ruby on Rails is also available (check the link section below).&lt;/p&gt;
&lt;p&gt;Unfortunately I didn&#039;t have the time to test Ruby myself, but &lt;b&gt;Gerado&lt;/b&gt; was so kind to translate my example program to Ruby/Informix.&lt;/p&gt;
&lt;h3&gt;Installation steps for DB-API Ruby-Informix&lt;/h3&gt;
&lt;p&gt;Here are two documents that might help:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.troubleshooters.com/codecorn/ruby/database/index.htm&quot;&gt;Ruby Database Connectivity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://ruby-informix.rubyforge.org&quot;&gt;Informix Driver for Ruby&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Example Program&lt;/h3&gt;
&lt;pre&gt;
#!/usr/local/bin/ruby -w

require &#039;informix&#039;

# ------------------------------------
# open connection to database &#039;stores&#039;
# ------------------------------------
db = Informix.connect(&#039;stores&#039;)

# ----------------
# open transaction
# ----------------
db.transaction {

# --------------------------------------
# prepare cursor for &#039;select&#039; statement
# --------------------------------------
  cursor = db.cursor(&quot;select code, sname from state&quot;)

# --------------------------
# prepare &#039;delete&#039; statement
# --------------------------
  stmt_delete = db.prepare(&quot;delete from state where code = ?&quot;)

# ---------------------
# open cursor and fetch thru result set
# ---------------------
  cursor.open.each_hash {|row|
    # -------------------------------------------
    # delete row if column &#039;code&#039; begins with &#039;C&#039;
    # -------------------------------------------
    if row[&#039;code&#039;][0].chr == &#039;C&#039;
      stmt_delete.execute(row[&#039;code&#039;])
      printf(&quot;DELETED: %-2s %-15s\n&quot;, row[&#039;code&#039;], row[&#039;sname&#039;])
      next
    end

    # --------
    # show row
    # --------
    printf(&quot;%-2s %-15s\n&quot;, row[&#039;code&#039;], row[&#039;sname&#039;])
  }.close

# ---------------------------------------
# commit transaction
# ---------------------------------------
}

# ---------------------------------------
# close connection
# ---------------------------------------
db.close
&lt;/pre&gt;&lt;h3&gt;More Information on Ruby and InformixDB&lt;/h3&gt;
&lt;table width=&quot;100%&quot; border=0&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Location/URL&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ruby Home&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ruby-lang.org/en&quot;&gt;http://www.ruby-lang.org/en&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning Ruby&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://sitekreator.com/satishtalim/toc.html&quot;&gt;http://sitekreator.com/satishtalim/toc.html&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download Ruby/Informix API&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://rubyforge.org/projects/ruby-informix/&quot;&gt;DB-API Ruby-Informix&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download Informix/Rails Adapter&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://rails-informix.rubyforge.org/&quot;&gt;Informix Adapter for Ruby Rails&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Informix on Rails&lt;/td&gt;
&lt;td&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www-03.ibm.com/developerworks/blogs/page/gbowerman?entry=informix_on_rails&amp;amp;ca=drs-bl/&quot;&gt;Guy Bowerman&#039;s Summary&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
</description>
 <comments>http://www.informix-zone.com/informix-script-dbapi#comment</comments>
 <category domain="http://www.informix-zone.com/taxonomy/term/20">development</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/33">perl</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/34">php</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/38">python</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/41">ruby</category>
 <category domain="http://www.informix-zone.com/taxonomy/term/15">technical</category>
 <pubDate>Sun, 19 Nov 2006 09:04:49 +0100</pubDate>
 <dc:creator>eherber</dc:creator>
 <guid isPermaLink="false">28 at http://www.informix-zone.com</guid>
</item>
</channel>
</rss>
