Posted by Daniel Butler
Thu, 19 Oct 2006 01:12:00 GMT
Hal Fulton, a computer scientist from Austin, Texas, has graciously provided an updated second edition of The Ruby Way. An article at InfoQ provides a thoughtful excerpt from his new book, which abounds with quoted wisdom about design and simplicity. An example of his writing:
What Larry Wall said about Perl holds true: “When you say something in a small language, it comes out big. When you say something in a big language, it comes out small.” The same is true for English. The reason that biologist Ernst Haeckel could say ”Ontogeny recapitulates phylogeny” in only three words was that he had these powerful words with highly specific meanings at his disposal. We allow inner complexity of the language because it enables us to shift the complexity away from the individual utterance.
Ruby has transformed my way of thinking about programming, now that I continually take simplicity, elegance, form and function into consideration when crafting a solution, and I am eagerly awaiting the release of this book.
Thanks, Hal!
Article: What is the Ruby Way?
Posted in Intelligence, Ruby, Programming | no comments
Posted by Daniel Butler
Wed, 18 Oct 2006 13:49:00 GMT
Ezra Zygmuntowicz of Yakima, Washington, has announced a new lightweight Ruby web application framework: Merb, named by combining the lightweight HTTP application server Mongrel with the templating system Erb. Using ActiveRecord, a simpler-than-rails routing system and taking full advantage of Mongrel’s X-SendFile features, the “pocket framework” can server dynamic templated pages at 400 requests/second on a MacBook.
It’s simple to get started:
$ sudo gem install merb
$ gem unpack merb
$ cd merb-0.0.3/examples/sample_app
# edit the conf/merb_init.rb to add your database password info.
# then add a posts table to your db with a title and body column.
$ merb start -t
Once you do that, visit http://localhost:4000/posts/new, http://localhost:4000/posts/list, or http://localhost:4000/uploads/start to see the little framework that could in action.
Thanks, Ezra!
The RubyForge Project Page
The Merb Trac Page
The Merb SVN Repository
An article on Merb at Brainspl.at
Posted in Ruby, Web Development | no comments
Posted by Daniel Butler
Tue, 17 Oct 2006 15:03:00 GMT
DeLynn Berry from Denver, Colorado, has converted the Rails Documentation to CHM format, which is quite a bit easier to use than the online HTML format. CHM, or Microsoft Compressed HTML Help, is a proprietary format for online help files, but it can be read on other platforms like Linux and Mac with additional software. DeLynn writes of the update:
“This update has the documentation for the 1.1.6 release of Rails. This version also has a much more organized Contents section that has a folder group for each gem, which will hopefully lead to easier browsing of the entire file.”
If you’re on Mac, try Chamonix, which has better search features than Chmox, but both tools work. On Linux, try GnoCHM or KchmViewer.
Link to DeLynn’s Blog Announcement
Direct Link to CHM File
Posted in Ruby on Rails | 1 comment
Posted by Daniel Butler
Sun, 15 Oct 2006 13:48:00 GMT

