<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Fortytwo.gr - Blog</title>
    <link>http://www.fortytwo.gr</link>
    <description>Don't eat yellow snow</description>
    <language>en</language>
    <item>
      <title>Acts_as_tree_on_steroids plugin</title>
      <description>&lt;p&gt;We&amp;#8217;ve been using a home-made extension of acts_as_tree on our production site for quite some time. We finally found some time to release it as a plugin &lt;a href=&quot;http://wiki.github.com/bandito/acts_as_tree_on_steroids&quot;&gt;You can find it on github&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 01 Nov 2009 16:08:12 +0200</pubDate>
      <link>http://fortytwo.gr/blog/25/Acts-as-tree-on-steroids-plugin</link>
      <guid>http://fortytwo.gr/blog/25/Acts-as-tree-on-steroids-plugin</guid>
    </item>
    <item>
      <title>RubyEnRails 2009 Day 1</title>
      <description>&lt;p&gt;If you prefer 140 character updates then watch out for Rails 3 in Q1 2010, otherwise read on, interesting info inside.&lt;/p&gt;</description>
      <pubDate>Fri, 30 Oct 2009 22:58:42 +0200</pubDate>
      <link>http://fortytwo.gr/blog/24/RubyEnRails-2009-Day-1</link>
      <guid>http://fortytwo.gr/blog/24/RubyEnRails-2009-Day-1</guid>
    </item>
    <item>
      <title>Spam, spam, and spam.</title>
      <description>&lt;p&gt;Last time I checked spam meant robots. Stupid little applications from brilliant people gone the wrong way. That was the last time I checked and it was a long time ago. Lately spam is generated by &lt;a href=&quot;http://en.wikipedia.org/wiki/Oompa-Loompa&quot;&gt;Oompa Loompas&lt;/a&gt; with enough intelligence to override captchas and all that jazz. Below is the log of my attempts to limit spam on this blog.&lt;/p&gt;</description>
      <pubDate>Tue, 27 Oct 2009 12:13:09 +0200</pubDate>
      <link>http://fortytwo.gr/blog/23/Spam-spam-and-spam</link>
      <guid>http://fortytwo.gr/blog/23/Spam-spam-and-spam</guid>
    </item>
    <item>
      <title>Static files with Nginx + Passenger</title>
      <description>&lt;p&gt;Normally, when you setup Nginx and Passenger to serve your rails application, all static files are served by Nginx without hitting  Passenger. What really happens is that all static files that &lt;strong&gt;do exist&lt;/strong&gt; are served by Nginx and the rest are passed on to mongrel.&lt;/p&gt;
&lt;p&gt;For example http://www.mydomain.com/javascripts/prototype.js will be served by Nginx , but http://www.mydomain.com/javascripts/iamastupidrobot.js will continue to Passenger going all the way through the Rails stack. Instead of a simple 1ms nginx process , you get a full stack rails request with a route recognition error. &lt;strong&gt;Not good&lt;/strong&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2009 19:29:58 +0300</pubDate>
      <link>http://fortytwo.gr/blog/21/Static-files-with-Nginx-Passenger</link>
      <guid>http://fortytwo.gr/blog/21/Static-files-with-Nginx-Passenger</guid>
    </item>
    <item>
      <title>Pragmatic Usability Testing</title>
      <description>&lt;p&gt;If you are working on a project long enough you&amp;#8217;ll probably think that every link, button, image is exactly where it should be. &lt;br /&gt;
If you coded it or designed it, then there&amp;#8217;s something worse: You&amp;#8217;ll have a hard time accepting that noone saw that big, bold sign up link.&lt;/p&gt;</description>
      <pubDate>Mon, 17 Mar 2008 00:28:31 +0200</pubDate>
      <link>http://fortytwo.gr/blog/20/Pragmatic-Usability-Testing</link>
      <guid>http://fortytwo.gr/blog/20/Pragmatic-Usability-Testing</guid>
    </item>
    <item>
      <title>9 Essential Rails Tips</title>
      <description>&lt;p&gt;Rails is a framework about conventions. It generates a basic structure which you mold into your dream application. &lt;br /&gt;
