<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Petr Zaparka</title>
	<atom:link href="http://zaparka.cz/feed/" rel="self" type="application/rss+xml" />
	<link>http://zaparka.cz</link>
	<description>Freelancer, web developer and friend</description>
	<lastBuildDate>Sat, 26 Jun 2010 19:10:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Proper error messages on rails</title>
		<link>http://zaparka.cz/2010/06/26/proper-error-messages-on-rails/</link>
		<comments>http://zaparka.cz/2010/06/26/proper-error-messages-on-rails/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 14:34:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zaparka.cz/?p=107</guid>
		<description><![CDATA[In order to have proper validation error messages on the web page I want to specify what the message will look like. Problem is that if you set validation message in your Person model like this:
validates_format_of :email, :with =&#62; /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :message =&#62; &#8216;invalid e-mail address&#8217;
you get on you page error message like this:
1 error prohibited [...]]]></description>
			<content:encoded><![CDATA[<p>In order to have proper validation error messages on the web page I want to specify what the message will look like. Problem is that if you set validation message in your Person model like this:</p>
<p><span style="color: #3366ff;">validates_format_of :email, :with =&gt; /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :message =&gt; &#8216;invalid e-mail address&#8217;</span></p>
<p>you get on you page error message like this:</p>
<p><span style="color: #ff0000;">1 error prohibited this person from being saved</span></p>
<p><span style="color: #ff0000;">There were problems with the following fields:</span></p>
<p><span style="color: #ff0000;">&#8216;Email invalid e-mail address&#8217;</span></p>
<p>but customer wants something more human like., for example:</p>
<p><span style="color: #ff0000;">Oh dear there were problem</span></p>
<p><span style="color: #ff0000;">That doesn&#8217;t look like a valid e-mail address. Please try again.</span></p>
<p>I found a solution and here is how to do that. First we change the Header error message and delete the submessage.</p>
<p>In your view where you are displaying errors use proper options for error_messages_for</p>
<p><span style="color: #3366ff;">error_messages_for(:person, :header_message =&gt; &#8220;Oh dear there were problem&#8221;, :message =&gt; &#8220;&#8221;)</span></p>
<p>Than the interesting part, error messages are in this format [attribute_name, message] but we need only the message part so without any hacking or parsing we can specify format of the message directly:</p>
<p><span style="color: #3366ff;">validates_format_of :email, :with =&gt; /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :message =&gt; :&#8221;email.format&#8221;</span></p>
<p>The part :&#8221;email.format&#8221; says that you have specified message text at your i18n file (usually config/locale/en.yml) .<br />
<span style="color: #3366ff;"> </span></p>
<pre>en:
  activerecord:
    errors:
      full_messages:
        email:
          format: "That doesn't look like a valid e-mail address. Please try again."</pre>
<p>And that&#8217;s it <img src='http://zaparka.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Feel free to comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://zaparka.cz/2010/06/26/proper-error-messages-on-rails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hiring as a game</title>
		<link>http://zaparka.cz/2009/12/15/hiring-as-a-game/</link>
		<comments>http://zaparka.cz/2009/12/15/hiring-as-a-game/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 22:35:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[game job hiring fun idea]]></category>

		<guid isPermaLink="false">http://zaparka.cz/?p=92</guid>
		<description><![CDATA[I saw an interview with Amy Jo Kim at Mixergy.com about game mechanics,recently. Today I saw Slideshare called Designing a Game Changer by Philip Fierlinger from Xero. At the and of the presentation is short notice that Xero is hiring.
Than I just got an idea about making from hiring a game.
Here is example situation:
You are [...]]]></description>
			<content:encoded><![CDATA[<p>I saw an interview with <a href="http://mixergy.com/amy-jo-kim/">Amy Jo Kim at Mixergy.com</a> about game mechanics,recently. Today I saw <a href="http://www.acagamic.com/specials/advent-2009/11-designing-a-game-changer-how-game-mechanics-are-leveraged-in-interaction-design/">Slideshare called Designing a Game Changer</a> by Philip Fierlinger from Xero. At the and of the presentation is short notice that Xero is hiring.<br />
Than I just got an idea about making from hiring a game.<br />
Here is example situation:<br />
You are working for big company as a HR person or something like that and you need hire few programmers. As a clever HR person you come out with game called &#8220;win a macbook&#8221; or some catchy. Rules of the game is simple.<br />
Write some algorithms or complete some tasks. If you want to be more precise you will write more levels of this game and provide some kind of feedback.<br />
The winner of course win the price and you can offer him and other best solvers the job.<br />
 If you are lucky some solvers accept your offer. In the end you will have great programmer and save some money for personal agency.<br />
This principle is applicable in larger scale and has of course some difficulties but is just an idea. <img src='http://zaparka.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://zaparka.cz/2009/12/15/hiring-as-a-game/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery bug or just strange behavior ?</title>
		<link>http://zaparka.cz/2009/11/26/jquery-bug-or-just-strange-behavior/</link>
		<comments>http://zaparka.cz/2009/11/26/jquery-bug-or-just-strange-behavior/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 20:17:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[jQuery js event]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://zaparka.cz/?p=89</guid>
		<description><![CDATA[Today I discovered some strange behavior of  jQuery library, when I added some new functionality to our old adminstration.
 So I&#8217;ve got Form element with some inputs and submit button. On inputs are binded click event. That mean that only if you click on input element Event will fire, right ? But I found [...]]]></description>
			<content:encoded><![CDATA[<p>Today I discovered some strange behavior of  jQuery library, when I added some new functionality to our old adminstration.<br />
 So I&#8217;ve got Form element with some inputs and submit button. On inputs are binded click event. That mean that only if you click on input element Event will fire, right ? But I found that even if you press return key, Event fires too. I know that if you press return key and you are inside form element, Form will fire submit Event. But it fires click Event which is strange. jQuery documentation says:<br />
//<br />
The click event fires when the pointing device button is clicked over an element. A click is defined as a mousedown and mouseup over the same screen location. The sequence of these events is:</p>
<p>    * mousedown<br />
    * mouseup<br />
    * click<br />
//<br />
Do you see any keyPress event or something, I don&#8217;t. I just don&#8217;t know if it is a bug or if it&#8217;s purpose. I also test if it&#8217;s because that keyPress Event or because that submit. It seems to me that if you press return key jQuery call submit Event and somehow call click Event too.  <a href="http://www.zaparka.cz/examples/event.html">Here is a example.</a> What do you think ?</p>
<p>Solution for prevent this behavior is bind click Event only to inputs whith type text.</p>
<p>Btw: It works same way at all browsers.</p>
]]></content:encoded>
			<wfw:commentRss>http://zaparka.cz/2009/11/26/jquery-bug-or-just-strange-behavior/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter multifollow app</title>
		<link>http://zaparka.cz/2009/11/15/twitter-multifollow-app/</link>
		<comments>http://zaparka.cz/2009/11/15/twitter-multifollow-app/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 15:09:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ruby gem twitter sinatra js]]></category>

		<guid isPermaLink="false">http://zaparka.cz/?p=81</guid>
		<description><![CDATA[I finally pushed myself long enough to complete my first ruby application. It&#8217;s called Twitter multifollow and here is a basic description.
 When you login into your twitter account. You&#8217;ll see new box with search button. After writing down name of some twitter accounts you&#8217;ll see a list of twitter accounts which he follow. You [...]]]></description>
			<content:encoded><![CDATA[<p>I finally pushed myself long enough to complete my first ruby application. It&#8217;s called <a href="http://multifollow.heroku.com/">Twitter multifollow</a> and here is a basic description.<br />
 When you login into your twitter account. You&#8217;ll see new box with search button. After writing down name of some twitter accounts you&#8217;ll see a list of twitter accounts which he follow. You can select some and press follow button. Then you will follow them. So instead of going to each twitter account page you can follow<br />
people from one place.<br />
I used <a href="http://www.sinatrarb.com/">Sintra</a> and <a href="http://twitter.rubyforge.org/">Twitter</a> gem so the main part i wrote is at js. I also use html5 and css3 so if you have older browser or IEx, you&#8217;ll see different UI.</p>
]]></content:encoded>
			<wfw:commentRss>http://zaparka.cz/2009/11/15/twitter-multifollow-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 storage</title>
		<link>http://zaparka.cz/2009/09/13/html5-storage/</link>
		<comments>http://zaparka.cz/2009/09/13/html5-storage/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 13:42:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://zaparka.cz/?p=72</guid>
		<description><![CDATA[Html5 storage - I recently started write pomodoro aplication to practice my skills and try out new technologies.
One of new technology that I tried is HTML5 storage. Storage is actually database but I prefer the word storage. I show you some examples here how it works.]]></description>
			<content:encoded><![CDATA[<p>I recently started write pomodoro aplication to practice my skills and try out new technologies.<br />
One of new technology that I tried is HTML5 storage. Storage is actually database but I prefer the word storage.<br />
I show you some examples here. I also<br />
must tell you that Html5 storage works only at Safari. I tried it at Firefox 3.5 and Chrome<br />
but didn&#8217;t work even after installation <a href="http://nightly.webkit.org/">WebKit Nightly</a>.</p>
<p>
Fist step is change doctype definition and put manifest at html tag:</p>
<pre>
1: &lt;!doctype html&gt;
2: &lt;html manifest="PomodoroTimer.manifest"&gt;
</pre>
<p>Ar row 2 you can see defintion of manifest file which is like cache. You can named it<br />
as you like.</p>
<p>Step two is javascript. Because you need somehow dynamicaly add and remove or create records at your hmtl5 storage,<br />
javascript is the right choice. So here is how you can create storage.</p>
<pre>
if (window.openDatabase){
  storage = openDatabase("pomodoro_timer", "1.0",
   "HTML5 Database for PomodoroTimer", 200000);
  if (!storage)
    alert("Failed to open the database on disk.");
  } else {
    alert("Couldn't open the database.);
}
</pre>
<p>At first line you can see how to check if window object support starage. At line 2 I create instance<br />
of a storage: storage name, a storage version, a display name, and an estimated size, in bytes, of the data to be stored in the storage/database. <br />
Rest of lines didn&#8217;t need an explanation. </p>
<p>So we created a database next step is create some table.</p>
<pre>
storage.transaction(function(request) {
  request.executeSql("SELECT COUNT(*) FROM tasks", [], function(result) {},

  function(request, error) {
    request.executeSql("CREATE TABLE tasks
      (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT,
         number_of_pomodoros INT, number_of_interuptions INT)", [],
      function(result, error) {
      });
  });
});
</pre>
<p>At line one we create an anonymous function for storage transaction. Official definition of transaction method:<br />
&#8220;The transaction method takes one to three arguments: <br />
a transaction callback, an error callback, and a success callback. The transaction callback gets passed a SQL transaction object on<br />
which you can use the executeSQL() method.This method takes from one to four arguments: a SQL statement, arguments, a SQL statement callback,<br />
and a SQL statement error callback. The SQL statement callback gets passed the transaction object and a SQL statement result object which gives access to the rows, last inserted ID, et cetera.<br />
&#8220;</p>
<p>Last step is insert some data to the table.</p>
<pre>
storage.transaction(function(request) {
  request.executeSql("INSERT INTO tasks
     (name, number_of_pomodoros, number_of_interuptions) VALUES (?, ?, ?)",
    [task.name, task.number_of_pomodoros, task.number_of_interuptions],
     function(result) {},
       function(request, error) {
         alert(error.message);
         return;
    });
});
</pre>
<p>I inserted some data from my object Task. You can see complete code<br />
 <a href="http://github.com/netro82/Pomodoro-timer/blob/e501251de819b7d010412a6fb0715ac3e79da0f5/js/pmdr.js" title="JS script for pomodoro timer">here</a>.<br />
My sources was <a href="http://webkit.org/demos/sticky-notes/index.html" title="Example aplication">this example aplication</a> and <a href="http://www.w3.org/TR/offline-webapps/" title="W3C documentation">w3c documentation</a>.</p>
<p>Have fun.<br />
ps: Select from storage is asynchronous so my pomodoro aplication didn&#8217;t use html storage until I resolve this issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://zaparka.cz/2009/09/13/html5-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pair programming</title>
		<link>http://zaparka.cz/2009/09/06/per-programming/</link>
		<comments>http://zaparka.cz/2009/09/06/per-programming/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 17:14:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[pomodoro]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://zaparka.cz/?p=67</guid>
		<description><![CDATA[I just finished pair programming with my friend Laco who live at Barcelona. We used Skype, Collabedit and gitHub for code synchronization. I&#8217;m really tired after six hours, but I&#8217;ve good feeling about this. I hope we will continue on that soon. You can see our work here.
]]></description>
			<content:encoded><![CDATA[<p>I just finished pair programming with my friend Laco who live at Barcelona. We used Skype, Collabedit and gitHub for code synchronization. I&#8217;m really tired after six hours, but I&#8217;ve good feeling about this. I hope we will continue on that soon. You can see our work <a title="gitHub repository for pomodoro-timer" href="http://github.com/netro82/Pomodoro-timer/tree/master">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://zaparka.cz/2009/09/06/per-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick example of testing login form with mechanize and Test::Unit</title>
		<link>http://zaparka.cz/2009/08/25/quick-example-of-testing-login-form-with-mechanize-and-testunit/</link>
		<comments>http://zaparka.cz/2009/08/25/quick-example-of-testing-login-form-with-mechanize-and-testunit/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 21:54:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mechanize]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://zaparka.cz/?p=58</guid>
		<description><![CDATA[I started testing with Ruby. So i first use Test::Unit and then i want to test some functionality on web. I read some examples at mechanize documentation, which is here or at your ruby/gems directory. So let&#8217;s look at the code.
 require &#8216;mechanize&#8217;
require &#8216;test/unit&#8217;
class LoginTest &#60; Test::Unit::TestCase
def test_login
#creating mechanize object
 agent = WWW::Mechanize.new
#setting url
 page [...]]]></description>
			<content:encoded><![CDATA[<p>I started testing with Ruby. So i first use Test::Unit and then i want to test some functionality on web. I read some examples at mechanize documentation, which is <a title="Mechanize documentation" href="http://mechanize.rubyforge.org/mechanize/" target="_blank">here</a> or at your ruby/gems directory. So let&#8217;s look at the code.<br />
<em> require &#8216;mechanize&#8217;<br />
require &#8216;test/unit&#8217;</em></p>
<p><em>class LoginTest &lt; Test::Unit::TestCase<br />
def test_login</em></p>
<p>#creating mechanize object<br />
<em> agent = WWW::Mechanize.new</em></p>
<p>#setting url<br />
<em> page = agent.get(&#8217;http://zaparka.cz/wp-login.php&#8217;)</em></p>
<p># get first html form on page, u can use page.form(&#8217;form_name&#8217;)<br />
<em> login_form = page.forms.first</em></p>
<p>#fill value &lt;input type=&#8221;text&#8221; name=&#8221;log&#8221; /&gt; with login name<br />
<em> login_form.log = &#8216;name&#8217;</em></p>
<p>#fill value &lt;input name=&#8221;pwd&#8221; type=&#8221;password&#8221; /&gt; with password<br />
<em> login_form.pwd = &#8217;secrets&#8217;</em></p>
<p>#submiting form and saving result page to value page<br />
<em> page = google_form.submit()</em></p>
<p># test if login was succesflull<br />
<em> assert_equal &#8216;Dashboard ‹ Petr Zaparka  — WordPress&#8217;, page.title</em></p>
<p><em>end<br />
end<br />
</em> It&#8217;s very easy and simply. However you can&#8217;t test javasript functionality.  Next time i post testing with WEBRAT.</p>
]]></content:encoded>
			<wfw:commentRss>http://zaparka.cz/2009/08/25/quick-example-of-testing-login-form-with-mechanize-and-testunit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiline comments in Ruby</title>
		<link>http://zaparka.cz/2009/08/04/multiline-comments-in-ruby/</link>
		<comments>http://zaparka.cz/2009/08/04/multiline-comments-in-ruby/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 18:21:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://zaparka.cz/?p=54</guid>
		<description><![CDATA[Do you want comment more than one row ? So use multiline comment like this :
=begin
your code
=end
Important rule, this code must be at the begining of row.
PS: This code isn&#8217;t  exactly for comments, but you can us it this way  
]]></description>
			<content:encoded><![CDATA[<p>Do you want comment more than one row ? So use multiline comment like this :</p>
<p>=begin</p>
<p>your code</p>
<p>=end</p>
<p>Important rule, this code must be at the begining of row.</p>
<p>PS: This code isn&#8217;t  exactly for comments, but you can us it this way <img src='http://zaparka.cz/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://zaparka.cz/2009/08/04/multiline-comments-in-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to add second mysql server with installed WAMP</title>
		<link>http://zaparka.cz/2009/07/21/how-to-add-second-mysql-server-with-installed-wamp/</link>
		<comments>http://zaparka.cz/2009/07/21/how-to-add-second-mysql-server-with-installed-wamp/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 23:49:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[WAMP]]></category>

		<guid isPermaLink="false">http://zaparka.cz/?p=49</guid>
		<description><![CDATA[Because I started  learning Ruby on Rails I needed to run some database server for ruby. I like mysql.  I developing web aplications with WAMP (Windows + Apache + Mysql + PHP). So i tried to run Ruby on Rails with pre-installed version of mysql 5.1.33 but Rails didn&#8217;t work properly. I tried to find [...]]]></description>
			<content:encoded><![CDATA[<p>Because I started  learning Ruby on Rails I needed to run some database server for ruby. I like mysql.  I developing web aplications with WAMP (Windows + Apache + Mysql + PHP). So i tried to run Ruby on Rails with pre-installed version of mysql 5.1.33 but Rails didn&#8217;t work properly. I tried to find how to fix the problem bud it seems that Ruby on Rails has  some problems with mysql 5.1.33.</p>
<p>So i refused SQLite and PostgreSQL for my personal reasons, than only one option left, another mysql server. I downloaded mysql server 5.0. run installation and than configuration that failed in last item (security settings). But mysql server worked quite well.</p>
<p>I was wondering if Rails are going to accept another sqlserver. It didn&#8217;t let use say it did but i forget set different port to mysql server 5.0. So i had an idea that this port problem can cause the security problem. So i run configuaration tools set port to 3309 and click to final step and security problem appeared again.Never mind I thought. I added a line port: 3309 as you can see below,</p>
<p><em>development:<br />
adapter: mysql<br />
encoding: utf8<br />
reconnect: false<br />
database: blog_development<br />
pool: 5<br />
username: root<br />
password: my_passwd<br />
host: localhost<br />
port: 3309</em></p>
<p>to database.yml in config folder of my project and run rake db:create.</p>
<p>Rails worked fine and WAMP too <img src='http://zaparka.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>So in short, you only need to set a different port to run 2 mysql servers at one pc.</p>
<p>PS: It may occur Error mesage  like:&#8217; libmySQL.dll missing &#8216; or something like that. You will fix this by copy libmySQL.dll from installed mysqlServer 5 directory (installedpath/mysql server 5.0/bin) to your ruby directory (installedpath/ruby/bin).</p>
]]></content:encoded>
			<wfw:commentRss>http://zaparka.cz/2009/07/21/how-to-add-second-mysql-server-with-installed-wamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Start learning Ruby and Ruby on Rails framework</title>
		<link>http://zaparka.cz/2009/07/17/start-learning-ruby-and-ruby-on-rails-framework/</link>
		<comments>http://zaparka.cz/2009/07/17/start-learning-ruby-and-ruby-on-rails-framework/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 23:49:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://zaparka.cz/?p=33</guid>
		<description><![CDATA[I has been developing Internet aplication about 9 years. In everyday work i use  PHP and AJAX technology. It is quite a long time ago when my friend Ladislav Martincik told me  about Ruby on Rails. I seen some amazing presentation of Rails framework he showed me. I wonder why I did not start learning [...]]]></description>
			<content:encoded><![CDATA[<p>I has been developing Internet aplication about 9 years. In everyday work i use  PHP and AJAX technology. It is quite a long time ago when my friend <a title="Ladislav Martincik" href="http://martincik.com/">Ladislav Martincik</a> told me  about Ruby on Rails. I seen some amazing presentation of Rails framework he showed me. I wonder why I did not start learning and using Rails and Ruby at  that time. Maby it was too early for me or maybe i was  too lazy.</p>
<p>But &#8230;</p>
<p>I starting now. I bought book Begining Ruby on Rails last week. But the book seems to me that is little confusing. So i was browsing a little and I found this cool book called  <a title="Great ruby book" href="http://poignantguide.net/ruby/index.html">&#8216;Poignant Guide to Ruby&#8221;</a>. It is kind of unconventional but i love it. It is funny and very brightly written.  I&#8217;m looking forward to read more chapters tomorow.</p>
<p>Ps: I wonder how high can insects fly, because I live at 8th floor and it still bothers  me.</p>
]]></content:encoded>
			<wfw:commentRss>http://zaparka.cz/2009/07/17/start-learning-ruby-and-ruby-on-rails-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