Roxen Webserver 4.5.111 (r2) has just been released by http://www.roxen.com/ of the 709-year old city of Linköping,
Sweden. Roxen, named after a nearby lake, is a full-featured web application server platform, written in Pike and C, and supporting features such as dynamically-generated images and text, a XML-based macro language, a non-forking multi-threaded HTTP/HTTPS engine, proxy and relaying support, database integration. and other advanced features.
Changes since 4.5.78 include several RXML, HTTP, and database-related fixes. In the included version of Pike, they have included several “internal fixes for compiler errors, 2GB+ files, memory handling, asynchronous HTTP queries, etc.” The Image module now supports “CMYK format, EPS variations, little-endian TIFF files, GhostScript timeout, and more”.
We use Roxen and Apache 2/Rails/Mongrel side-by-side to be able to handle various difficult web-hosting situations. Things that are difficult in Apache are quite simple in Roxen, and some of the limitations of Roxen can be easily handled by Apache.
Roxen WebServer changes in 4.5.111 r2
Download Source or Linux, Windows, or Mac Binaries
Posted in Web Design, Open Source | no comments
Posted by Daniel Butler
Wed, 20 Sep 2006 13:07:00 GMT
Jonathan Viney of New Zealand has announced his date_finder plugin for Ruby on Rails. The plugin allows the following types of actions:
- To find the next five Mondays and Fridays:
DateFinderBase.weekly.day(:monday).day(:friday).find(:max => 5)
- To find the 10th of the month for the next five months:
DateFinderBase.monthly.day_number(10).find(:max => 5)
- To find the last Thursday in September for the next 3 years
DateFinderBase.yearly.month (:september).day(:thursday).day_occurrence(:last).find(:max => 3)
- To find the next 5 Wednesdays on a fortnightly basis (skips every second week):
DateFinderBase.weekly(2).day(:wednesday).find(:max => 5)
To install, execute script/plugin install http://svn.viney.net.nz/things/rails/plugins/date_finder.
Thanks, Jonathan.
Date Finder @ Ruby Plugins Directory
Posted in Ruby on Rails | Tags plugin | no comments
Posted by Daniel Butler
Tue, 19 Sep 2006 23:05:00 GMT
Someone from Manchester, England’s vagueware.com–Innovation in Software blog (presumably Paul Robinson) wrote an excellent article describing the modern need for “tags” for classifying information in the digital realm. Here’s the problem: it’s hard to find stuff that you don’t know that much about … yet. In the classic Dewey Decimal System method, you go find one book about something you’re interested in, and viola, there’s more right there. But with information, how to you create a “distance function” that allows information to be found near other information that is similar. He conveys the scope of the problem:
It gets worse when you realise that you could be dealing with not just a few thousand items in a library, but the entire sum of human knowledge. Every document, photo, film, sound recording, computer program and physical object. Imagine trying to classify and then later find everything related to piegeons, cooking and hunting in that lot.
So instead of taxonomies, hierarchies, ontologies, we have something that is quite easy and powerful: tagging. Paul continues:
The purpose of tagging is to replace taxonomies. We want to do this for lots of reasons, including:
- We don’t want to have to worry about where we put stuff into the system. We want to mark the item up without having to spend an hour - or decade - debating which part of the taxonomy it belongs in.
- We want to know it can be easily retrieved by those who may be interested in finding it at a later date.
- We want to be able to easily find ‘neighbours’ even if they belong in a traditionally unrelated taxonomy.
Overall, a well-written manifesto which you should read if you have any question about how tags can and will help you in your information-filled future.
A Manifesto for Tags
Posted in Intelligence | Tags intelligence, knowledge, manifesto, ontology, tag, taxonomy | no comments
Posted by Daniel Butler
Mon, 11 Sep 2006 22:53:00 GMT
Pat Eyler has a short interview with the author of Ruby Cookbook, Leonard Richardson, who touches on the ability of great Ruby libraries which change the way you think about the problems of programming.
Leonard: I’m looking forward to more libraries that use Ruby’s idioms to radically simplify entire domains. I think this is where dynamic languages like Ruby and Python show their power: Rails, ActiveRecord, ActiveResource, gserver, DRb, Starfish, Twisted, PyGame, etc. These libraries tackle a problem that’s been around for years, and succeed by hiding a huge amount of the work and/or changing the way you think about the problem.
Leonard even lists his top 5 libraries in Ruby, including mine, Hpricot:
Leonard: Hard to pick just five, but I’ll showcase some lesser-known libraries that I think deserve attention:
- hpricot, by _why, which makes me think I should just pack up Rubyful Soup.
- Starfish, a really simple distributed programming library that Lucas wrote.
- char-encodings deserves more attention. By which I mean, people should work on it as a way to improve Ruby’s internationalization support, and yet I shouldn’t have to do any work on it.
- Ferret is a Ruby port of Lucene, the best Java library ever. It lets you do full-text search on structured data.
- Finally, ActiveResource isn’t a real library yet, and everybody knows about it, but it’s going to be awesome.
Leonard Richardson Interview
Posted in Ruby | 1 comment
Brainy Sea Creature, Everglades (March 2003)