Over the course of the years, we have gathered some basic, rails specific, hints and tips you might want to check before going live. They are split into sections to make it easier to scan them, and pick the ones you haven&amp;#8217;t indulged (yet) in. Read on, have fun, and comment a lot&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Thu, 21 Feb 2008 23:24:44 +0200</pubDate>
      <link>http://fortytwo.gr/blog/18/9-Essential-Rails-Tips</link>
      <guid>http://fortytwo.gr/blog/18/9-Essential-Rails-Tips</guid>
    </item>
    <item>
      <title>Generating Sitemaps With Rails</title>
      <description>&lt;p&gt;Sitemaps are a cool way for describing your site&amp;#8217;s structure to search engines. &lt;br /&gt;
They can be more than useful when your site&amp;#8217;s link aren&amp;#8217;t always that easy discoverable (like searches for example).&lt;/p&gt;
&lt;p&gt;There are some examples for generating sitemaps on the fly using an .rxml template, but if you site contains a large number of links you&amp;#8217;ll need more than that.&lt;/p&gt;</description>
      <pubDate>Fri, 07 Mar 2008 23:42:29 +0200</pubDate>
      <link>http://fortytwo.gr/blog/19/Generating-Sitemaps-With-Rails</link>
      <guid>http://fortytwo.gr/blog/19/Generating-Sitemaps-With-Rails</guid>
    </item>
    <item>
      <title>Mock testing Paypal's IPN with Rails</title>
      <description>&lt;p&gt;In the previous article &lt;a href=&quot;http://www.fortytwo.gr/blog/14/Using-Paypal-with-Rails&quot;&gt;Using Paypal with Rails&lt;/a&gt; we showed how to implement a Paypal form using some of the Rails magic.&lt;br /&gt;
What&amp;#8217;s equally important to the actual form,  is, well &amp;#8230;testing it. &lt;br /&gt;
Transactions are about customer&amp;#8217;s money so you can&amp;#8217;t rely on point and click testing.&lt;/p&gt;
&lt;p&gt;Up until the redirection of the user to the Paypal gateway, testing can be done like usual, using the build-in mechanisms Rails provides.&lt;br /&gt;
What you &lt;strong&gt;can&amp;#8217;t&lt;/strong&gt; test in an automated way is Paypal&amp;#8217;s &lt;span class=&quot;caps&quot;&gt;IPN&lt;/span&gt; call back. &lt;br /&gt;
And you can&amp;#8217;t test it because Paypal&amp;#8217;s sandbox is unreliable. It can fire the call back after 2 seconds or 2 hours or 2 years.&lt;/p&gt;</description>
      <pubDate>Sat, 27 Oct 2007 12:50:14 +0300</pubDate>
      <link>http://fortytwo.gr/blog/17/Mock-testing-Paypal-s-IPN-with-Rails</link>
      <guid>http://fortytwo.gr/blog/17/Mock-testing-Paypal-s-IPN-with-Rails</guid>
    </item>
    <item>
      <title>Using Paypal with Rails</title>
      <description>&lt;p&gt;For our latest joint venture we need to implement some kind of payment gateway.&lt;br /&gt;
The requirements were simple:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;We need it secure&lt;/li&gt;
	&lt;li&gt;We need it simple&lt;/li&gt;
	&lt;li&gt;We need it now&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The project was a complete overhaul of a job posting site : &lt;a href=&quot;http://www.freshwebjobs.com&quot;&gt;www.freshwebjobs.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;
The talented folks over at &lt;a href=&quot;http://www.extendio.ro&quot;&gt;Extendio&lt;/a&gt; had done a very nice job reskinning the site, and they wanted us to update the codebase, add RoR hype ,some new hooks and features.&lt;/p&gt;</description>
      <pubDate>Thu, 18 Oct 2007 12:24:50 +0300</pubDate>
      <link>http://fortytwo.gr/blog/14/Using-Paypal-with-Rails</link>
      <guid>http://fortytwo.gr/blog/14/Using-Paypal-with-Rails</guid>
    </item>
    <item>
      <title>FreshWebJobs.com</title>
      <description>&lt;p&gt;A while ago we stumbled upon a design studio in Romania, &lt;a href=&quot;http://www.extendio.ro&quot;&gt;Extendio&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;They are the coolest guys to ever work with, and their designs are what we think the &lt;strong&gt;web is all about&lt;/strong&gt;.&lt;/p&gt;</description>
      <pubDate>Sun, 14 Oct 2007 23:02:24 +0300</pubDate>
      <link>http://fortytwo.gr/blog/12/FreshWebJobs-com</link>
      <guid>http://fortytwo.gr/blog/12/FreshWebJobs-com</guid>
    </item>
    <item>
      <title>So long Apache and thanks for all the fish</title>
      <description>&lt;p&gt;Apache has been good to us, and we have been good to him. &lt;br /&gt;
