From: timsuth@... (Tim Sutherland) Date: 2004-10-26T22:04:13+09:00 Subject: Ruby Weekly News 18-24th October 2004 I have written the Ruby Weekly News for 18-24th October 2004: http://www.rubygarden.org/ruby?RubyNews/2004-10-18 The web version is nicer than plain text (lots of hyperlinks), but if you're reading this offline then the output from "lynx -dump" is below. I hope to continue writing this each week, but no promises ;-) Feedback is welcome. ------------------------------------- Ruby Weekly News 18-24th October 2004 A summary of the week's activity on the ruby-talk mailing list / the comp.lang.ruby newsgroup. There were 634 articles in 149 threads. This summary is brought to you by Tim Sutherland ([7]TimSuth). Introduction From 2001/12/8 to 2003/06/16, the Ruby Weekly News provided a weekly summary of announcements and other interesting ruby-talk threads. [8]http://www.rubygarden.org/rurl/html/index.html has the archives, and ideas for improving the service are at [9]RubyNews. It's back... Ruby in the News * [10][Introduction to Rubyx Linux - OSNews.com] Rubyx is a source-based Linux distribution in which installation, configuration and so on are handled with Ruby scripts. There is a [11][Rubyx on OS News thread] on ruby-talk discussing the article. * [12][Programming Ruby: The Pragmatic Programmers' Guide - Slashdot.org] The second edition of [13]ProgrammingRuby was reviewed on Slashdot. The ruby-talk thread starts [14][here]. Announcements * [15][Ruby/Tk translation] Benjamin Peterson translated Koji Arai's [16]RubyTk documentation from Japanese into English. "(why yes, all 200 pages and 102 footnotes)". The translation was [17][posted to the web]. * [18][diff2html - Pretty-printing big patches] Dave Burt wrote a script to turn a unified diff into side-by-side HTML output. * [19][Catapult: WEBrick application for dynamic execution of code via HTTP] James Britt wrote an application called [20][Catapault] that maps URLs onto Ruby file and class names, caching the resulting objects after the first instantiation. * [21][Rubyist Magazine vol.2 (in Japanese)] SASADA Koichi announced the [22][second volume] of a Ruby Magazine. It includes interviews, reports on conferences, tutorials and tricks. * [23][svg graph generator, early release] Simon Strandgaard released an experimental tool for generating SVG graphs. * [24][rpa bash programable completion] Brian Schr�der "hacked together" [25][support for bash completion] for the rpa packaging tool. Mauricio Fern�ndez [26][decided] to include it in the next release of [27][rpa-base]. * [28][ruvi 0.4.12 PRERELEASE [rpa and gem]] Alexander Kellett presented some first attempts at creating a GEM for [29][ruvi], a VIM clone written entirely in Ruby. * [30][Nitro 0.1.2] George Moschovitis announced version 0.1.2 of Nitro. [31][Nitro] is a web application framework utilising XSLT for web templates and having features such as distributed state and caching. * [32][DocDiff 0.3.1] Hisashi MORITA introduced [33][DocDiff], a program for showing the difference between two files, either word by word, character by character or line by line. It has several output formats and supports various encodings including ASCII, UTF-8 and EUC-J. * [34][Needle 0.6.0] Jamis Buck announced [35][Needle], a "dependency injection (a.k.a. "inversion of control") container for Ruby." This is used when a number of modules of code all need to know about each other. Needle is used to register "services" and handle the dependencies between them. Dependency injection means that Needle takes responsibility for instantiating the different services. This means that the services can be written without any knowledge of the framework. Jim Weirich has written a good [36][description] of dependency injection. * [37][Rabbit 0.0.4] Kouhei Sutou came out with Rabbit 0.0.4, then quickly released 0.0.5 to fix a critical bug on the Windows platform. [38][Rabbit] is an application that uses RD markup to generate slides for presentations. It's now easier to install on Windows, has a couple of new themes and is customised for Japanese, English and French. * [39][Ruby/ActiveLDAP 0.5.1] Will Drewry announced a new version of [40][Ruby/ActiveLDAP], a library which provides an object oriented mapping of LDAP objects to Ruby objects. It can now be installed with [41]RubyGems and many bugs were also fixed. * [42][RubyGarden FAQ Revival] Chad Fowler was happy to declare an updated [43][RubyGarden FAQ], which David Alan Black has rewritten in [44][Rails]. He went on to say "This release is part of a greater [45]RubyGarden revitalization that is underway. If you have ideas for content and/or [46]RubyGarden improvements, now's a great time to let me know." * [47][Ruby-GetText-Package-0.7.0] Masao Mutoh announced the latest version of the [48][Ruby-GetText] package, a Native Language support library and set of tools modelled after GNU gettext. * [49][XHTMLDiff 1.0.0] Aredridel released [50][XHTMLDiff], a tool to show the difference between two XHTML documents using and tags. * [51][Rails 0.8]: Just shy of 100 additions, changes, tweaks, and fixes! David Heinemeier Hansson announced a new release of [52][Rails], a web-application framework for Ruby. This release includes many bugfixes and new features, including a new framework called "Action Mailer" for email services like password reminders. Threads Interesting threads this week include ... _________________________________________________________________ [53][Can one simulate go to in Ruby? Is it possible?] Roman K9 got more than he bargained for when he asked "Is it possible to have a go to in Ruby without having a go to?" Solutions using callcc were presented, and Matt Maycock gave a program that someone described as an "Unholy morphing of Ruby into Basic". Continuations were also discussed in [54][another thread]. _________________________________________________________________ [55][[QUIZ] Regexp.build() (#4)] The fourth Ruby Quiz was to build a regular expression to match integers matching lists and ranges. For example year = Regexp.build( 98, 99, 2000..2005 ) "04" =~ year # => false "2004" =~ year # => true "99" =~ year # => true A [56][summary] of responses was later posted. Another thread [57][began]. The [58][summary] of last week's Quiz (Geodesic Faces) was also posted. _________________________________________________________________ [59][Re: ruby-dev summary 24298-24353] This thread began several weeks ago, but this week there was some discussion of "functors" as polymorphic proc. It all started with Nowake proposed that a Proc object should be invoked with any method name like that: m = Proc.new( :to_s ) { 'test1' } p m.to_s # => 'test1' _________________________________________________________________ [60][trace_func parameters (Re: ruby-dev summary 24298-24353)] This isn't much of a thread, comprising a single post from Matz, however it is a very useful description of the parameters to "trace_func". It is listed here in the hope that someone will put the information somewhere permanent, such as on the [61]RubyGarden Wiki. _________________________________________________________________ [62][A concise description of Ruby?] Curt Hibbs wrote Yesterday, a co-worker came into my office and saw the shiny, new pickaxe II book on my desk and said "What is Ruby?" Unfortunately, I really blew the opportunity as I attempted to come up with a brilliant one or two sentence description. The best I could muster was something like, "Uhh... err... it's kind of like perl or python but much better." How lame is that! He went on to ask for suggestions for better answers to the question, a sort of elevator pitch for Ruby. [63][Mike Clark]: "Ruby? Oh, you won't like this language. (Slides Pixaxe II out of view.) It's entirely too fun and productive for most people." [64][Jan Kr�ger]: Ruby is the programming language that makes you have more time for your girlfriend .. or less, if you fall in love with ruby instead. [65][Paul Sanchez]: Ruby is an elegant language in which it's easy and natural to express solutions. It's simple enough that a beginner can start using it immediately, yet powerful enough to deal with sophisticated needs. It's so fun that the Puritans would have banned it had they known about it. [66][Simon Strandgaard]: Ruby has hidden positive suprises. Even though I have used it for long time, it keeps amaze and suprise me. It gives me energy. [67][Aredridel]: I say "A language that's like the best parts of Smalltalk, Perl and Lisp, all in one, and no line noise, parentheses or weird VM" [68][gabriele renzi]: it's an OO dynamic language with simple syntax. It is fun oriented. I love ruby. In a subthread focusing on the Javascript language, Florian Gross [69][took the opportunity] to post an implementation of many of Ruby's standard libraries in Javascript! _________________________________________________________________ [70][Re: Garden Spam ] Unfortunately there are some people who are running scripts to spam the [71]RubyGarden Wiki (and other wikis) with links. This is a big problem - you can spend half an hour removing spam from pages and by the time you're done there will be more to clean. The thread discusses the problem and approaches to dealing with it. Hopefully this can be dealt with soon. If you're reading this Ruby Weekly News on [72]RubyGarden there is probably spam on the page. Click "View other revisions", select the last revision before the spam, click "Edit revision", then "Save" with "This change is a minor edit" set. This will revert the page to a pre-spam state. _________________________________________________________________ References 7. http://www.rubygarden.org/ruby?TimSuth 8. http://www.rubygarden.org/rurl/html/index.html 9. http://www.rubygarden.org/ruby?RubyNews 10. http://www.osnews.com/story.php?news_id=8530 11. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=200410120130.30175.transami%40runbox.com 12. http://books.slashdot.org/article.pl?sid=04/10/13/1843240&tid=156&tid=6 13. http://www.rubygarden.org/ruby?ProgrammingRuby 14. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=1098214695.32169.23.camel%40hal 15. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=986d2608.0410220736.33333497%40posting.google.com 16. http://www.rubygarden.org/ruby?RubyTk 17. http://www.jbrowse.com/text/rubytk_en.html 18. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=79Mbd.26351%245O5.19025%40news-server.bigpond.net.au 19. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=4173E9D2.7000409%40neurogami.com 20. http://www.jamesbritt.com/code/catapult/ 21. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=20041018204428.1a86320%25ko1%40atdot.net 22. http://jp.rubyist.net/magazine/?0002 23. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=200410161419.25156.neoneye%40adslhome.dk 24. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=416B27A0.506%40brian-schroeder.de 25. http://ruby.brian-schroeder.de/rpa-completion/ 26. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=20041012192742.GA19562%40student.ei.uni-stuttgart.de 27. http://rpa-base.rubyforge.org/ 28. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=20041019115620.GB24568%40loki 29. http://www.lypanov.net/xml/development/ruvi.xml 30. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=cl7p9u%24khg%241%40ulysses.noc.ntua.gr 31. http://www.navel.gr/nitro 32. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=87acugm4ac.fsf%40kt.rim.or.jp 33. http://www.kt.rim.or.jp/~hisashim/docdiff/ 34. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=4177E907.20003%40email.byu.edu 35. http://needle.rubyforge.org/ 36. http://onestepback.org/index.cgi/Tech/Ruby/DependencyInjectionInRuby.rdoc 37. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=20041021.192826.127172255.kou%40cozmixng.org 38. http://www.cozmixng.org/~rwiki/?cmd=view;name=Rabbit 39. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=a2835d3804102208473d04157f%40mail.gmail.com 40. http://www.rubyforge.org/projects/ruby-activeldap 41. http://www.rubygarden.org/ruby?RubyGems 42. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=a2347a0404102209315f5a9c08%40mail.gmail.com 43. http://www.rubygarden.org/faq 44. http://www.rubyonrails.org/ 45. http://www.rubygarden.org/ruby?RubyGarden 46. http://www.rubygarden.org/ruby?RubyGarden 47. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=20041025010216.54c63c45.mutoh%40highway.ne.jp 48. http://ponx.s5.xrea.com/hiki/ruby-gettext.html 49. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=cc28e0d5041021141729bb66d3%40mail.gmail.com 50. http://theinternetco.net/projects/ruby/xhtmldiff 51. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=B4B29E8C-262C-11D9-82DB-000D932CD5BA%40loudthinking.com 52. http://www.rubyonrails.org/ 53. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=uabvm0lrutuf59rls2vp7dvmscjk1e5rs5%404ax.com 54. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=66b7e34b04101721167bac474%40mail.gmail.com 55. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=20041015131345.FPZO6435.lakermmtao04.cox.net%40localhost.localdomain 56. http://groups.google.com/groups?hl=en&lr=&group=comp.lang.ruby&c2coff=1&scoring=d&as_drrb=b&as_mind=18&as_minm=10&as_miny=2004&as_maxd=24&as_maxm=10&as_maxy=2004&selm=20041021124531.FFSX24840.lakermmtao01.cox.net%40localhost.localdomain 57. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=4962B73AD3A1704FA415C8E7A077403501B1AAD8%40isoftmail01 58. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=F59DD192-1FB3-11D9-9854-000A959CF5AC%40refinery.com 59. http://groups.google.com/groups?hl=en&lr=&c2coff=1&frame=right&th=6d24607d1c7f3029&seekm=200409302052.30491.transami%40runbox.com#link11 60. http://groups.google.com/groups?hl=en&lr=&group=comp.lang.ruby&c2coff=1&scoring=d&as_drrb=b&as_mind=18&as_minm=10&as_miny=2004&as_maxd=24&as_maxm=10&as_maxy=2004&selm=1098252394.467392.9328.nullmailer%40x31.priv.netlab.jp 61. http://www.rubygarden.org/ruby?RubyGarden 62. http://groups.google.com/groups?hl=en&lr=&c2coff=1&frame=right&rnum=1&thl=0,738512553,738497798,738374662,738497470,738493925,738491095,738373901,738335833,738489263,738478400,738478869&seekm=EAENKKNOJPMNCDMLDOMLAEKBGHAA.curt%40hibbs.com#link1 63. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=EB06324B-22AA-11D9-997E-000A95A547BC%40clarkware.com 64. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=417684CE.1080801%40microgalaxy.net 65. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=10ndbu6tgvg2ca7%40corp.supernews.com 66. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=200410210026.15403.neoneye%40adslhome.dk 67. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=cc28e0d5041022010629d2e2%40mail.gmail.com 68. http://groups.google.com/groups?q=g:thl1504697325d&dq=&hl=en&lr=&c2coff=1&selm=dbudd.49615%24N45.1463273%40twister2.libero.it 69. http://groups.google.com/groups?hl=en&lr=&c2coff=1&selm=2tnlrpF21omqhU2%40uni-berlin.de 70. http://groups.google.com/groups?hl=en&lr=&c2coff=1&frame=right&rnum=1&thl=0,737179348,737142948,737102491,737100912,737086717,737050455,737037362,737071602,737049783,737046114,737087877&seekm=417B4F86.6030909%40code-exec.net#link1 71. http://www.rubygarden.org/ruby?RubyGarden 72. http://www.rubygarden.org/ruby?RubyGarden