<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- generator="FeedCreator 1.6" -->
<rss version="0.91">
    <channel>
        <title>benferrari</title>
        <description>cs, A 'Software' Feed powered by BlogSieve.com</description>
        <link>http://www.blogsieve.com/</link>
        <lastBuildDate>Sun, 07 Sep 2008 23:43:37+0100</lastBuildDate>
        <generator>FeedCreator 1.6</generator>
        <item>
            <title>amazing home made light sabre fight (Delicious/a9bejo/readme)</title>
            <link>http://www.youtube.com/watch?v=Edcc5Z2tCNo</link>
            <description>incredible choreography. Better than the fight in the movies.</description>
            <author>In a Search Refinement, a Chance to Rival Google</author>
            <pubDate>Fri, 06 Oct 2006 17:56:00+0100</pubDate>
        </item>
        <item>
            <title>Sun is investing in JRuby development (Delicious/a9bejo/readme)</title>
            <link>http://www.tbray.org/ongoing/When/200x/2006/09/07/JRuby-guys</link>
            <description>The JRuby guys are joining Sun to work full time on JRuby and Ruby development tools.</description>
            <author>Why Mono is Currently An Unacceptable Risk</author>
            <pubDate>Thu, 07 Sep 2006 19:18:00+0100</pubDate>
        </item>
        <item>
            <title>In a Search Refinement, a Chance to Rival Google (Delicious/a9bejo/readme)</title>
            <link>http://www.nytimes.com/2007/02/09/technology/09license.html</link>
            <description>PARC?s natural-language technology is among the ?most comprehensive in existence,? said Fernando Pereira, an expert in natural language and the chairman of the department of computer and information science at the University of Pennsylvania.</description>
            <author>Delicious/a9bejo/readme</author>
            <pubDate>Fri, 09 Feb 2007 17:10:00+0100</pubDate>
        </item>
        <item>
            <title>How to use Google code search (Delicious/a9bejo/readme)</title>
            <link>http://www.kottke.org/06/10/google-code-search</link>
            <description>turning Google Code Search into a job posting board by inserting &amp;quot;Like our code? Come work for us!&amp;quot; text ads in the comments of source code which is then distributed and crawled by Google.</description>
            <author>amazing home made light sabre fight</author>
            <pubDate>Fri, 06 Oct 2006 11:49:00+0100</pubDate>
        </item>
        <item>
            <title>The Power of Nightmares (Delicious/a9bejo/readme)</title>
            <link>http://www.informationclearinghouse.info/video1037.htm</link>
            <description>In the past our politicians offered us dreams of a better world. Now they promise to protect us from nightmares. The most frightening of these is the threat of an international terror network. But just as the dreams were not true, neither are these nightm</description>
            <author>AI Beats Human Intelligence on Yahoo Answers Social Networking Site</author>
            <pubDate>Mon, 28 Aug 2006 20:12:00+0100</pubDate>
        </item>
        <item>
            <title>Why Mono is Currently An Unacceptable Risk (Delicious/a9bejo/readme)</title>
            <link>http://www.gnome.org/~seth/blog/mono</link>
            <description>Some good arguments why the gnome team should stay away from mono. From Seth Nickell - Design Fu : mono</description>
            <author>What Questions Would You Ask?</author>
            <pubDate>Sat, 16 Sep 2006 06:06:00+0100</pubDate>
        </item>
        <item>
            <title>Is America a Christian Nation? (Delicious/a9bejo/readme)</title>
            <link>http://www.ffrf.org/nontracts/xian.php</link>
            <description>In 1797 America made a treaty with Tripoli, declaring that &amp;quot;the government of the United States is not, in any sense, founded on the Christian religion.&amp;quot;</description>
            <author>The Root of All Evil Part 2</author>
            <pubDate>Mon, 21 Aug 2006 20:46:00+0100</pubDate>
        </item>
        <item>
            <title>What Questions Would You Ask? (Delicious/a9bejo/readme)</title>
            <link>http://www.artima.com/weblogs/viewpost.jsp?thread=178034</link>
            <description>The questions you forget to ask when you are interviewing for a job, but wish you&amp;#039;d asked after taking the job.</description>
            <author>CSS for layout? bah! Use ASCII art!</author>
            <pubDate>Wed, 27 Sep 2006 20:07:00+0100</pubDate>
        </item>
        <item>
            <title>The Root of All Evil Part 2 (Delicious/a9bejo/readme)</title>
            <link>http://video.google.com/videoplay?docid=-2439999165547892433&amp;q=Dawkins</link>
            <description>Richard Dawkins argues that the world would be better off without religion.</description>
            <author>Pulling the cable plug</author>
            <pubDate>Tue, 22 Aug 2006 10:29:00+0100</pubDate>
        </item>
        <item>
            <title>AI Beats Human Intelligence on Yahoo Answers Social Networking Site (Delicious/a9bejo/readme)</title>
            <link>http://prweb.com/releases/Buddhabot/Answers/prweb418515.htm</link>
            <description>The Buddhabot has so far answered 102 questions and eleven have been selected as the best answer. The Buddhabot is the first and only AI to compete with human beings to provide the best answers on Yahoo Answers new social networking site.</description>
            <author>RE: What is Yahoo Answers?</author>
            <pubDate>Thu, 31 Aug 2006 09:57:00+0100</pubDate>
        </item>
        <item>
            <title>RE: What is Yahoo Answers? (Delicious/a9bejo/readme)</title>
            <link>http://mysite.verizon.net/vzeegl9o/cmerchsyahooanswersblog/2006.08.01_arch.html#1157059331194</link>
            <description>cmerch&amp;#039;s response to my thoughts on the goal of yahoo! answers</description>
            <author>Sun is investing in JRuby development</author>
            <pubDate>Thu, 31 Aug 2006 23:23:00+0100</pubDate>
        </item>
        <item>
            <title>Closures for Java: James Gosling crawls back to Lisp. (Delicious/a9bejo/readme)</title>
            <link>http://gafter.blogspot.com/2006/08/closures-for-java.html</link>
            <description>Gilad Bracha, Neal Gafter, James Gosling, Peter von der Ahé set up a proposal to integrate closures in Java. So I guess it is true what Paul Graham said: That all programming languages are evoluting back to Lisp. :)</description>
            <author>The Power of Nightmares</author>
            <pubDate>Tue, 22 Aug 2006 16:05:00+0100</pubDate>
        </item>
        <item>
            <title>Best Pizza in Vienna? (Delicious/a9bejo/readme)</title>
            <link>http://forum.geizhals.at/t226385.html</link>
            <description>Or is it the &amp;quot;best known&amp;quot; pizza?</description>
            <author>Closures for Java: James Gosling crawls back to Lisp.</author>
            <pubDate>Tue, 22 Aug 2006 15:31:00+0100</pubDate>
        </item>
        <item>
            <title>Pulling the cable plug (Delicious/a9bejo/readme)</title>
            <link>http://bradchoate.com/weblog/2006/07/20/pulling-the-cable-plug</link>
            <description>today we&amp;#039;re without cable tv, but not because we can&amp;#039;t afford it. Why? Well, for many reasons.</description>
            <author>Best Pizza in Vienna?</author>
            <pubDate>Tue, 22 Aug 2006 14:33:00+0100</pubDate>
        </item>
        <item>
            <title>CSS for layout? bah! Use ASCII art! (Delicious/a9bejo/readme)</title>
            <link>http://blog.zenspider.com/archives/2006/09/css_for_layout_bah_use_ascii_art.html</link>
            <description>very clever: create an ascii scribble of your html design, and the tool will generatethe css to do the formatting.</description>
            <author>How to use Google code search</author>
            <pubDate>Sat, 30 Sep 2006 08:44:00+0100</pubDate>
        </item>
        <item>
            <title>THIS BLOG MOVED to blog.bookworm.at ! (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/263047/</link>
            <description>I moved my blog to &lt;a href=&quot;http://blog.bookworm.at&quot;&gt;http://blog.bookworm.at&lt;/a&gt; .&lt;br /&gt;
&lt;br /&gt;
The most up-to-date RSS feed is &lt;a href=&quot;http://blog.bookworm.at/feeds/posts/default&quot;&gt;http://blog.bookworm.at/feeds/posts/default&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Please update your feed readers. Thank You!</description>
            <author>ferrari.mind.publish()</author>
            <pubDate>Sun, 18 Feb 2007 02:45:00+0100</pubDate>
        </item>
        <item>
            <title>What Google is thinking about me. (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/263006/</link>
            <description>&lt;b&gt;One problem when you make guesses about one's interests is that you can insult him by making a wrong guess.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;cite&gt;&lt;b&gt;Web pages related to your searches&lt;/b&gt;&lt;br /&gt;
01. &lt;a href=&quot;http://www.myeclipseide.com/&quot;&gt;MyEclipse J2EE IDE - Easy and affordable eclipse plugin ...&lt;/a&gt;&lt;br /&gt;
02. &lt;a href=&quot;http://www.google.at/&quot;&gt;Google&lt;/a&gt;  *g*&lt;br /&gt;
03. &lt;a href=&quot;http://www.krone.at/&quot;&gt;Krone.at Kronen Zeitung Österreich Wetter aktuell Sport ...&lt;/a&gt;&lt;br /&gt;
04. &lt;a href=&quot;http://www.t-mobile.at/privat/&quot;&gt;T-Mobile Austria&lt;/a&gt;&lt;br /&gt;
05. &lt;a href=&quot;http://handbrake.m0k.org/&quot;&gt;HandBrake&lt;/a&gt;&lt;br /&gt;
06. &lt;a href=&quot;http://metissian.com/projects/macosx/subversion/&quot;&gt;Metissian - Projects - Mac OS X Packages - Subversion&lt;/a&gt;&lt;br /&gt;
07. &lt;a href=&quot;http://interfacelift.com/icons-mac/&quot;&gt;InterfaceLIFT: Mac OS X icons (by date)&lt;/a&gt;&lt;br /&gt;
08. &lt;a href=&quot;http://gutenberg.spiegel.de/&quot;&gt;Projekt Gutenberg-DE - Kultur - SPIEGEL ONLINE&lt;/a&gt;&lt;br /&gt;
09. &lt;a href=&quot;http://trac.edgewall.org/&quot;&gt;The Trac Project - Trac &lt;/a&gt;&lt;br /&gt;
10. &lt;a href=&quot;http://www.choosebooks.com/SESSz71972154211171722438/gr2/en/index.html&quot;&gt;ZVAB - Zentrales Verzeichnis Antiquarischer Bücher &lt;/a&gt;&lt;br /&gt;
&lt;/cite&gt;&lt;br /&gt;
&lt;br /&gt;
What you think I'm so dumb that I read boulevard trash?&lt;br /&gt;
&lt;div style=&quot;color:red&quot;&gt;Read the fucking Krone yourself, Sergey!&lt;/div&gt;&lt;br /&gt;

More seriously, most of the other stuff was ok, and some of it even helpful (HandBrake or Metissian might become useful)</description>
            <author>THIS BLOG MOVED to blog.bookworm.at !</author>
            <pubDate>Sat, 17 Feb 2007 14:27:00+0100</pubDate>
        </item>
        <item>
            <title>Zooming and Drawing with Emacs (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/262998/</link>
            <description>&lt;b&gt;Two useful pieces of emacs lisp code I just found&lt;/b&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.emacswiki.org/cgi-bin/wiki/CycleFontSizes&quot;&gt;Firefox-like zoom in/out for emacs.&lt;/a&gt;&lt;/li&gt;  
&lt;li&gt;&lt;a href=&quot;http://www.lysator.liu.se/~tab/artist/&quot;&gt;artist-mode&lt;/a&gt; (by Tomas Abrahamsson)&lt;/li&gt;
&lt;/ul&gt;

&lt;cite&gt;&lt;br /&gt;
Artist is an Emacs lisp package that allows you to draw lines, rectangles, squares, poly-lines, ellipses and circles by using your mouse and/or keyboard. The shapes are made up with the ascii characters |, -, / and \.&lt;br /&gt;
&lt;/cite&gt;

&lt;pre&gt;&lt;code&gt;
                                      
                                      
     +-----------------+         +-----------------------+
     |     User        |         |          Emacs        |
     +--------+--------+         +------------+----------+
              |                               |
              |                               |
              |                               |
              |                         \     |
              |          Draw Pictures   \    |
              |      ---------------------X   |
              |       with artist-mode   /    |
              |                         /     |
              |                               |
              |                               |
              |                               |
              |                               |
              |                               |
              |                               |

&lt;/code&gt;&lt;/pre&gt;</description>
            <author>What Google is thinking about me.</author>
            <pubDate>Sat, 17 Feb 2007 12:10:00+0100</pubDate>
        </item>
        <item>
            <title>Web 2.0 in 4.31 minutes (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/262585/</link>
            <description>&lt;b&gt; Social software, explained in a nice 4 minute video&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/6gmP4nk0EOE&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/6gmP4nk0EOE&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
[via &lt;a href=&quot;http://axel.blogr.com/stories/50548/&quot;&gt;Axel&lt;/a&gt;]</description>
            <author>Zooming and Drawing with Emacs</author>
            <pubDate>Mon, 05 Feb 2007 14:19:00+0100</pubDate>
        </item>
        <item>
            <title>I remember that moment... (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/262480/</link>
            <description>&lt;p&gt;&lt;a href=&quot;http://www.unitedmedia.com/comics/dilbert/&quot;&gt;&lt;img src=&quot;http://www.dilbert.com/comics/dilbert/archive/images/dilbert2007073307202.gif&quot; alt=&quot;dilbert on stupid features&quot;&gt;&lt;/a&gt;&lt;/p&gt;

[via &lt;a href=&quot;http://www.unitedmedia.com/comics/dilbert/&quot;&gt;Dilbert&lt;/a&gt; of course]</description>
            <author>Web 2.0 in 4.31 minutes</author>
            <pubDate>Fri, 02 Feb 2007 11:26:00+0100</pubDate>
        </item>
        <item>
            <title>java.net.URL is horribly broken. Since 1995! (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/262377/</link>
            <description>&lt;b&gt;The equals method in java.net.URL is so incredible broken you will not believe this.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
We programmers all have one or two stories about a not-so-reasonable piece of code we came across in our lives. &lt;br /&gt;
&lt;br /&gt;
But I just read something about &lt;a href=&quot;http://java.sun.com/j2se/1.5.0/docs/api/java/net/URL.html&quot;&gt;java.net.URL&lt;/a&gt; that is extremely silly and shocking, considering that  most of us probably use this class frequently.&lt;br /&gt;
&lt;br /&gt;
From the java 1.5 documentation:&lt;br /&gt;
&lt;cite&gt;&lt;br /&gt;
public boolean equals(Object obj)&lt;br /&gt;
...&lt;br /&gt;
Two hosts are considered equivalent if both host names can be resolved into the same IP addresses; else if either host name can't be resolved, the host names must be equal without regard to case; or both host names equal to null.&lt;br /&gt;
...&lt;br /&gt;
&lt;/cite&gt;&lt;br /&gt;
&lt;br /&gt;
For example, take this code snippet:

&lt;pre&gt;&lt;code&gt;
URL url1 = new URL(&quot;http://blog.interlinked.org&quot;);
URL url2 = new URL(&quot;http://bookworm.at&quot;);
assert url1.equals(url2);
&lt;/code&gt;&lt;/pre&gt;

Now, if the assertion fails or succeeds depends on these factors:
&lt;ul&gt;  
&lt;li&gt;If these two URLs resolve to the same IP address or not. For the moment, &lt;a href=&quot;http://blog.interlinked.org&quot;&gt;http://blog.interlinked.org&lt;/a&gt; and &lt;a href=&quot;http://bookworm.at&quot;&gt;http://bookworm.at&lt;/a&gt; link to the same IP (but to different sites running on different applications), so the equals method returns true.&lt;/li&gt;  
&lt;li&gt;if there is a working internet connection at the time of execution. If there is no way for the compiler to resolve the IP addresses of both URLs, it simply compares the domain names, which would resolve to false.&lt;/li&gt;
&lt;/ul&gt;

So the outcome of URL.equals is more or less unpredictable. This really was a shock when I read that at &lt;a href=&quot;http://brian.pontarelli.com/2006/12/05/mr-gosling-why-did-you-make-url-equals-suck/&quot;&gt;Invert Your Mind&lt;/a&gt;, because java.net.URL is around since JDK 1.0 and it seems that none of us ever realized how completely broken that equals method is.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why not always compare domain strings? That is not only the easiest and the most performant way, it is also what one would expect from that method.</description>
            <author>I remember that moment...</author>
            <pubDate>Wed, 31 Jan 2007 23:59:00+0100</pubDate>
        </item>
        <item>
            <title>Mihi introduces Haskell (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/262222/</link>
            <description>Mihi is currently publishing a series of articles about Haskell (Parts &lt;a href=&quot;http://blog.interlinked.org/tutorials/haskell_introduction.html&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;http://blog.interlinked.org/tutorials/haskell_2.html&quot;&gt;2&lt;/a&gt;, &lt;a href=&quot;http://blog.interlinked.org/tutorials/haskell_laziness.html&quot;&gt;3&lt;/a&gt;).</description>
            <author>java.net.URL is horribly broken. Since 1995!</author>
            <pubDate>Mon, 29 Jan 2007 20:49:00+0100</pubDate>
        </item>
        <item>
            <title>Welcome to ferrari.mind.publish, reddit (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/262091/</link>
            <description>&lt;b&gt;I guess for the next few hours, I could replace every &quot;you&quot; in my texts with &quot;Dear visitor from &lt;a href=&quot;http://programming.reddit.com/info/112it/comments&quot;&gt;reddit.com&lt;/a&gt;&quot;.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://farm1.static.flickr.com/133/370596550_a7469d505b.jpg?v=0&quot; alt=&quot;my web stats show tht reddit users make for ~75% of all visitors&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
So, welcome folks! There are also some critics about my &lt;a href=&quot;http://twoday.tuwien.ac.at/ferrari/stories/262025/&quot;&gt;comparison between Ruby and Python&lt;/a&gt;. I'm looking forward to explain my point of view in a follow up.</description>
            <author>Mihi introduces Haskell</author>
            <pubDate>Sat, 27 Jan 2007 09:21:00+0100</pubDate>
        </item>
        <item>
            <title>Ruby, Python compared (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/262025/</link>
            <description>&lt;b&gt;I wrote this as an answer to &quot;querstrom&quot; from informatik-forum.at, who asked about opinions on ruby and python.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I think the choice between Ruby and Python does not really make that much of a difference when in comes to productivity.  Both languages are dynamic, made for object orientated programming and are enriched with elements from functional programming.&lt;br /&gt;
&lt;br /&gt;
OO Design in Ruby is a little bit more consistent and more simple than in Python, but in my opinion, this does not give you that much of a productivity boost.&lt;br /&gt;
&lt;br /&gt;
Both languages have a tons of libraries and a very active community around them.&lt;br /&gt;
&lt;br /&gt;
If you look at Ruby and Python from an Java/C++/C# developers view, the differences are really not that significant at all. The advantages/disadvantages you find when using either of these languages will be more or less the same.&lt;br /&gt;
&lt;br /&gt;
If you directly put Ruby and Python side by side, however, you will find some huge differences in the way their designers see OOP and programming in general.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Message passing vs. structural object design&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Object oriented programming is often described as (reasonably) dividing an application into objects which have a state. If you want to change or if you want to know something about the state of an object, you pass a message to it.&lt;br /&gt;
&lt;br /&gt;
In Smalltalk (and Ruby really is nothing else but a new version of smalltalk), this concept was taken very seriously.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
lamp.lightswitch.press_button&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
This means something like &quot;send the message 'lightswitch' to the object lamp. The answer to my request, which will be some object again, receives another message called 'press_button' .&quot;&lt;br /&gt;
&lt;br /&gt;
In Python, objects are seen more like in C++ or Java. Objects here are like containers that can hold other objects (of which some will be methods). I guess this has its roots in C's structs?&lt;br /&gt;
&lt;br /&gt;
So, &lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
lamp.lightswitch.press_button()&lt;br /&gt;
&lt;/code&gt; &lt;br /&gt;
&lt;br /&gt;
means in python: look into the object lamp for another object called &quot;lightswitch&quot;. In lightswitch, find the object named &quot;press_button&quot; and call that.&lt;br /&gt;
&lt;br /&gt;
So,&lt;b&gt; the dot in Python syntax means &quot;look into&quot; and in Ruby it means &quot;send message to&quot;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In fact, the Ruby code I wrote earlier is just syntactic sugar for&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
lamp.send(&quot;lightswitch&quot;).send(&quot;press_button&quot;)&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
which is also valid ruby.&lt;br /&gt;
&lt;br /&gt;
For the casual Programmer, this does not make that much of a difference at first.  Python programmers can think about their programs in terms of message passing to objects without many problems.  But if you start using the languages for real applications, you will find that much of the characteristics of the language come back to this idea of message passing vs. structural objects.&lt;br /&gt;
&lt;br /&gt;
For example, it is only logical that you cannot have public instance variables in ruby, since the only way to communicate with objects is through sending messages to it. If it is at the right side of a dot, it has to be a message. &lt;br /&gt;
&lt;br /&gt;
Because Python objects are really just containers, you can do something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
amethod = object.somemethod&lt;br /&gt;
amethod()&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
This is not possible in Ruby, since somemethod is not an method itself, but just a message to the object.&lt;br /&gt;
&lt;br /&gt;
If you want the method object for some object in Ruby, you have to do what you always have to do: send a message to the object and ask for it:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
amethod = object.method(:method)&lt;br /&gt;
amethod.call&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
There are tons of other consequences to these two views on objects. But I leave this now and describe another huge difference between Ruby and Python that is maybe even more relevant to programmers evaluating new languages.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. The one obvious way vs. the principle of the least surprise&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
A basic principle of python (type &quot;import this&quot; in your python shell to see the basic principles) is that while there will always be million ways to solve a problem, there should better be one obviously best way to do it. This way, if one python programmer looks at some other python programmers code, everything will look familiar.&lt;br /&gt;
&lt;br /&gt;
In practice this means, for example, that there are no switch statements or do...while loops or counting loops in python, since these are just other ways to do what you usually do with if conditions and foreach or while loops.&lt;br /&gt;
&lt;br /&gt;
The ruby designers think a bit different. What really makes code hard to read is when the thought you want to describe is difficult to translate into program code. So if you want to do something if x is zero, Ruby allows you to write it down exactly this way:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;do_something if x.zero? &lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
This attitude has many influences on Ruby. For example, since many developers use pattern matching on strings every day, it makes sense to offer a special build in syntax for regular expressions right?.&lt;br /&gt;
&lt;br /&gt;
Now many people see this and are instantly reminded of that lovely chaos called Perl. In fact, I think that nothing has hurt Ruby more than its perlish syntax, because it reminds people of chaos.  In fact, ruby took some sytactic sugar from perl but that's it. Other than Perl, Ruby has a very clear and very slim grammar which is easy to understand and remember. The syntactic sugar is just that: Some few helpers that make code more comprehensible, but it just plain simple ruby under the hood. A Regex is an object as is String or nil: There is just an alternative way to create an instance.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Domain Specific languages&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I do not want to write much about DSLs here, since Martin Fowler already wrote a &lt;a href=&quot;http://martinfowler.com/articles/languageWorkbench.html&quot;&gt;terrific piece about DSLs&lt;/a&gt;. I just want to add that this really did make the choice for Ruby in my case, after some happy years with python as my main language of choice.</description>
            <author>Welcome to ferrari.mind.publish, reddit</author>
            <pubDate>Sat, 27 Jan 2007 16:02:00+0100</pubDate>
        </item>
        <item>
            <title>Are you Sagittarius enough to work with us? (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/261665/</link>
            <description>&lt;b&gt;Some german company has extraodinary skill demands.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This &lt;a href=&quot;http://jobs.rubynow.com/jobs/show/847&quot;&gt;job offer&lt;/a&gt; looks like your typical job for a 0815PointOhh web developer:&lt;br /&gt;
&lt;br /&gt;
&lt;cite&gt;&lt;br /&gt;
Required Skills: 	&lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails&lt;br /&gt;
* PostgreSQL, MySQL, and various SQL dbs&lt;br /&gt;
* Test-driven development (TDD)&lt;br /&gt;
* Linux or other Unices&lt;br /&gt;
* Rails deployment&lt;br /&gt;
* Subversion&lt;br /&gt;
* HTML, CSS, AJAX!&lt;br /&gt;
* Experience in a Startup environment.&lt;br /&gt;
* Experience developing large scalable websites.&lt;br /&gt;
&lt;br /&gt;
Desired skills: 	&lt;br /&gt;
&lt;br /&gt;
• Development experience preferably with Object Oriented development languages.&lt;br /&gt;
• 2+ years experience developing for the web using an MVC framework.&lt;br /&gt;
• Ruby, Ruby On Rails and solid knowledge of the MVC design pattern required.&lt;br /&gt;
• Experience with developing on Unix required.&lt;br /&gt;
• Experience with Database modeling and design required, PostGreSQL a plus&lt;br /&gt;
• Experience with Flash a plus&lt;br /&gt;
• Experience with SVN a plus.&lt;br /&gt;
• Experience with internationalization issue related to the web a plus.&lt;br /&gt;
• Strong User Interface design skills, especially Web 2.0 and Ajax preferred.&lt;br /&gt;
• Must be detail-oriented and thorough in designing, coding and testing.&lt;br /&gt;
• Must be able to provide walkthrough and code samples of previous work. &lt;br /&gt;
&lt;/cite&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But wait, what's this? &lt;br /&gt;
&lt;br /&gt;
&lt;cite&gt;&lt;br /&gt;
Description: &lt;br /&gt;
&lt;br /&gt;
This is a wonderful entrepreneurial position for the humanitarian keen on facilitating emotional fulfilment for humanity.&lt;br /&gt;
&lt;br /&gt;
*Birthday must fall between;&lt;br /&gt;
&lt;br /&gt;
January 20 and February18&lt;br /&gt;
&lt;br /&gt;
May 21 and June 20&lt;br /&gt;
&lt;br /&gt;
July 23 and August 22&lt;br /&gt;
&lt;br /&gt;
Sept. 23 and Oct. 22&lt;br /&gt;
&lt;br /&gt;
November 23 and December 21&lt;br /&gt;
&lt;/cite&gt;&lt;br /&gt;
&lt;br /&gt;
I'm sure there is some obscure gardner analysis around that indicates projects where at least one Sagittarius was involved and which are developed only on full moon evenings cannot fail? Amazing.&lt;br /&gt;
&lt;br /&gt;
[via &lt;a href=&quot;http://redhanded.hobix.com/inspect/iVeReadYourHoroscopeAndYouReNoHacker.html&quot;&gt;_why&lt;/a&gt;]</description>
            <author>Ruby, Python compared</author>
            <pubDate>Sat, 20 Jan 2007 09:13:00+0100</pubDate>
        </item>
        <item>
            <title>Software: So Bad, It Can Only Get Better (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/261639/</link>
            <description>&lt;cite&gt;Software can easily rate among the most poorly constructed, unreliable and least maintainable technological artifacts ever invented by man -- with perhaps the exception of Icarus' wings.&lt;br /&gt;
&lt;/cite&gt;&lt;br /&gt;
&lt;i&gt;&lt;a href=&quot;http://www.strassmann.com/pubs/cw/bad-software.shtml&quot;&gt;Paul A. Strassmann, &lt;br /&gt;
Computerworld&lt;br /&gt;
December 9, 1996&lt;/a&gt;&lt;/i&gt;</description>
            <author>Are you Sagittarius enough to work with us?</author>
            <pubDate>Fri, 19 Jan 2007 16:12:00+0100</pubDate>
        </item>
        <item>
            <title>Books and their Movies (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/261367/</link>
            <description>Miso &lt;a href=&quot;http://www.sokolar.com/blog/?p=53&quot;&gt;writes&lt;/a&gt;  about books &lt;&gt; movies:&lt;br /&gt;
&lt;br /&gt;
&lt;cite&gt;In the past i quite often had discussions about whether a film adaption of a book is as good as the book itself, or even better, that a film could never come near the book.&lt;br /&gt;
In my opinion comparing a book with a movie is just as absurd as comparing a book with a theater play, a tv series with a movie or even comparing a novel with a poem - it just does not work. All of those are completely different media, each with it´s own rules and restrictions, each with a completely different basis .&lt;/cite&gt;&lt;br /&gt;
&lt;br /&gt;
Well said. I guess another example would be to compare a book to a painting based on that book.  I do not believe many people argue that the bible is better or worse than Da Vinci's &quot;Last Supper&quot;. Like with paintings, a movie will only tell you a fraction of the story, but it will do so in a completly different way and create a completely different experience.&lt;br /&gt;
&lt;br /&gt;
I guess the problem with movies is that they often reveal the main clues of a books story, so enjoying the story in one media is somewhat ruining your experience on the other.  And because the book mostly contains a lot more details on the story, it is more wise to read the book first.&lt;br /&gt;
&lt;br /&gt;
Another problem with popular movies based on books is that it needs a lot more money to produce them, so there are a lot more non-artists involved in its creation. Thats's why characters in movies often get cribbled down to stereotypes.</description>
            <author>Software: So Bad, It Can Only Get Better</author>
            <pubDate>Wed, 17 Jan 2007 16:08:00+0100</pubDate>
        </item>
        <item>
            <title>Dangerous integer optimization in gcc 1.4.1 (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/261296/</link>
            <description>&lt;b&gt;Current optimizations in gcc could create severe security holes in&lt;br /&gt;
lots of current systems.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In gcc 1.4.1, the following expression does automaticaly resolve to true:&lt;br /&gt;
&lt;br /&gt;
someInt+100 &gt; someInt; &lt;br /&gt;
&lt;br /&gt;
This works well as long as you stay within the integer boundries, but&lt;br /&gt;
can cause havoc on many systems:

&lt;pre&gt;&lt;code&gt;
#include &lt;assert.h&gt;
int main(){
  int someInt = 0x7fffffff;
 
  //someInt == 2147483647,(someInt+100) == -2147483549, 
  //but this throws no exception in gcc 1.4.1:
  assert(someInt + 100 &gt; someInt); 
}
&lt;/code&gt;&lt;/pre&gt;

This could create lots of open doors for crackers. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475&quot;&gt;GCC Bugzilla Bug 30475&lt;/a&gt;.</description>
            <author>Books and their Movies</author>
            <pubDate>Tue, 16 Jan 2007 12:30:00+0100</pubDate>
        </item>
        <item>
            <title>Ruby reaches TIOBEs top ten (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/260738/</link>
            <description>&lt;b&gt;January Headline: Ruby declared TIOBE's Programming Language of 2006!&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The &lt;a href=&quot;http://www.tiobe.com/tpci.htm&quot;&gt;TIOBE index&lt;/a&gt;, which tries to measure programming language popularity, uses queries on popular search engines to rank programming languages by their popularity on the net.   The team now declared Ruby the Programming Language of 2006, after the language went up each month and climbed the top ten out of nowhere.&lt;br /&gt;
&lt;br /&gt;
&lt;table class=&quot;ttable&quot; style=&quot;margin-top:1px;&quot; align=&quot;center&quot; border=&quot;1&quot; bordercolordark=&quot;#003366&quot; bordercolorlight=&quot;#c0c0c0&quot;&gt;&lt;tr&gt;&lt;th nowrap align=&quot;center&quot;&gt;
Position&lt;br&gt;
Jan 2007&lt;/th&gt;&lt;th nowrap align=&quot;center&quot;&gt;Position&lt;br&gt;

Jan 2006&lt;/th&gt;&lt;th nowrap align=&quot;center&quot;&gt;Delta in Position&lt;/th&gt;&lt;th nowrap align=&quot;center&quot;&gt;Programming Language&lt;/th&gt;&lt;th nowrap align=&quot;center&quot;&gt;Ratings&lt;br&gt;
Jan 2007&lt;/th&gt;&lt;th nowrap align=&quot;center&quot;&gt;Delta
&lt;br&gt;
Jan 2006&lt;/th&gt;&lt;th nowrap align=&quot;center&quot;&gt;Status&lt;/th&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;1&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;1&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Same.gif&quot;&gt;&lt;/td&gt;

&lt;td&gt;Java&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;19.160%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-3.10%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;2&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;2&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Same.gif&quot;&gt;&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;15.807%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-3.20%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;3&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;3&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Same.gif&quot;&gt;&lt;/td&gt;
&lt;td&gt;C++&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;10.425%&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;-1.04%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;4&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;5&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;(Visual) Basic&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;9.123%&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;+0.03%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;5&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;4&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;PHP&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;7.943%&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;-1.46%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;6&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;6&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Same.gif&quot;&gt;&lt;/td&gt;
&lt;td&gt;Perl&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;6.237%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-0.81%&lt;/td&gt;

&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;7&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;7&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Same.gif&quot;&gt;&lt;/td&gt;
&lt;td&gt;C#&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;3.521%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-0.03%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;8&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;8&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Same.gif&quot;&gt;&lt;/td&gt;
&lt;td&gt;Python&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;3.502%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+0.90%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;9&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;10&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;JavaScript&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;2.845%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+1.31%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;10&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;21&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;b&gt;11 * &lt;/b&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;Ruby&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;2.519%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+2.15%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;11&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;11&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Same.gif&quot;&gt;&lt;/td&gt;
&lt;td&gt;SAS&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;2.343%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+1.18%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;12&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;9&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;Delphi&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;2.336%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+0.75%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;13&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;12&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;PL/SQL&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;1.570%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+0.54%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;14&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;22&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;b&gt;8 * &lt;/b&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;1.335%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+0.97%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A-&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;15&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;20&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;ABAP&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;1.229%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+0.82%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  A-&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;16&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;14&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;Lisp/Scheme&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;0.674%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+0.07%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  B&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;17&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;18&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;Ada&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;0.638%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+0.17%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  B&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;18&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;13&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;COBOL&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;0.637%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;-0.13%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  B&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;19&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;15&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Down.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;Pascal&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;0.570%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+0.04%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  B&lt;/td&gt;&lt;/tr&gt;&lt;tr height=&quot;25&quot;&gt;&lt;td align=&quot;center&quot;&gt;20&lt;/td&gt;

&lt;td align=&quot;center&quot;&gt;34&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;
&lt;b&gt;14 * &lt;/b&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.tiobe.com/tiobe_index/images/Up.gif&quot;&gt;
&lt;/td&gt;
&lt;td&gt;Transact-SQL&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;0.510%&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;+0.34%&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;  B&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;

I remember when I first looked into the language,  Ruby had great but also very small community. Many (including me) considered the language not that much more powerful  than Python, which had similar features, some minor drawbacks, but also a much greater community and support. &lt;br /&gt;
&lt;br /&gt;
Funny enough,  one of the biggest drawbacks then was the lack of a good framework for web applications.  Python had dozens of them, from &lt;a href=&quot;http://zope.org&quot;&gt;complex application servers&lt;/a&gt; to &lt;a href=&quot;http://twoday.tuwien.ac.at/ferrari/stories/359/&quot;&gt;small, simple solutions&lt;/a&gt;. Today, it seems as if many people call Ruby a &lt;a href=&quot;http://groups.google.de/group/comp.lang.ruby/browse_thread/thread/2fed589fd49cc98a/94bca3dc91a427a1?lnk=raot&quot;&gt;web language&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
I have no idea what a &lt;i&gt;web language&lt;/i&gt; is, but I guess that's not important. &lt;a href=&quot;http://en.wikipedia.org/wiki/Smalltalk&quot;&gt;Smalltalk&lt;/a&gt; finally got the attention it deserves, It just had to put on a perlish cloak. And that makes my &lt;strike&gt;job&lt;/strike&gt; hobby a lot more fun!</description>
            <author>Dangerous integer optimization in gcc 1.4.1</author>
            <pubDate>Mon, 08 Jan 2007 07:01:00+0100</pubDate>
        </item>
        <item>
            <title>Google’s gone evil? (ferrari.mind.publish())</title>
            <link>http://twoday.tuwien.ac.at/ferrari/stories/260452/</link>
            <description>&lt;b&gt;An interesting rant about google promoting its own services above search results.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;cite&gt;&lt;br /&gt;
Some of you might remember how worried Google has been about the possibility of Vista and IE7 recommending Microsoft’s Live.com search engine over Google when they shipped.&lt;br /&gt;
&lt;br /&gt;
I certainly know I remember meetings at Google where this very fear was front-and-center and how Googlers at those meetings were very passionate about the issue. They all agreed - it was horribly wrong of Microsoft to recommend an inferior search engine simply because they had upgraded their desktop software.&lt;br /&gt;
&lt;br /&gt;
Have you tried searching for ‘&lt;a href=&quot;http://www.google.com/search?hl=en&amp;lr=&amp;q=blog&amp;btnG=Search&quot;&gt;blog&lt;/a&gt;‘, ‘&lt;a href=&quot;http://www.google.com/search?hl=en&amp;lr=&amp;q=calendar&amp;btnG=Search&quot;&gt;calendar‘&lt;/a&gt;, or my personal favorite, ‘&lt;a href=&quot;http://www.google.com/search?hl=en&amp;lr=&amp;q=photo+sharing&amp;btnG=Search&quot;&gt;photo sharing&lt;/a&gt;‘ at Google today? &lt;br /&gt;
...&lt;br /&gt;
&lt;b&gt;Since Google’s own products aren’t good enough to make the top of the rankings themselves, they’re starting to promote them directly, outside of AdWords, with bright logos and top placement (which no-one else can use).&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blogs.smugmug.com/onethumb/2006/12/29/googles-gone-evil/&quot;&gt;more...&lt;/a&gt;&lt;br /&gt;
&lt;/cite&gt;&lt;br /&gt;
&lt;br /&gt;
And here is another good quote from that page, this time from the comments section, by &lt;a href=&quot;http://colorspretty.blogspot.com/&quot;&gt;Colors...Pretty&lt;/a&gt; :&lt;br /&gt;
&lt;cite&gt;&lt;br /&gt;
Clearly you are both approaching this ‘photo hosting’ thing from the wrong direction.&lt;br /&gt;
The key to success in this market is to build a wildy popular search engine first, and then promote your products at the top of the page.&lt;br /&gt;
&lt;/cite&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[via &lt;a href=&quot;http://blogs.smugmug.com/onethumb/2006/12/29/googles-gone-evil/&quot;&gt;SmugBlog&lt;/a&gt;]</description>
            <author>Ruby reaches TIOBEs top ten</author>
            <pubDate>Sat, 30 Dec 2006 15:38:00+0100</pubDate>
        </item>
    </channel>
</rss>