For quite a while we&amp;#8217;ve been using Apache and mod_proxy_balancer to distribute requests to mongrels .&lt;br /&gt;
But, while adding a new &lt;em&gt;twin server&lt;/em&gt; for &lt;a href=&quot;http://www.skroutz.gr&quot;&gt;Skroutz&lt;/a&gt; &lt;strong&gt;we had to say goodbye.&lt;/strong&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 21 Sep 2007 14:20:10 +0300</pubDate>
      <link>http://fortytwo.gr/blog/11/So-long-Apache-and-thanks-for-all-the-fish</link>
      <guid>http://fortytwo.gr/blog/11/So-long-Apache-and-thanks-for-all-the-fish</guid>
    </item>
    <item>
      <title>[RAILS] Javascript inclusion</title>
      <description>&lt;p&gt;&lt;a href=&quot;http://developer.yahoo.com/yslow/&quot;&gt;YSlow&lt;/a&gt; says I should move my scripts to the bottom.&lt;br /&gt;
It sounds somewhat reasonable since no &lt;span class=&quot;caps&quot;&gt;DOM&lt;/span&gt; manipulations can take place, unless the &lt;span class=&quot;caps&quot;&gt;DOM&lt;/span&gt; is fully loaded.&lt;/p&gt;
&lt;p&gt;Moving the scripts to the bottom will allow the user to see most of the page without waiting for that 400kb of javascript to load. But&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Tue, 04 Sep 2007 14:16:28 +0300</pubDate>
      <link>http://fortytwo.gr/blog/10/RAILS-Javascript-inclusion</link>
      <guid>http://fortytwo.gr/blog/10/RAILS-Javascript-inclusion</guid>
    </item>
    <item>
      <title>Fortytwo on the IPhone</title>
      <description>&lt;p&gt;Thanks to HAL9000 we now have a picture of how our page looks on the IPhone.&lt;br /&gt;
