# Ruby Weekly News 12th - 18th September 2005

**URL:** <https://rubytalk.org/t/ruby-weekly-news-12th-18th-september-2005/20943>\
**Category:** ruby-talk\
**Created:** [20 September 2005 11:21 UTC](https://rubytalk.org/t/ruby-weekly-news-12th-18th-september-2005/20943 "2005-09-20T11:21:40Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tim\_Sutherland1](https://avatars.discourse-cdn.com/v4/letter/t/8e7dd6/32.png) [@Tim\_Sutherland1](https://rubytalk.org/u/Tim_Sutherland1)\
**Post date:** [20 September 2005 11:21 UTC](https://rubytalk.org/t/ruby-weekly-news-12th-18th-september-2005/20943/1 "2005-09-20T11:21:40Z")

</div>

[http://www.rubyweeklynews.org/20050918.html](http://www.rubyweeklynews.org/20050918.html)

Ruby Weekly News 12th - 18th September 2005

> **···**
>
> -------------------------------------------
> 
> &nbsp;&nbsp;&nbsp;Ruby Weekly News is a summary of the week's activity on the  
> &nbsp;&nbsp;&nbsp;ruby-talk mailing list \<=\> comp.lang.ruby newsgroup,  
> &nbsp;&nbsp;&nbsp;brought to you this week by Tim Sutherland and Christophe Grandsire.
> 
> Articles and Announcements  
> --------------------------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* Registration for RubyConf 2005 is now CLOSED!  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-----------------------------------------------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;David A. Black: "Registration for RubyConf 2005 is now closed. We have  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reached full capacity, based on paid registrations."
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\> Any registration fees we receive from this point on will be refunded  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\> to you, minus processing fees if any.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* Job site  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jason Toy announced a website created by himself and John Li for  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;posting and finding Ruby related jobs.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Jobs.Rubynow.com](http://Jobs.Rubynow.com) was created using Rails and PostgreSQL.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;James Edward Gray II: "How funny! You just stole the Ruby Quiz idea  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for tomorrow."
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* Article: The Fine Art of Computer Programming  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-----------------------------------------------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Christophe Grandsire linked to an article from the Free Software  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Magazine entitled "The Fine Art of Computer Programming".
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\> Since fun in programming is a recurrent theme among Rubyists, and  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\> there is quite a culture among us of clear, readable code, I thought  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\> it might interest some people here.
> 
> User Group News  
> ---------------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* The 2nd Hamburg.rb meeting in September  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-----------------------------------------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hamburg.rb are meeting more often, with September 21st being the  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;second one of the month.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* Boston.rb Meeting Tonight!  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----------------------------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Tonight" = September 13th, so if you're a Bostonite who is hearing  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;about this for the first time then you'll have to wait for the next  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* LA Ruby Meetup  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----------------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Joshua IT Smith announced that work was being done to organise an LA  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ruby group. The first meeting is scheduled for October 13, 2005.
> 
> Threads  
> -------
> 
> &nbsp;&nbsp;detaching required scripts  
> &nbsp;&nbsp;--------------------------
> 
> &nbsp;&nbsp;&nbsp;MiG's application used .rb files to represent `plugins' that could be  
> &nbsp;&nbsp;&nbsp;loaded and unloaded, with each one containing a module definition.
> 
> &nbsp;&nbsp;&nbsp;The application implemented unloading by calling remove\_const to remove  
> &nbsp;&nbsp;&nbsp;the module, however attempts to then re-require the plugin would fail,  
> &nbsp;&nbsp;&nbsp;because Ruby, noting that the file has already been required, won't load  
> &nbsp;&nbsp;&nbsp;it again.
> 
> &nbsp;&nbsp;&nbsp;Lyndon Samson pointed out that you could just use load instead of require  
> &nbsp;&nbsp;&nbsp;in this case. The latter un-conditionally loads the file without worrying  
> &nbsp;&nbsp;&nbsp;about whether the file has already been seen.
> 
> &nbsp;&nbsp;ruby-dev summary 26862-26956  
> &nbsp;&nbsp;----------------------------
> 
> &nbsp;&nbsp;&nbsp;Masayoshi Takahashi summarised the Japanese list ruby-dev, "in these  
> &nbsp;&nbsp;&nbsp;days."
> 
> &nbsp;&nbsp;&nbsp;Inside is Enumerable#count with block, String tainting, and a patch from  
> &nbsp;&nbsp;&nbsp;nobu to return an Enumerator for methods like Array#each when they are  
> &nbsp;&nbsp;&nbsp;called without a block.
> 
> &nbsp;&nbsp;ruby and aop  
> &nbsp;&nbsp;------------
> 
> &nbsp;&nbsp;&nbsp;Ever written code like this?
> 
> ###  
> class OneTreeHill \< TheDomain  
> &nbsp;&nbsp;&nbsp;alias old\_tree tree
> 
> &nbsp;&nbsp;&nbsp;def tree  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;warn("No longer any tree")  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;old\_tree  
> &nbsp;&nbsp;&nbsp;end  
> end  
> ###
> 
> &nbsp;&nbsp;&nbsp;Did you feel wrong and dirty? Dirty and wrong? Had nightmares about  
> &nbsp;&nbsp;&nbsp;someone else also wrapping the same method in the same way?
> 
> &nbsp;&nbsp;&nbsp;gabriele renzi reminded us of an article by Mauricio Fernandez from 2004  
> &nbsp;&nbsp;&nbsp;that shows how to do it in a nicer way, by using instance\_method and  
> &nbsp;&nbsp;&nbsp;define\_method.
> 
> ###  
> class OneTreeHill \< TheDomain
> 
> &nbsp;&nbsp;&nbsp;prev = instance\_method(:tree)
> 
> &nbsp;&nbsp;&nbsp;define\_method(:tree) do  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;warn("No longer any tree")  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prev.bind(self).call  
> &nbsp;&nbsp;&nbsp;end
> 
> end  
> ###
> 
> &nbsp;&nbsp;&nbsp;Even better, with Module#wrap\_method from the Ruby Facets project:
> 
> ###  
> require 'facet/module/wrap\_method'
> 
> class OneTreeHill \< TheDomain  
> &nbsp;&nbsp;&nbsp;wrap\_method(:tree) do |old|  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;warn("No longer any tree")  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;old.call  
> &nbsp;&nbsp;&nbsp;end  
> end  
> ###
> 
> &nbsp;&nbsp;&nbsp;The thread discussed several points related to AOP (Aspect-Oriented  
> &nbsp;&nbsp;&nbsp;Programming) in Ruby.
> 
> &nbsp;&nbsp;gsub(/Ads by Goooooogle/, "PayPal DONATE").suggest?  
> &nbsp;&nbsp;---------------------------------------------------
> 
> &nbsp;&nbsp;&nbsp;x1 thought it would be better to have a `donate' option on  
> &nbsp;&nbsp;&nbsp;[http://www.ruby-lang.org/](http://www.ruby-lang.org/) rather than the current Google ads, and  
> &nbsp;&nbsp;&nbsp;personally offered to give USD$100 if this was done.
> 
> &nbsp;&nbsp;&nbsp;James Britt said that it was possible to donate at Ruby Central.
> 
> &nbsp;&nbsp;&nbsp;David Brady:
> 
> &nbsp;&nbsp;&nbsp;\> I know all ads are annoying, but Adsense seems to be the least obtrusive  
> &nbsp;&nbsp;&nbsp;\> of the lot. I have no idea what [ruby-lang.org](http://ruby-lang.org) is making but all of my  
> &nbsp;&nbsp;&nbsp;\> sites typically make $US5-20 per month per thousand daily visitors. All  
> &nbsp;&nbsp;&nbsp;\> of my sites are running donations as well; adding Adsense had no effect  
> &nbsp;&nbsp;&nbsp;\> on donation rates. So if [ruby-lang.org](http://ruby-lang.org) is pulling 20k daily visitors,  
> &nbsp;&nbsp;&nbsp;\> that's somewhere around $US200 of "free money" to help pay for hosting.
> 
> &nbsp;&nbsp;&nbsp;James Britt: "Does [ruby-lang.org](http://ruby-lang.org) get 20K daily visits?"
> 
> &nbsp;&nbsp;&nbsp;Gavin Kistner: "Hell, does [ruby-lang.org](http://ruby-lang.org) get 20k \*monthly\* visits?"
> 
> &nbsp;&nbsp;&nbsp;How much money is gained from the ads? How many people would be willing to  
> &nbsp;&nbsp;&nbsp;make a donation if it meant getting rid of the ads?
> 
> &nbsp;&nbsp;Ruby Jobs Site (#47)  
> &nbsp;&nbsp;--------------------
> 
> &nbsp;&nbsp;&nbsp;James Edward Gray II's Ruby Quiz for the week:
> 
> &nbsp;&nbsp;&nbsp;\> When I first came to Ruby, even just a year ago, I really doubt the  
> &nbsp;&nbsp;&nbsp;\> community was ready to support a Ruby jobs focused web site. Now though,  
> &nbsp;&nbsp;&nbsp;\> times have changed. I'm seeing more and more posting about Ruby jobs  
> &nbsp;&nbsp;&nbsp;\> scattered among the various Ruby sites. Rails has obviously played no  
> &nbsp;&nbsp;&nbsp;\> small part in this and the biggest source of jobs postings is probably  
> &nbsp;&nbsp;&nbsp;\> the Rails weblog, but there have been other Ruby jobs offered recently  
> &nbsp;&nbsp;&nbsp;\> as well.  
> &nbsp;&nbsp;&nbsp;\>  
> &nbsp;&nbsp;&nbsp;\> Wouldn't it be nice if we had a centralized site we could go to and scan  
> &nbsp;&nbsp;&nbsp;\> these listings for our interests?
> 
> &nbsp;&nbsp;&nbsp;Develop such a site, using whichever Ruby tools you choose.
> 
> &nbsp;&nbsp;implode function?  
> &nbsp;&nbsp;-----------------
> 
> &nbsp;&nbsp;&nbsp;Julian Leviston asked if Ruby had anything like PHP's implode function.
> 
> &nbsp;&nbsp;&nbsp;It would work like:
> 
> ###  
> z = %w[yeah cool mad awesome funky]  
> z.implode(', ') # -\> 'yeah, cool, mad, awesome, funky'  
> ###
> 
> &nbsp;&nbsp;&nbsp;"I guess I'll just go write one."
> 
> &nbsp;&nbsp;&nbsp;No need, thanks to Array#join:
> 
> ###  
> z = %w[yeah cool mad awesome funky]  
> z.join(', ') # -\> 'yeah, cool, mad, awesome, funky'  
> ###
> 
> &nbsp;&nbsp;&nbsp;Florian Frank noted that String#\* can also be used here:
> 
> ###  
> z = %w[yeah cool mad awesome funky]  
> z \* ', ' # -\> 'yeah, cool, mad, awesome, funky'  
> ###
> 
> &nbsp;&nbsp;&nbsp;This led Martin DeMello to say that its a shame there is no String#/. Of  
> &nbsp;&nbsp;&nbsp;course, Florian then popped back in with "Ha, now there is", making / an  
> &nbsp;&nbsp;&nbsp;alias for split.
> 
> &nbsp;&nbsp;Get to the Point: Ruby and Rails Presentation Slides  
> &nbsp;&nbsp;----------------------------------------------------
> 
> &nbsp;&nbsp;&nbsp;John W. Long and Ryan Platte's uploaded their introduction to Ruby and  
> &nbsp;&nbsp;&nbsp;Rails presentation slides that they used at the Chicago ACM.
> 
> &nbsp;&nbsp;&nbsp;"Comments and suggestions are welcome. We would like to present this again  
> &nbsp;&nbsp;&nbsp;in the future, so it would be good to clarify things a little."
> 
> &nbsp;&nbsp;website screen scraping with Mechanize or Rubyful Soup  
> &nbsp;&nbsp;------------------------------------------------------
> 
> &nbsp;&nbsp;&nbsp;Dan Kohn was trying to do some website "screen scraping" - i.e. write a  
> &nbsp;&nbsp;&nbsp;script that acts like a web browser, submitting forms and extracting data  
> &nbsp;&nbsp;&nbsp;from web-pages.
> 
> &nbsp;&nbsp;&nbsp;He had come across WWW::Mechanize and Rubyful Soup which looked useful,  
> &nbsp;&nbsp;&nbsp;however he couldn't find much in the way of examples or documentation for  
> &nbsp;&nbsp;&nbsp;them.
> 
> &nbsp;&nbsp;&nbsp;(Rubyful Soup is a HTML parser that is tolerant of incorrect markup, so  
> &nbsp;&nbsp;&nbsp;can work with HTML that WWW::Mechanize chokes on. Lyndon Samson mentioned  
> &nbsp;&nbsp;&nbsp;an alternative called Tidy, which transforms invalid HTML into something  
> &nbsp;&nbsp;&nbsp;more parsable.)
> 
> &nbsp;&nbsp;&nbsp;\> Dan: My ultimate goal is to create a series of screen scrapers that are  
> &nbsp;&nbsp;&nbsp;\> able to access airline websites (including entering username and  
> &nbsp;&nbsp;&nbsp;\> password, dealing with redirects, etc.), find my mileage and recent  
> &nbsp;&nbsp;&nbsp;\> flights, parse the data, put it in some variables, and save it to MySQL  
> &nbsp;&nbsp;&nbsp;\> (with rails).
> 
> &nbsp;&nbsp;&nbsp;Dan did find one example using WWW::Mechanize, but his modification of it  
> &nbsp;&nbsp;&nbsp;didn't work. Michel Martens pointed out his error, and Dan was then able  
> &nbsp;&nbsp;&nbsp;to run the example successfully.
> 
> &nbsp;&nbsp;Ternary operator request  
> &nbsp;&nbsp;------------------------
> 
> &nbsp;&nbsp;&nbsp;Robert Mannl asked for feedback on the idea of adding a ternary operator  
> &nbsp;&nbsp;&nbsp;expression in cases of methods ending in a question mark, in order to  
> &nbsp;&nbsp;&nbsp;allow:
> 
> ###  
> some\_method? a : b  
> ###
> 
> &nbsp;&nbsp;&nbsp;instead of:
> 
> ###  
> some\_method? ? a : b  
> ###
> 
> &nbsp;&nbsp;&nbsp;Although Alex Fenton called it a "cute idea", he and others were of one  
> &nbsp;&nbsp;&nbsp;mind to say that it would be extremely difficult to parse, both for Ruby  
> &nbsp;&nbsp;&nbsp;and for humans. David A. Black summed it up nicely:
> 
> &nbsp;&nbsp;&nbsp;\> I also think the two ?'s in question, though both ?'s, are really  
> &nbsp;&nbsp;&nbsp;\> semantically quite distinct.
> 
> &nbsp;&nbsp;&nbsp;and:
> 
> &nbsp;&nbsp;&nbsp;\> There's always `if' 🙂
> 
> &nbsp;&nbsp;&nbsp;Ara T. Howard then showed how something similar (but not identical) could  
> &nbsp;&nbsp;&nbsp;be achieved, using traits:
> 
> ###  
> harp:~ \> cat a.rb  
> require 'traits'
> 
> trait 'foo' =\> true
> 
> puts( foo ? 'foo' : 'not foo' )  
> puts( foo? ? 'foo' : 'not foo' )
> 
> foo false
> 
> puts( foo ? 'foo' : 'not foo' )  
> puts( foo? ? 'foo' : 'not foo' )
> 
> harp:~ \> ruby a.rb  
> foo  
> foo  
> not foo  
> not foo  
> ###
> 
> &nbsp;&nbsp;&nbsp;The trick is that both foo and foo? are defined.
> 
> New Releases  
> ------------
> 
> &nbsp;&nbsp;RType-0.2  
> &nbsp;&nbsp;---------
> 
> &nbsp;&nbsp;&nbsp;Yuichi Yoshida wrote a new Ruby interpreter, in Haskell.
> 
> &nbsp;&nbsp;&nbsp;gabriele renzi: "this is really cool, thanks for sharing it. But I wonder  
> &nbsp;&nbsp;&nbsp;why did you choose to write a ruby interpreter in Haskell?"
> 
> &nbsp;&nbsp;&nbsp;\> Yuichi: The strange feature of Haskell absorbed me, especially lazy  
> &nbsp;&nbsp;&nbsp;\> evaluation did. What a good sound, lazy! 😉  
> &nbsp;&nbsp;&nbsp;\>  
> &nbsp;&nbsp;&nbsp;\> I wanted to write somthing and learn more about Haskell, and Ruby  
> &nbsp;&nbsp;&nbsp;\> interpreter is a good theme to satisfy my desire.
> 
> &nbsp;&nbsp;RedCloth 3.0.4 -- Humane Text for Ruby  
> &nbsp;&nbsp;--------------------------------------
> 
> &nbsp;&nbsp;&nbsp;whytheluckystiff polish'ed humane markup parser RedCloth.
> 
> &nbsp;&nbsp;&nbsp;"Lists that were throwing exceptions are gone. Escaping of stray angle  
> &nbsp;&nbsp;&nbsp;brackets. Single- and double-quote directional wrongness is made aright."
> 
> &nbsp;&nbsp;World's 1st Hamster-Powered Mud Server! (in Ruby)  
> &nbsp;&nbsp;-------------------------------------------------
> 
> &nbsp;&nbsp;&nbsp;Jon A. Lambert announced the "World's 1st Hamster-Powered Mud Server! (in  
> &nbsp;&nbsp;&nbsp;Ruby)". Presumably, until now Hamster-Powered Mud Servers had been written  
> &nbsp;&nbsp;&nbsp;in other languages.
> 
> &nbsp;&nbsp;&nbsp;Read the announcement to see why Nick Faiz described it as "the best  
> &nbsp;&nbsp;&nbsp;software release announcement email I've ever read!"
> 
> &nbsp;&nbsp;gmailer 0.1.0  
> &nbsp;&nbsp;-------------
> 
> &nbsp;&nbsp;&nbsp;Park Heesob's gmailer library can fetch emails, use file attachments, get  
> &nbsp;&nbsp;&nbsp;contact lists, invite people, edit labels, preferences, star and archive  
> &nbsp;&nbsp;&nbsp;messages.
> 
> &nbsp;&nbsp;&nbsp;The API is slightly more high-level now, with methods returning objects of  
> &nbsp;&nbsp;&nbsp;classes like Conversation and Contact instead of hashes.
> 
> &nbsp;&nbsp;Zero to Rails  
> &nbsp;&nbsp;-------------
> 
> &nbsp;&nbsp;&nbsp;Ryan Davis: "From absolutely nothing to a running rails app in under two  
> &nbsp;&nbsp;&nbsp;minutes. SQL not required."
> 
> &nbsp;&nbsp;&nbsp;All due to "one part OmniGraffle 4, one part applescript, one part ruby,  
> &nbsp;&nbsp;&nbsp;and a dash of animosity towards SQL". (OmniGraffle is a diagramming tool  
> &nbsp;&nbsp;&nbsp;for MacOS X.)
> 
> &nbsp;&nbsp;&nbsp;"Awesome, disarming, astonishing!" tittered Piergiuliano Bossi.
> 
> &nbsp;&nbsp;Pimki 1.8.092  
> &nbsp;&nbsp;-------------
> 
> &nbsp;&nbsp;&nbsp;Assaph Mehr fixed bugs in Pimki, "The Wiki-based PIM to GetThingsDone".
> 
> &nbsp;&nbsp;acgi-0.1.0  
> &nbsp;&nbsp;----------
> 
> &nbsp;&nbsp;&nbsp;Ara.T.Howard released the second version of acgi, "a drop-in replacement  
> &nbsp;&nbsp;&nbsp;for ruby's built-in cgi", but with persistence, speed and "no apache  
> &nbsp;&nbsp;&nbsp;modules" (unlike fastcgi).
> 
> &nbsp;&nbsp;&nbsp;Benchmarks with Apache showed that acgi was around five times faster than  
> &nbsp;&nbsp;&nbsp;plain CGI, but FastCGI was a further three times faster.
> 
> &nbsp;&nbsp;&nbsp;Dan Janowski: "My applause to you on trying to replace FastCGI. I gave up  
> &nbsp;&nbsp;&nbsp;on it after inexplicable weirdness began to set in."
> 
> &nbsp;&nbsp;&nbsp;He also gave some ideas for improving acgi's performance.
> 
> &nbsp;&nbsp;ritex 0.1: WebTeX -\> MathML  
> &nbsp;&nbsp;---------------------------
> 
> &nbsp;&nbsp;&nbsp;William Morgan happily announced the first version of ritex, a tool for  
> &nbsp;&nbsp;&nbsp;converting WebTeX into MathML.
> 
> &nbsp;&nbsp;&nbsp;"WebTeX is an adaptation of TeX math syntax for web display", while MathML  
> &nbsp;&nbsp;&nbsp;is the standard, low-level and verbose, way of representing maths symbols  
> &nbsp;&nbsp;&nbsp;on the web.
> 
> &nbsp;&nbsp;&nbsp;\> Ritex is based heavily on itex2mml, a popular TeX math to MathML  
> &nbsp;&nbsp;&nbsp;\> convertor-so much so that the default correct answer to unit tests is to  
> &nbsp;&nbsp;&nbsp;\> do whatever itex2mml does!
> 
> &nbsp;&nbsp;&nbsp;Unlike itex2mml, ritex is written in Ruby and supports macros.
> 
> &nbsp;&nbsp;KirbyRecord 0.0.0  
> &nbsp;&nbsp;-----------------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logan Capaldo: I am proud(?) to announce the first actual release of  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;KirbyRecord. KirbyRecord is an ORM layer for the very cool pure ruby  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database, KirbyBase.
> 
> &nbsp;&nbsp;eric3 3.7.2 released  
> &nbsp;&nbsp;--------------------
> 
> &nbsp;&nbsp;&nbsp;Eric3 is a Python and Ruby IDE written in Python and PyQt. It comes with  
> &nbsp;&nbsp;&nbsp;"all batteries included". The new 3.7.2 release fixes some bugs.
