<?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>Ruby on Rails Development</title>
	<atom:link href="http://rubyonrailsdevelopment.pl/feed" rel="self" type="application/rss+xml" />
	<link>http://rubyonrailsdevelopment.pl</link>
	<description>Well thought out solutions</description>
	<lastBuildDate>Wed, 22 Jun 2011 09:35:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>25.06.2011 &#8211; Silesian Ruby Users Group meeting!</title>
		<link>http://rubyonrailsdevelopment.pl/archives/25-06-2011-silesian-ruby-users-group-meeting</link>
		<comments>http://rubyonrailsdevelopment.pl/archives/25-06-2011-silesian-ruby-users-group-meeting#comments</comments>
		<pubDate>Wed, 22 Jun 2011 09:34:06 +0000</pubDate>
		<dc:creator>r.jedryszczak</dc:creator>
				<category><![CDATA[Rails Events]]></category>

		<guid isPermaLink="false">http://rubyonrailsdevelopment.pl/?p=805</guid>
		<description><![CDATA[It's been a while since Ruby on Rails Event took it's place in Bielsko-Biała. Today I am happy to announce, my dear Ruby on Rails Development readers, that next Silesian Ruby Users Group meeting will be again hosted in Bielsko!
The next SRUG starts 17:00, 25.06.2011. As usually everyone is invited (don't forget to fill registration form at srug.pl !) and is completelly free to attendt at this Ruby on Rails meeting...
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since Ruby on Rails Event took it&#8217;s place in Bielsko-Biała. Today I am happy to announce, my dear Ruby on Rails Development readers, that next Silesian Ruby Users Group meeting will be again hosted in Bielsko!<br />
The next SRUG starts 17:00, 25.06.2011. As usually everyone is invited (don&#8217;t forget to fill registration form at srug.pl !) and is completelly free to attendt at this Ruby on Rails meeting.</p>
<p>Of course I will be there as well, helping to organize this RoR event, so all Ruby on Rails hackers attending this meeting will have a pleasure and possibility to share their ideas. And while we are at sharing ideas, let me tell you about people who submitted their talks:</p>
<ul>
<li>    “CSS3/JS” – implementing animations on a mobile platforms using CSS3 by Rafał Bromirski from Selleo.</li>
<li> “Rails – Tips and Tricks” – talk by Zbigniew Zemła from Shore Labs presents some tips&#038;tricks about Ruby on Rails framework and server configuration.</li>
<li>  “Usage-Centred Design and Rails” – talk by Michał Czyż from Selleo about specification, but without Gherkin, about requirement formalisation and about people who want &#8220;hurt&#8221; the Cucumber <img src='http://rubyonrailsdevelopment.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </li>
<li>   “Inherited Resources with Rails 3.1” – talk by Tomek Bąk from Selleo about standardizing Ruby on Raisl controlers using modules (aka CommonResource) and inheriting views + nested layouts (based on Ruby on Rails 3.1) </li>
<li>    “acts_as_deep_cloneable” – recipes about deep objects cloning with Activerecord associations preservation by Tomasz Borowski from Selleo. </li>
</ul>
<p>No need to mention that there will be time for some lightning talks about Ruby on Rails, Ruby and development in general. You can find more info about this SRUG meeting <a href="http://srug.pl/">here</a>.<br />
Also it might be a good idea to check if your friends are going to come as well &#8211; there is a post about SRUG meeting at a polish Ruby group at <a href="http://www.meetup.com/SRUG-Bielsko-Ruby-on-Rails-Developers-Group/ ">meetup</a>  </p>
<p>See you there <img src='http://rubyonrailsdevelopment.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://rubyonrailsdevelopment.pl/archives/25-06-2011-silesian-ruby-users-group-meeting/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails – General overview of software development trends and outsourcing strategy for year 2010. Food for thought.</title>
		<link>http://rubyonrailsdevelopment.pl/archives/ruby-on-rails-%e2%80%93-general-overview-of-software-development-trends-and-outsourcing-strategy-for-year-2010-food-for-thought</link>
		<comments>http://rubyonrailsdevelopment.pl/archives/ruby-on-rails-%e2%80%93-general-overview-of-software-development-trends-and-outsourcing-strategy-for-year-2010-food-for-thought#comments</comments>
		<pubDate>Tue, 07 Sep 2010 08:56:23 +0000</pubDate>
		<dc:creator>r.jedryszczak</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[outsourcing]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://rubyonrailsdevelopment.pl/?p=802</guid>
		<description><![CDATA[Recently I’ve read very good report on what’s happening in the software development, development firms environments and those who seek to outsource / offshore services. The report is called “The 2010 Software Development Trends”. The report itself is just a presentation of survey results, conducted from May 25 through June 14 of 2010 and can be found...]]></description>
			<content:encoded><![CDATA[<p>“Ruby on Rails” in the heading might be an overstatement, if you judge it by the first part of my article, but I’ll explain myself later, as you read.</p>
<p>Recently I’ve read very good report on what’s happening in the software development, development firms environments and those who seek to outsource / offshore services. The report is called “The 2010 Software Development Trends”. The report itself is just a presentation of survey results, conducted from May 25 through June 14 of 2010 and can be found here: www.executivebrief.com</p>
<p>My article is for those who are curious about the survey results and do not want to dig through all the pages. I’ve chosen the form of presenting possible question a developer interested in the results may ask and answering them. </p>
<ul>
<li>So, first question is: who?</li>
<p>Respondent profile is usually an independent software vendor of any size or a software as service provider – these are the majority of responders, that works (as an offshore/ outsourcing partner, etc) on ten or fewer software development projects a year (these are about the half of the respondent base, so therefore we can assume that many SMEs are among the survey responders). Also what is interesting, they are significantly more represented in the poll, compared to the results from 2009.</p>
<li>Second question is:  the demand?</li>
<p>Answer: Responders stated that from their current software development priorities, most important are (and we list more common here):<br />
1) New Software Product/Application Development<br />
2) Improving Usability / User Experience<br />
3) Creating and/or Integrating New Technologies/Products/Innovations</p>
<p>Also a very similar question about software development needs:  “what are greatest improvements areas for your organization?”, lists these answers:<br />
1) User Interface Design<br />
2) Quality Assurance / Quality Control<br />
3) Requirements Definition</p>
<p>I would like to add some meaning/feedback to this list by noticing that software areas needing greatest improvement changed significantly in 2010, when compared to 2009 results of this report. In general there is more emphasis being placed on customers and users of web applications. This might be caused by the increased percentage of “software as service providers” who responded to this survey in a greater number and of course the increase in new application development placed in top priority.</p>
<li>
Third question is: How?</li>
<p>And the answer: I am not going to discuss which development language or environment or framework (Ruby on Rails, Django, PHP Cake/Symphony, etc…) is the preferred option, amongst the responders, but I would like to notice an interesting fact that most preferred methodology / model (that is something more abstract than a framework) is: Agile (57%, with a significant rise of popularity of this option). And Ruby on Rails is all about Agile, so I see a great opportunity for Ruby on Rails developers who look to get contracts for outsourcing projects.</p>
<li>
Fourth question: to outsource or not to outsource?</li>
<p>Answer:  Nearly 50% answered they handle software development 100% in-house. This is significantly greater than last year’s data, indicating only 35% of respondents developed 100% of their software in-house in 2009. And approximately one-half of software development organizations doing some degree of outsourcing, down from 65% last year. So it seems that we have a lower rate of firms that are getting work done with help of offshore parners.</p>
<li>Fifth question: where to outsource?</li>
<p>Answer:  Responders answered:<br />
India 73%<br />
Other Eastern Europe, Russia, Ukraine 34%<br />
China 12%</p>
<p>So these are, well&#8230; expected results. </p>
<p>Some additional comments that didn&#8217;t fall to any of these questions: Also, from reading the report you may, you can conclude that software development budgets (despite more and more software development being done as in-house development) are generally bigger than last year and the headcount of an organization trend is rising.</p>
<p>I left most interesting part for just before the second part of this article,<br />
the question:  “what’s biggest software development trend potentially impacting responders business in 2010?”<br />
Answer: the majority of respondents believe that cloud, mobile, and SaaS have the greatest potential impact their business. So they responded:<br />
* with reference to &#8220;mobile&#8221;: Android, iPhone/iPod/iPad, tablets, Balckberry<br />
* Agile / Scrum<br />
* RIA: Silverlight, Flex, HTML5<br />
* Google / MS products, tools,etc<br />
* Social Media / Networking / Collaborative tools<br />
* User Experience <img src='http://rubyonrailsdevelopment.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I would like to suggest every Ruby on Rails developer to stop for a moment and think about the future and his programming career. And maybe to give you some inspiration, I’ll pick one of the above and write a few words about it <img src='http://rubyonrailsdevelopment.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Fortunatelly, recently I’ve found a great blog post by Mike Leone, about “how to turn your Android Phone into a Remote Spy Camera with Ruby in 15 minutes” (source: http://leone.panopticdev.com/2010/08/turn-your-android-phone-into-remote-spy.html )<br />
And this part explains me, why I’ve chosen Ruby on Rails as heading for my article about software development trends in 2010. I just wouldn’t write it, if any Ruby developer would said that he couldn’t care less about what I write since it is software development “in general”, “too abstract and maybe doesn’t concern him because Rails is about…” and so on.</p>
<p>How many of you know that’s possible with Ruby and you don’t have to code in Java to make a working application for a mobile?  Well… I didn’t, up to now.<br />
Mike Leone in his blog post gives a step by step instructions how to do so, using Ruby. It is possible because (as the author says):<br />
<em>Scripting Layer for Android (SL4A, formerly known as Android Scripting Environment or ASE) brings scripting languages to Android by allowing you to edit and execute scripts and interactive interpreters directly on the Android device. These scripts have access to many of the APIs available to full-fledged Android applications, but with a greatly simplified interface that makes it easy to get things done&#8230;  Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, and shell are currently supported, and we&#8217;re planning to add more.</em><br />
There is also Ruboto (http://ruboto.org/ ) and google released a solution that allows distributing programs as APKs (Android Package, more here: http://code.google.com/p/android-scripting/wiki/SharingScripts)</p>
<p>So next time you will be developing a regular Ruby on Rails application think how would it be, coding stuff for Android or other mobile platform. Maybe it’s something you’ve always wanted to try? Good. It’s one of the most anticipated trends and you may be in that train. It&#8217;s up to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubyonrailsdevelopment.pl/archives/ruby-on-rails-%e2%80%93-general-overview-of-software-development-trends-and-outsourcing-strategy-for-year-2010-food-for-thought/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silesian Ruby Users Group Meeting @ Bielsko-Biala, Poland</title>
		<link>http://rubyonrailsdevelopment.pl/archives/silesian-ruby-users-group-meeting-bielsko-biala-poland</link>
		<comments>http://rubyonrailsdevelopment.pl/archives/silesian-ruby-users-group-meeting-bielsko-biala-poland#comments</comments>
		<pubDate>Fri, 03 Sep 2010 10:31:36 +0000</pubDate>
		<dc:creator>r.jedryszczak</dc:creator>
				<category><![CDATA[Rails Events]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Silesian Ruby Users Group]]></category>
		<category><![CDATA[SRUG]]></category>

		<guid isPermaLink="false">http://rubyonrailsdevelopment.pl/?p=800</guid>
		<description><![CDATA[Today, I am really excited to share with information about next scheduled SRUG (Silesian Ruby Users Group) meeting. Druing SRUG meeting we talk about Ruby on Rails and other technologies we use in web software development.
I am excited about it because not only I will have a chance to attend to this meeting, but...]]></description>
			<content:encoded><![CDATA[<p>Today, I am really excited to share with information about next scheduled SRUG (Silesian Ruby Users Group) meeting. Druing SRUG meeting we talk about Ruby on Rails and other technologies we use in web software development.</p>
<p>I am excited about it because not only I will have a chance to attend to this meeting, but I am going to help a bit to make this SRUG meeting to happen (organization stuff, etc).</p>
<p>To attend you just need to fill a form at: http://srug.pl/2010/09/02/wrzesniowe-spotkanie.html<br />
Also you will find a map there, and general info about the location of this Ruby on Rails meeting.</p>
<p>Currently we have three topics planned, that are to be discussed during SRUG mini-conference:<br />
-	“Basics of YUI3 and Rails 3 web application development”, creating applications with Yahoo! User Interface library.<br />
-	“Templatederby, an ERB enhancement”, DRYML/HOBO inspired enhancement for erb templates.<br />
-	“Object in the database”, serializing objects with JSON, YAML, ActiveRecord.</p>
<p>After lectures we plan to have a humble after-party. See you at SRUG <img src='http://rubyonrailsdevelopment.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://rubyonrailsdevelopment.pl/archives/silesian-ruby-users-group-meeting-bielsko-biala-poland/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dalli – high performance pure Ruby client for accessing memcached servers.</title>
		<link>http://rubyonrailsdevelopment.pl/archives/dalli-%e2%80%93-high-performance-pure-ruby-client-for-accessing-memcached-servers</link>
		<comments>http://rubyonrailsdevelopment.pl/archives/dalli-%e2%80%93-high-performance-pure-ruby-client-for-accessing-memcached-servers#comments</comments>
		<pubDate>Thu, 02 Sep 2010 09:32:58 +0000</pubDate>
		<dc:creator>r.jedryszczak</dc:creator>
				<category><![CDATA[Open source contribution]]></category>
		<category><![CDATA[Solutions blog]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[perfomance]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://rubyonrailsdevelopment.pl/?p=793</guid>
		<description><![CDATA[Just a short note about a possible solution for memcaching in Ruby on Rails applications.]]></description>
			<content:encoded><![CDATA[<p>I’ve found info about this Ruby client browsing some Ruby news site and thought that no Ruby on Rails developers should miss that.</p>
<p>As the author of this Ruby memcache client states on the github repository of this project:</p>
<p>-	Dalli works with memcached 1.4+<br />
-	The API tries to be overall compatibile with currently widely used memcache-client gem, because Dalli is intended to be drop-in replacement</p>
<p>One of the reasons I took time to write this post is the fact that I am a performance lover (as some of you might have noticed while reading my Ruby on Rails news).</p>
<p>Dalli supposedly beats memcache-client, because it is written using less lines of Ruby code, it is approximately 20% faster than memcache-client, has hooks that you can use to connect your monitoring tools to it and uses newer binary protocol (in comparison to old memcached-client)</p>
<p>You can grab this Ruby client from: http://github.com/mperham/dalli</p>
]]></content:encoded>
			<wfw:commentRss>http://rubyonrailsdevelopment.pl/archives/dalli-%e2%80%93-high-performance-pure-ruby-client-for-accessing-memcached-servers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails poorly documented… NOT!!</title>
		<link>http://rubyonrailsdevelopment.pl/archives/ruby-on-rails-poorly-documented%e2%80%a6-not</link>
		<comments>http://rubyonrailsdevelopment.pl/archives/ruby-on-rails-poorly-documented%e2%80%a6-not#comments</comments>
		<pubDate>Wed, 01 Sep 2010 07:59:30 +0000</pubDate>
		<dc:creator>r.jedryszczak</dc:creator>
				<category><![CDATA[Getting started]]></category>
		<category><![CDATA[Solutions blog]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://rubyonrailsdevelopment.pl/?p=788</guid>
		<description><![CDATA[I’ve once stumbled upon a site in the Internet that is located at the very dumb domain address: http://ihaterubyonrails.com/

It consists of 80% people having no idea of what they are talking about, with a little to no knowledge about Ruby on Rails framework and 20% people  who are just exaggerating or raising issues that are common in the world of programming and software development (not just in Ruby on Rails development).
But the comment that really takes the cake is, let me quote...]]></description>
			<content:encoded><![CDATA[<p>I’ve once stumbled upon a site in the Internet that is located at the very dumb domain address: http://ihaterubyonrails.com/</p>
<p>It consists of 80% people having no idea of what they are talking about, with a little to no knowledge about Ruby on Rails framework and 20% people  who are just exaggerating or raising issues that are common in the world of programming and software development (not just in Ruby on Rails development).<br />
But the comment that really takes the cake is, let me quote:</p>
<p><em>“&#8221;It was very exciting learning Ruby on Rails, coming from ASP.NET, but I was quickly disappointed to learn that I had to spend about $300 on books to get anything resembling documentation&#8221; </em></p>
<p>Right.  Certainly this anonymous dude is not quite right here, since I am not afraid to say it: Ruby on Rails is very well documented and you do not have to spend a dime to acquire valuable training resources and documentation from the Web. </p>
<p>Let’s take a look at a few options, that Ruby on Rails beginner have:</p>
<ul>
<li>First of all: RailsTutorial.org. You can learn Rails from scratch by visiting Michael Hartl page and reading this great tutorial. Also, author of this Ruby on Rails tutorial site has prepared addition screencasts and other material you can grab for like 1/10 or less of the price mentioned by that silly ASP to Ruby on Rails newcomer.</li>
<li>Second, there is well detailed and written Ruby on Rails Guides site, where you can read about different features of Ruby on Rails web development framework. Here&#8217;s a link: http://guides.rubyonrails.org/ </li>
<li>Third, there are several great API doc sites like railsapi.com or apidock.com where you can read about usages(with examples) of different RoR helpers. Helpful community… helps too, make sure you read comments as well(usually contain more Ruby code examples that are often a drop in solutions for Ruby on Rails applications you’re developing).</li>
<li>Finally, if you don’t like reading a plain text RoR docs then there are plenty of free screencasts available in the Net for you. Some are produced by Ruby on Rails core contributor Gregg Pollack and are avaible at http://rubyonrails.org/screencasts/rails3<br />
There are also more than 200 hundred railscasts made by Ryan Bates !!<br />
Also, you can check teachmetocode.com and other websites like http://5by5.tv/rubyshow treating about Ruby and RoR for more free to view railscasts.</li>
</ul>
<p>The list above doesn’t empty the options that newcomer has and can choose from, if he wants to learn Ruby on Rails. That short list itself is a huge amount of material that can allow to start learning Rails or can speed up Ruby on Rails learning process. And all of this is available for free or for a cost of one meal (you can eat a dinner for 12$ in Poland. Nothing extraordinary but tasty and healthy for sure) if you want to grab extra resources like paid ebooks. Not 300 bucks like that silly ASP newcomer has stated.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubyonrailsdevelopment.pl/archives/ruby-on-rails-poorly-documented%e2%80%a6-not/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>That day has finally come &#8211; Ruby on Rails 3.0 is ready.</title>
		<link>http://rubyonrailsdevelopment.pl/archives/that-day-has-finally-come-ruby-on-rails-3-0-is-ready</link>
		<comments>http://rubyonrailsdevelopment.pl/archives/that-day-has-finally-come-ruby-on-rails-3-0-is-ready#comments</comments>
		<pubDate>Wed, 01 Sep 2010 07:23:41 +0000</pubDate>
		<dc:creator>i.skrobis</dc:creator>
				<category><![CDATA[Rails News]]></category>
		<category><![CDATA[charity]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Ruby on Rails 3.0]]></category>

		<guid isPermaLink="false">http://rubyonrailsdevelopment.pl/?p=778</guid>
		<description><![CDATA[30.08.2010, Ruby on Rails 3.0 is officially released. After two years from being announced and the hard work of more than 1600 contributors we can finally leverage the power of Ruby on Rails 3.0. Third generation of Rails means thousands of commits to make everything better, faster and more beautiful in or favorite web development framework – Ruby on Rails...]]></description>
			<content:encoded><![CDATA[<p>30.08.2010, Ruby on Rails 3.0 is officially released. After two years from being announced and the hard work of more than 1600 contributors we can finally leverage the power of Ruby on Rails 3.0. Third generation of Rails means thousands of commits to make everything better, faster and more beautiful in or favorite web development framework – Ruby on Rails.</p>
<p>I won’t go into details what Ruby on Rails 3.0 brings new to our development toolset, because we could read about it for quite a long time, just browsing various sites about Ruby on Rails(you can read that anyway @ official RoR site if you were like in coma for last two years <img src='http://rubyonrailsdevelopment.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), but instead I would like to mention about the charity action in the name of Ruby on Rails release.</p>
<p>In my humble opinion any developer, who has used RoR framework for rapid and agile software development should consider a donation as a way of saying &#8220;thank you&#8221; for the all of hard work of Ruby on Rails developers and contributors. Especially, when you’re not filling somebody purse with money, but thristy throats of poor people living in Africa, with clean water.<br />
Learn more here: http://mycharitywater.org/p/campaign?campaign_id=6706</p>
<p><img style="display:none" src="http://rubyonrailsdevelopment.pl/wp-content/uploads/2010/09/rails3-300x240.jpg" alt="" title="rails3" width="300" height="240" class="aligncenter size-medium wp-image-786" /></p>
]]></content:encoded>
			<wfw:commentRss>http://rubyonrailsdevelopment.pl/archives/that-day-has-finally-come-ruby-on-rails-3-0-is-ready/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails – performance of the test suite.</title>
		<link>http://rubyonrailsdevelopment.pl/archives/ruby-on-rails-%e2%80%93-performance-of-the-test-suite</link>
		<comments>http://rubyonrailsdevelopment.pl/archives/ruby-on-rails-%e2%80%93-performance-of-the-test-suite#comments</comments>
		<pubDate>Tue, 31 Aug 2010 07:53:02 +0000</pubDate>
		<dc:creator>r.jedryszczak</dc:creator>
				<category><![CDATA[Solutions blog]]></category>
		<category><![CDATA[Cucumber]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Rspec]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[selleo]]></category>
		<category><![CDATA[test suite]]></category>
		<category><![CDATA[tests]]></category>

		<guid isPermaLink="false">http://rubyonrailsdevelopment.pl/?p=771</guid>
		<description><![CDATA[Article about Ruby on Rails and tips and tricks how to make your test suite run smoothly.]]></description>
			<content:encoded><![CDATA[<p>Today I would like to write about testing Ruby on Rails applications. Any Ruby on Rails developer that writes tests (are they any who don’t?) with some work experience on large Ruby on Rails projects knows that with each milestone, running a test suite takes longer and longer. A relatively small RoR project, estimated for about 400 hours of Rails developer work has a test suite (Cucumber and Rspec) that takes about 7 minutes to run.</p>
<p>But when the project is larger, has a significant amount Javascript, therefore involving Culerity and Selenium support/integration within your Ruby on Rails application test suite, you begin looking for ways to cut some of that time off.<br />
For example, in Selleo, we have a 3000 hours project, which test suite takes way more than half an hour. Of course, we are using Teamcity, tag scoping, etc but it still takes a lot of our precious development time.</p>
<p>An individual or software development company who/which wants to optimize the time that is being consumed by testing should look for bottlenecks.<br />
Unit tests, the idea of it, is to test some method or functionality in abstraction of other part of Ruby on Rails application, therefore each time a test runs, the needed environment is generated. But since most of Ruby on Rails applications require an instance of User, it is a waste of time to generate user for each single test.</p>
<p>So it’s nice to generate some fixtures and setup a database properly, remembering that the fixtures should be sort of minimalistic, because large fixtures file for Rails application introduce often a bloat – it’s hard to manage such file and you often repeat yourself.<br />
Therefore, a smart programmer should combine fixtures with factories. It’s easy since there are many good gems to play with, like Factory Girl or Machinist, that allow you to quickly mock objects you need, in a particular test, using blueprints.</p>
<p>You get the best of both worlds this way, delivering great and reliable applications for your customers.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubyonrailsdevelopment.pl/archives/ruby-on-rails-%e2%80%93-performance-of-the-test-suite/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Outsourcing Ruby on Rails – keeping up with the plan.</title>
		<link>http://rubyonrailsdevelopment.pl/archives/outsourcing-ruby-on-rails-%e2%80%93-keeping-up-with-the-plan</link>
		<comments>http://rubyonrailsdevelopment.pl/archives/outsourcing-ruby-on-rails-%e2%80%93-keeping-up-with-the-plan#comments</comments>
		<pubDate>Fri, 27 Aug 2010 07:37:36 +0000</pubDate>
		<dc:creator>r.jedryszczak</dc:creator>
				<category><![CDATA[Getting started]]></category>
		<category><![CDATA[offshore]]></category>
		<category><![CDATA[outsource]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://rubyonrailsdevelopment.pl/?p=762</guid>
		<description><![CDATA[Article about finding the right person / partner for outsourcing your Ruby on Rails project]]></description>
			<content:encoded><![CDATA[<p>As a an employee of an offshore web development company which target are entrepreneurs (small to medium B2C or B2B ) looking to outsource development I conducted an experiment in my free time, trying to enter our target customer “shoes”.</p>
<p>I launched my web browser and visited Google. After a moment of thinking I’ve put: “outsourcing Ruby on Rails” in the search form and hit enter. After all, our potential customer who wants to outsource his project, has a general idea of what he wants to accomplish. I concluded that he/she wouldn’t just put “outsourcing” or “outsource” because, well&#8230; this way you will get all kind of results, not limiting themselves to web development and also you won’t type “web application development outsourcing” for similar reason – too broad scope of results. Therefore you would type “outsourcing/outsource” or maybe “offshore” or any other word with a similar meaning, combined with “Ruby on Rails” (Or just “Rails”, “RoR”) because you have the plan.</p>
<p>I’ve used “the” because, our potential client has already chosen technology, that will be used to bring his project to life. He knows that Ruby on Rails allows rapid web development and has other potential features and pros, needed for the plan. He just needs to outsource the work, because, probably, one of important points of the plan is to keep the project within reasonable budget. So we have: Ruby on Rails outsourcing.</p>
<p>To outsource is to maximize your budget’s bang per buck. But an individual with the plan we are talking about here, knows that although savings are nice and much needed, the quality is non-negotiatable. If you strive for success you cannot sacrifice quality, because you won’t be able to compete in the market, with your poorly written, designed Ruby on Rails application.</p>
<p>When I typed the mentioned phrase in to Google search form, I’ve received about 3-4 suggestions of software development company from far East (mostly India – new Silicon Valley as some like to say), about 2-3 outsource/offshore web directories or web sites that are doing the ‘middle man’ job and the rest were some random sites or sites about Ruby on Rails framework in general (i.e. technical information sites).</p>
<p>So what do we do, after we ‘enlighten’ ourselves about super-duper features that Ruby on Rails offers (like we didn’t know that already…).<br />
We can go with some web site factory (I couldn’t come with a better name, large companies tend to have approach that is far from “close to the client” like, you will be like an item at conveyer belt in Ford Factory).</p>
<p>We can go for the middle man option, to help us with finding best offshore partner, to outsource our Ruby on Rails project, but it will be like, getting help from someone who gets paid for that help, and there may be a little conflict of interest.</p>
<p>Instead, let’s turn away from our “outsource Ruby on Rails” phrase, that we’ve put in Google’s search form. Let’s ask yourself a question: what are the alternative ways of finding Ruby on Rails developer? Maybe we know someone who had similar issue in the past and can share his experiences with us? Our friend surely won’t lie about whether his cooperation with some Ruby on Rails development firm or a freelancer was good when actually it was not.<br />
Say, we do not have a friend with such experiences, we dug our contact at LinkedIn and other business community sites and we found no one with offshore / outsource  software development experience.</p>
<p>We can ask ourselves a question: where we could get such unbiased opinion, like from a friend? The power of Internet communities to the rescue! We can rephrase our search string and look for Ruby on Rails communities and rankings. Do some web browsing and look for  offshore freelancers or companies that are active in terms of delivering good open source solutions, feedback, patches, help at various Ruby on Rails sites, repositories, forums, etc. Who attends on Ruby on Rails conferences, or even is organizing events.  If you sum it up, you will get a nice general idea, because no one pays joe@somebody.com to praise other joe@somebody.com. If you won’t get any profits from opinionating other person – which is Ruby on Rails developer in this case, you most likely will be unbiased.</p>
<p>So instead of trusting Google without a question with pointing you to the right off-shore partner, go with the power of your friends, connections and even Internet communities. Go with the plan.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubyonrailsdevelopment.pl/archives/outsourcing-ruby-on-rails-%e2%80%93-keeping-up-with-the-plan/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A performance note on Ruby on Rails migrations</title>
		<link>http://rubyonrailsdevelopment.pl/archives/a-performance-note-on-ruby-on-rails-migrations</link>
		<comments>http://rubyonrailsdevelopment.pl/archives/a-performance-note-on-ruby-on-rails-migrations#comments</comments>
		<pubDate>Thu, 26 Aug 2010 13:33:50 +0000</pubDate>
		<dc:creator>r.jedryszczak</dc:creator>
				<category><![CDATA[Rails News]]></category>
		<category><![CDATA[indexes]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://rubyonrailsdevelopment.pl/?p=758</guid>
		<description><![CDATA[An article about indexes, migrations and performance. ]]></description>
			<content:encoded><![CDATA[<p>While Ruby on Rails helps us – developers – with software development and bringing web applications to life, by making redundant and dull things transparent, there are certain areas that are purposely left to a developer to look up. The good example is a Ruby on Rails migrations, with a RoR approach to isolate generating database from the database solution e.g. PostgreSQL or SQLite, etc. defining it by just writing a Ruby code.</p>
<p>As we all know we can use a script from a console, passing parameters and letting Rails to generate a proper migration file with model and database fields mapping. But what Ruby on Rails won’t do for you are indexes.</p>
<p>Of course I am not implying that any of my readers – Ruby on Rails developers &#8211; is not familiar with this basic way of optimizing database queries in Ruby on Rails application, but frankly, as web application grows, there are more and more find_all_by_x_and_y RoR finders used and therefore not only foreign keys are the concern of indexing.</p>
<p>So what I would like to share with you, developers, is a Ruby on Rails plugin I bumped upon recently called rails_indexes, which is basically a rake task that tracks down missing database indexes (so you can… generate a migration that adds missing indexes to your Ruby on Rails project yourself)<br />
Just install it with script/plugin install</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">git:<span style="color:#006600; font-weight:bold;">//</span>github.<span style="color:#9900CC;">com</span><span style="color:#006600; font-weight:bold;">/</span>eladmeidar<span style="color:#006600; font-weight:bold;">/</span>rails_indexes.<span style="color:#9900CC;">git</span></pre></div></div>

<p>And give it a go by:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">rake db:index_migration</pre></div></div>

<p>to display a migration for adding/removing all necessary indexes based on associations.</p>
<p>or to display a migration for adding/removing all necessary indexes based on AR::Base#find calls:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">rake db:find_query_indexes</pre></div></div>

<p><img src="http://rubyonrailsdevelopment.pl/wp-content/uploads/2010/08/database-integration-300x225.jpg" alt="" title="database-integration" width="300" height="225" class="aligncenter size-medium wp-image-766" /></p>
]]></content:encoded>
			<wfw:commentRss>http://rubyonrailsdevelopment.pl/archives/a-performance-note-on-ruby-on-rails-migrations/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Secure cookies in Ruby on Rails</title>
		<link>http://rubyonrailsdevelopment.pl/archives/secure-cookies-in-ruby-on-rails</link>
		<comments>http://rubyonrailsdevelopment.pl/archives/secure-cookies-in-ruby-on-rails#comments</comments>
		<pubDate>Wed, 18 Aug 2010 14:48:49 +0000</pubDate>
		<dc:creator>r.jedryszczak</dc:creator>
				<category><![CDATA[Solutions blog]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://rubyonrailsdevelopment.pl/?p=754</guid>
		<description><![CDATA[Article about delivering secure solutions within Ruby on Rails applications.]]></description>
			<content:encoded><![CDATA[<p>Ruby on Rails web developers should not only focus on delivering all the glossy and impressive web 2.0 applications to their clients, but should also take care about what is happening behind the scene – security. Unfortunatelly for a customer looking for a bunch of Ruby on Rails developers for on-site consultancy or to outsource some projects, it’s hard to judge what he really gets, a value for his money, by just looking at some portfolios.</p>
<p>Though, it’s a matter of good practice of a development company or a freelancing individual to implement ‘in a secure way’, so I am writing this article for those who want to learn about a few tricks and gotchas.</p>
<p>One can find a lot of info how to secure Ruby on Rails application in the web, due to a strange fatum, a lot of those sources (even the official tutorial/documentation guides that can be found here: http://edgeguides.rubyonrails.org/security.html) misses some important features.</p>
<p>On the official site, we can see as recommended:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">config.<span style="color:#9900CC;">action_dispatch</span>.<span style="color:#9900CC;">session</span> = 
<span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'_app_session'</span>, 
<span style="color:#ff3333; font-weight:bold;">:secret</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'0x0dkfj3927dkc7djdh36rkckdfzsg...'</span> <span style="color:#006600; font-weight:bold;">&#125;</span></pre></div></div>

<p>But unless you do not handle it in any other way in your Ruby on Rails project, you’re leaving a hole here. In many B2B applications like webshops or e-commerce sites that are high mark target for various attacks using cookies, it is a good practice to set up an expiry date of a cookies, thus limiting the time an attacker have, to do anything damaging to a web application you’re developing.</p>
<p>So after a bit tuning, our cookie configuration looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">config.<span style="color:#9900CC;">action_dispatch</span>.<span style="color:#9900CC;">session</span> = 
<span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'_app_session'</span>, 
<span style="color:#ff3333; font-weight:bold;">:secret</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'0x0dkfj3927dkc7djdh36rkckdfzsg...'</span>
<span style="color:#ff3333; font-weight:bold;">:expire_after</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006666;">3600</span> <span style="color:#008000; font-style:italic;"># which is one hour btw</span>
 <span style="color:#006600; font-weight:bold;">&#125;</span></pre></div></div>

<p>Also, I really shouldn’t write about it, because most Ruby on Rails web developers won’t overlook it, but for a secure application sake – don’t forget to configure it for each environment you want to be secure (in config/environment.rb of course).</p>
<p>Finally, although I am not a big fan of storing importing data in cookies generated by a Rails application, and I do not recommend it for any company or a freelancer, hacking in Rails, PHP, Django (name a popular hacking environment here), one should think about encrypting his cookies in such case, because Rails doesn’t support it out of a box (not sure how’s the case for PHP frameworks, or Python’s Django).</p>
<p>The solution is this case is to take advantage of Ruby on Rails framework, and look for an appropriate plugin <img src='http://rubyonrailsdevelopment.pl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Don’t worry, I’ve already done that for you:<br />
I’ve stumbled upon EncryptedCookieStore, by Hong Lai (Phusion).</p>
<p>EncryptedCookieStore is a Ruby on Rails plugin that adds some 128-bit/256-bit encryption sugar to your Ruby on Rails 2.3x application (not tested with previous versions of RoR framework).<br />
EncryptedCookieStore for Ruby on Rails web applications is pretty fast and should tamper the performance of your project. You can find more info about installation, usage and performance (benchmarks) on GitHub (http://github.com/FooBarWidget/encrypted_cookie_store).</p>
<p>And I left this cherry for the end of my article, for those of Ruby on Rails developers that use memcached:</p>
<p>Many software development companies and of course freelancers use different solutions for caching data. One of such solutions, as far as I know widely used in Ruby on Rails applications is memcached, popular because of it’s speed and performance.Not all Rails developers know though, that the goal of memcached was speed and small size, not security, which was left to take care to developers using it. But the problem is, many software developers aren’t aware of this fact, they simply don’t deal with this problem. I’ve found two good blog posts about it I would like to share with you:</p>
<p>http://www.sensepost.com/blog/4873.html</p>
<p>and</p>
<p>http://blog.codesherpas.com/on_the_path/2010/08/securing-memcache-in-2-minutes.html</p>
<p>A must read for any Ruby on Rails developer.</p>
]]></content:encoded>
			<wfw:commentRss>http://rubyonrailsdevelopment.pl/archives/secure-cookies-in-ruby-on-rails/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