The interface looks awesome, and the browsing experience very tempting&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Wed, 18 Jul 2007 20:17:41 +0300</pubDate>
      <link>http://fortytwo.gr/blog/9/Fortytwo-on-the-IPhone</link>
      <guid>http://fortytwo.gr/blog/9/Fortytwo-on-the-IPhone</guid>
    </item>
    <item>
      <title>mod_proxy + Gzip + rails gotcha</title>
      <description>&lt;p&gt;As I was browsing our price aggregator (&lt;a href=&quot;http://www.skroutz.gr&quot;&gt;Skroutz&lt;/a&gt;), looking for things we might need to rethink or change completely for the next version, I was trying to determine the way the page loads, and how we could improve the user experience.&lt;/p&gt;
&lt;p&gt;A very nice tool, I am sure most webdevelopers are almost familiar with is the firefox Firebug extension. Besides allowing you to actually write to the dom tree as it is rendered by the browser and many other goodies, it shows you the &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt; requests a page load performs in the background.&lt;/p&gt;</description>
      <pubDate>Wed, 18 Jul 2007 17:15:38 +0300</pubDate>
      <link>http://fortytwo.gr/blog/8/mod-proxy-Gzip-rails-gotcha</link>
      <guid>http://fortytwo.gr/blog/8/mod-proxy-Gzip-rails-gotcha</guid>
    </item>
    <item>
      <title>Standards + love = Web 2.0</title>
      <description>&lt;p&gt;Web 2.0 &amp;#8211; The buzzword of the last 2 years, now slow but steadily reaches cooperate ears, and even here in technology-ghetto Greece you can here suit wearing junior managers throw around terms like community, usability, ajax etc&amp;#8230;.&lt;/p&gt;
&lt;p&gt;But was is Web 2.0 really? Is it Digg, reddit and newsvine? Is it myspace, youtube, or the google apps?&lt;/p&gt;</description>
      <pubDate>Thu, 21 Jun 2007 18:55:53 +0300</pubDate>
      <link>http://fortytwo.gr/blog/7/Standards-love-Web-2-0</link>
      <guid>http://fortytwo.gr/blog/7/Standards-love-Web-2-0</guid>
    </item>
    <item>
      <title>Rails: Power to the filters</title>
      <description>&lt;p&gt;Rails before_filters in controllers can help you keep your code &lt;span class=&quot;caps&quot;&gt;DRY&lt;/span&gt;. &lt;br /&gt;
I have coded cases where all action functionality was included in 2-3 before_filters.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll try to showcase some of the methods that work for me.&lt;/p&gt;</description>
      <pubDate>Thu, 21 Jun 2007 14:37:12 +0300</pubDate>
      <link>http://fortytwo.gr/blog/6/Rails-Power-to-the-filters</link>
      <guid>http://fortytwo.gr/blog/6/Rails-Power-to-the-filters</guid>
    </item>
    <item>
      <title>ROR - the devil is in the details...</title>
      <description>&lt;p&gt;While It has been more than a smooth ride with Rails for the last 2 years, the framework sure has some idiosyncrasies you have to get used too.&lt;/p&gt;
&lt;p&gt;In a recent project, a small programming bug of me, caused quite a large problem.&lt;/p&gt;</description>
      <pubDate>Sun, 17 Jun 2007 19:54:52 +0300</pubDate>
      <link>http://fortytwo.gr/blog/3/ROR-the-devil-is-in-the-details</link>
      <guid>http://fortytwo.gr/blog/3/ROR-the-devil-is-in-the-details</guid>
    </item>
    <item>
      <title>&lt;select&gt; alternatives</title>
      <description>&lt;p&gt;Combo boxes require at least 2-3 clicks to figure out which option to choose (clicking on the arrow for the drop down to pop-up , then moving through the list and selecting). Once you&amp;#8217;ve selected there is no way of reviewing your selection and compare it to other selections (you have to repeat the process).&lt;/p&gt;
&lt;p&gt;Multiple selects, allow you to review the whole or  part of a list, but inexperienced users will never guess the ctrl-click or shift-click operations. Placing instructions like &amp;#8220;ctrl-click to select multiple items&amp;#8221; may solve some problems, but you are rely on users actually reading instructions, which they don&amp;#8217;t.&lt;br /&gt;
Moreover,  ctrl-click operation can create havoc if user accidentally selects an item without holding ctrl (even worse if selected items are a few scrolls up and the user can&amp;#8217;t even see that they are now de-selected).&lt;/p&gt;</description>
      <pubDate>Sat, 16 Jun 2007 19:49:50 +0300</pubDate>
      <link>http://fortytwo.gr/blog/2/select-alternatives</link>
      <guid>http://fortytwo.gr/blog/2/select-alternatives</guid>
    </item>
    <item>
      <title>Digg ala Greece</title>
      <description>&lt;p&gt;To &#960;&#945;&#947;&#954;&#972;&#963;&#956;&#953;&#959; internet &#941;&#967;&#949;&#953; &#964;&#959; &lt;a href=&quot;http://www.slashdot&quot;&gt;slashdot&lt;/a&gt;, &lt;a href=&quot;http://www.digg.com&quot;&gt;digg&lt;/a&gt;, &lt;a href=&quot;http://www.reddit.com&quot;&gt;reddit&lt;/a&gt;. &lt;br /&gt;
&#933;&#960;&#940;&#961;&#967;&#959;&#965;&#957; &#954;&#945;&#953; &#960;&#959;&#955;&#955;&#940; &#960;&#959;&#965; &#955;&#949;&#953;&#964;&#959;&#965;&#961;&#947;&#959;&#973;&#957; &#969;&#962; specialized digg-clones (&#947;&#953;&#945; &#956;&#959;&#965;&#963;&#953;&#954;&#942;, &#945;&#965;&#964;&#959;&#954;&#943;&#957;&#951;&#964;&#945;, &#956;&#972;&#948;&#945; &#954;&#964;&#955;).&lt;/p&gt;</description>
      <pubDate>Sat, 16 Jun 2007 17:48:33 +0300</pubDate>
      <link>http://fortytwo.gr/blog/1/Digg-ala-Greece</link>
      <guid>http://fortytwo.gr/blog/1/Digg-ala-Greece</guid>
    </item>
  </channel>
</rss>
