<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.ph7spot.com/~d/styles/atom10full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.ph7spot.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en-US">
  <title type="html">Philippe Hanrigou - News &amp; Discussions</title>
  <author>
    <name>Philippe Hanrigou</name>
    <email>http://ph7spot.com/about/contact_me</email>
    <uri>http://ph7spot.com</uri>
  </author>
  
  <link href="http://feeds.ph7spot.com/ph7" rel="alternate" />
  <subtitle type="html">Tips &amp; Resources on Ruby, Java, Unix, Object-Oriented Programming, Design Patterns and Agile Methodologies.</subtitle>
  <updated>2008-03-25T23:33:28+00:00</updated>
  <rights>Copyright Philippe Hanrigou, all rights reserved. This work is licensed under a Creative Commons Attribution 2.5 License.</rights>
  <generator>FeedTools/0.2.26 - http://www.sporkmonger.com/projects/feedtools/</generator>
  <id>http://feeds.ph7spot.com/ph7</id>
  <logo>http://ph7spot.com/stylesheets/PH7%20Logo.png?1202363067</logo><link rel="self" href="http://feeds.ph7spot.com/ph7" type="application/atom+xml" /><entry>
    <title type="html">Speaking at MountainWest RubyConf 2008, March 28 and 29</title>
    <author>
      <name>Philippe Hanrigou</name>
      <email>http://ph7spot.com/about/contact_me</email>
      <uri>http://ph7spot.com</uri>
    </author>
    <link href="http://feeds.ph7spot.com/~r/ph7/~3/257470617/announcing_talk_at_mountain_west_rubyconf_2008" rel="alternate" />
    <content type="html">&lt;p&gt;I will be speaking at &lt;a href='http://mtnwestrubyconf.org'&gt;Mountain West RubyConf 2008&lt;/a&gt; on March 28 and 29, in Salt Lake City, Utah.&lt;/p&gt;

&lt;p&gt;Mountain West RubyConf is a great Ruby conference, one that manages to have an intimate environment, not to mention a great panel of &lt;a href='http://mtnwestrubyconf.org/2008/speakers'&gt;speakers&lt;/a&gt;, so I feel very honored to have been selected to present a session there. Big thanks to the MountainWest RubyConf organizers and especially to &lt;span&gt;Pat Eyler&lt;/span&gt; of &lt;a href='http://on-ruby.blogspot.com'&gt;On Ruby&lt;/a&gt; and &lt;a href='http://on-erlang.blogspot.com'&gt;On Erlang&lt;/a&gt; fame.&lt;/p&gt;

&lt;p&gt;My talk will introduce and demonstrate some key system diagnostic tools and techniques in the context of Ruby and Ruby on Rails development. I learnt the hard way on the field, a collection of troubleshooting techniques which are not widely documented nor well-known within the Rails community. During the session, I will demonstrate some techniques already covered in my Addison-Wesley shortcut, &lt;a href='/publications/troubleshooting_ruby_processes'&gt;Troubleshooting Ruby Processes&lt;/a&gt;, as well as others strategies and tools which are new, or lack sufficient documentation.&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Hope to see you in Salt Lake City&lt;/span&gt;!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.ph7spot.com/~f/ph7?a=V4cyHAF"&gt;&lt;img src="http://feeds.ph7spot.com/~f/ph7?i=V4cyHAF" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.ph7spot.com/~r/ph7/~4/257470617" height="1" width="1"/&gt;</content>
    <updated>2008-03-25T23:33:28+00:00</updated>
    <published>2008-03-25T23:33:28+00:00</published>
    <id>http://ph7spot.com/agora/announcing_talk_at_mountain_west_rubyconf_2008</id>
  <feedburner:origLink>http://ph7spot.com/agora/announcing_talk_at_mountain_west_rubyconf_2008</feedburner:origLink></entry>
  <entry>
    <title type="html">Time to Upgrade your Web Acceptance Testing: New Selenium Grid Release Available!</title>
    <author>
      <name>Philippe Hanrigou</name>
      <email>http://ph7spot.com/about/contact_me</email>
      <uri>http://ph7spot.com</uri>
    </author>
    <link href="http://feeds.ph7spot.com/~r/ph7/~3/241743706/announcing_selenium_grid_1_0" rel="alternate" />
    <content type="html">&lt;p&gt;&lt;a href='http://selenium-grid.openqa.org'&gt;Selenium Grid&lt;/a&gt; adoption is accelerating and I am excited to announce a &lt;a href='http://selenium-grid.openqa.org/download.html'&gt;new release&lt;/a&gt;! Based on your helpful user feedback, I fixed a few bugs, improved documentation, provided better examples and ensured seamless integration with the upcoming release of &lt;a href='http://selenium-rc.openqa.org'&gt;Selenium Remote Control&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Main highlights for this 1.0 release include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Amazon EC2 Integration and Automation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium Grid now comes with out-of-the-box support for &lt;a href='http://aws.amazon.com/ec2'&gt;EC2&lt;/a&gt;. There is an &lt;a href='http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1276&amp;amp;categoryID=116'&gt;official EC2 image&lt;/a&gt; which bundles all the tools you need to establish a Selenium Grid cluster on Amazon Elastic Compute Cloud (including a VNC server). Selenium Grid 1.0 also comes with &lt;a href='http://capify.org'&gt;Capistrano&lt;/a&gt; tasks to automate deployment and management of the Selenium Grid on EC2 (in the &lt;code&gt;examples/ec2&lt;/code&gt; directory). Check out the &lt;a href='http://selenium-grid.openqa.org'&gt;Selenium Grid Website&lt;/a&gt; for more details on the EC2 instrumentation and how to &lt;a href='http://selenium-grid.openqa.org/run_the_demo_on_ec2.html'&gt;run Selenium Grid Demo on EC2&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;strong&gt;A new example demonstrating how to run in parallel Selenium tests written in Ruby (RSpec)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;See the &lt;code&gt;examples/rspec&lt;/code&gt; directory. The current solution (spawning multiple processes) is basic but works great and is used daily on professional projects. The plan is to evolve the current solution to an actual &lt;a href='http://rspec.rubyforge.org'&gt;RSpec&lt;/a&gt; test runner based on Rinda/DRb, Memcache or a flavor a &lt;a href='http://labs.google.com/papers/mapreduce.html'&gt;MapReduce&lt;/a&gt;. Of course contributions are welcome. Make sure that you also have a look in the &lt;code&gt;reports&lt;/code&gt; directory after running the tests: You will see some &lt;a href='/examples/rspec_report/index.html'&gt;nice test reports including screenshots of the application under test&lt;/a&gt;. The screenshot formatter used in Selenium Grid Ruby example is based on Spec::UI code by &lt;a href='http://blog.aslakhellesoy.com'&gt;Aslak&lt;/a&gt;, just tweaked a little bit to make it work with RSpec 1.1.3.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Selenium Grid demo is now powered by &lt;a href='http://testng.org'&gt;TestNG&lt;/a&gt;&lt;/strong&gt; (in lieu of &lt;a href='https://parallel-junit.dev.java.net'&gt;Parallel JUnit&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;TestNG provides the best and the more scalable solution to run tests in parallel for Selenium tests written in Java. &lt;a href='http://selenium-grid.openqa.org/run_the_demo.html'&gt;The demo&lt;/a&gt; now demonstrates best practices in the field. Feel free to use it as a starting point when instrumenting your Selenium test suite for Selenium Grid.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Additional parameters can be passed to Selenium remote controls at startup&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Just set the &lt;code&gt;seleniumArgs&lt;/code&gt; Java property when launching the remote control. For instance, to start a remote control in multi window and debug mode you would use:&lt;/p&gt;
&lt;pre&gt;ant -DseleniumArgs="-multiWindow -debug" launch-remote-control&lt;/pre&gt;
&lt;p&gt;Ruby dudes can use:&lt;/p&gt;
&lt;pre&gt;rake hub:start SELENIUM_ARGS="-multiWindow -debug"&lt;/pre&gt;&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Selenium Grid now works with 0.9.3 Remote Controls&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Just replace the &lt;code&gt;lib/selenium-server-0.9.2.jar &lt;/code&gt; library packaged in Selenium Grid distribution with a &lt;a href='http://maven.openqa.org/org/openqa/selenium/server/selenium-server/0.9.3-SNAPSHOT'&gt;0.9.3 snapshot&lt;/a&gt; of Selenium Remote Control if you want to try it out. Selenium Remote Control 0.9.3 branch changed the way the session IDs are set and is now using GUIDs.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Better handling of massive text field values&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium Grid was choking when testing fields with big chunks of text. Selenium Grid now uses HTTP POST to relay Selenese commands to the remote controls and everything works like a charm.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Support for web pages including international characters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium Grid was also misbehaving for web pages with international characters. Not anymore! Selenium Grid now speaks whatever language you speak. Since Selenium Remote Control does not explicitly set the charset in HTTP request headers, we changed our &lt;code&gt;HttpClient&lt;/code&gt; wrapper to assume UTF-8.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks to Vinay Tota, Maria Elisa Sanchez, Sam Chen, Miles, Shiang Luong, Daniel Stironek, Adrian Gan, Mattias, Sem Adou, Joel and David Burns for reporting bugs, suggesting interesting new features or helping me improve the documentation in the &lt;a href='http://forums.openqa.org/forum.jspa?forumID=42'&gt;Selenium Grid Forums&lt;/a&gt;. Thank you also to Clint Bishop who helped convert some test to JRuby, and to Patrick Lightbody who is always here to help me with &lt;a href='http://openqa.org'&gt;OpenQA&lt;/a&gt; infrastructure.&lt;/p&gt;

&lt;p&gt;Enjoy, and don&amp;#8217;t forget to &lt;a href='http://selenium-grid.openqa.org/give_feedback.html'&gt;provide feedback&lt;/a&gt;!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.ph7spot.com/~f/ph7?a=Arx7ZvE"&gt;&lt;img src="http://feeds.ph7spot.com/~f/ph7?i=Arx7ZvE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.ph7spot.com/~r/ph7/~4/241743706" height="1" width="1"/&gt;</content>
    <updated>2008-02-26T14:33:28+00:00</updated>
    <published>2008-02-26T14:33:28+00:00</published>
    <id>http://ph7spot.com/agora/announcing_selenium_grid_1_0</id>
  <feedburner:origLink>http://ph7spot.com/agora/announcing_selenium_grid_1_0</feedburner:origLink></entry>
  <entry>
    <title type="html">Monday, Feb 25: Get The Latest Scoop on Selenium and Meet the Core Team!</title>
    <author>
      <name>Philippe Hanrigou</name>
      <email>http://ph7spot.com/about/contact_me</email>
      <uri>http://ph7spot.com</uri>
    </author>
    <link href="http://feeds.ph7spot.com/~r/ph7/~3/238973197/announcing_selenium_user_open_evening_2008" rel="alternate" />
    <content type="html">&lt;p&gt;Google will be hosting &lt;strong&gt;the world&amp;#8217;s first &lt;a href='http://selenium.openqa.org/meetup.jsp'&gt;Selenium Users Open Evening&lt;/a&gt;&lt;/strong&gt; in Mountain View, CA on &lt;strong&gt;Monday, February 25 from 6:30PM to 9:00PM&lt;/strong&gt;. The event will feature a panel session and a series of lightning talks by representatives from all the major Selenium projects.&lt;/p&gt;

&lt;p&gt;Come join us for this unique opportunity to meet the &lt;a href='http://selenium.openqa.org'&gt;Selenium&lt;/a&gt; core team, get the latest scoop on web testing, discuss Selenium vision and future, share your ideas or finally ask the questions that you&amp;#8217;ve been dying to ask!&lt;/p&gt;

&lt;p&gt;So what is Selenium? For the uninitiated, Selenium is a collection of Open Source tools for &lt;strong&gt;functional testing of web application&lt;/strong&gt;. Selenium technology is cross-browser (IE, Firefox and Safari), cross-platform (Windows, Linux, and Mac) and language-agnostic &amp;#8211; You can write your tests in Ruby, Java, C#, Python, Perl, PHP or even plain HTML! In fact, if you&amp;#8217;re &lt;em&gt;really&lt;/em&gt; not in the mood to write any tests at all, the &lt;a href='http://selenium-ide.openqa.org'&gt;Selenium IDE&lt;/a&gt; can record, save and play back any browsing session in Firefox. Quite handy, especially if your business analyst use this feature to communicate the hard-to-reproduce bug that he just discovered! Last but not least, Selenium is free and enjoy wide community support.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I will be participating in the &lt;a href='http://selenium.openqa.org/meetup.jsp'&gt;Selenium Users Open Evening&lt;/a&gt; as the author and principal developer of &lt;a href='http://selenium-grid.openqa.org'&gt;Selenium Grid&lt;/a&gt;&lt;/strong&gt;, a tool that transparently distribute Selenium infrastructure on multiple machines so that you can run your web tests in parallel &amp;#8211; without changing a single line of your existing Selenium tests. Selenium Grid can dramatically speed up web testing by leveraging your existing computing infrastructure, and it has been used to bring builds that used to take hours down to a couple of minutes. &lt;strong&gt;Be ready for some announcements and exciting demos on Selenium Grid during &amp;#8221;&lt;a href='http://selenium.openqa.org/meetup.jsp'&gt;Selenium Users Open Evening&lt;/a&gt;&amp;#8221;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Hope to see you there. Don&amp;#8217;t forget to &lt;a href='http://selenium.openqa.org/meetup.jsp'&gt;sign up&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.ph7spot.com/~f/ph7?a=vj8OqgE"&gt;&lt;img src="http://feeds.ph7spot.com/~f/ph7?i=vj8OqgE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.ph7spot.com/~r/ph7/~4/238973197" height="1" width="1"/&gt;</content>
    <updated>2008-02-20T00:00:00+00:00</updated>
    <published>2008-02-20T00:00:00+00:00</published>
    <id>http://ph7spot.com/agora/announcing_selenium_user_open_evening_2008</id>
  <feedburner:origLink>http://ph7spot.com/agora/announcing_selenium_user_open_evening_2008</feedburner:origLink></entry>
  <entry>
    <title type="html">Just Published a New Book: "Troubleshooting Ruby Processes: Leveraging the Unix Platform When the
Usual Ruby Tricks Stop Working"</title>
    <author>
      <name>Philippe Hanrigou</name>
      <email>http://ph7spot.com/about/contact_me</email>
      <uri>http://ph7spot.com</uri>
    </author>
    <link href="http://feeds.ph7spot.com/~r/ph7/~3/230757887/troubleshooting_ruby_processes" rel="alternate" />
    <content type="html">&lt;p&gt;I am excited to announce the publication of &lt;a href='/publications/troubleshooting_ruby_processes'&gt;a PDF short cut&lt;/a&gt; with &lt;a href='http://www.informit.com/imprint/index.aspx?st=61085'&gt;Addison-Wesley&lt;/a&gt;, part of &lt;a href='http://obiefernadez.com'&gt;Obie Fernandez&lt;/a&gt;&amp;#8217;s awsome &lt;em&gt;Professional Ruby&lt;/em&gt; Series: &lt;strong&gt;&amp;#8220;Troubleshooting Ruby Processes: Leveraging the Unix Platform When the Usual Ruby Tricks Stop Working&amp;#8221;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this electronic book, I &lt;strong&gt;share some of my experiences troubleshooting production problems while deploying Ruby on Rails applications in the field&lt;/strong&gt;. In the course of delivering large Ruby on Rails projects, my teammates and I at &lt;a href='http://thoughtworks.com'&gt;ThoughtWorks&lt;/a&gt; encountered complex issues that could not be resolved employing the standard Ruby tricks (i.e. raising exceptions, &lt;code&gt;irb&lt;/code&gt;, &lt;code&gt;script/console&lt;/code&gt;, log file, breakpointer, debugger, etc.). Often some of our Mongrel servers would hang, offering no real clue as to the exact source of the problem or how to solve it. Resolving these problems required leveraging not only my Ruby skills but also a good understanding of the underlying operating system. System tools such as &lt;code&gt;lsof&lt;/code&gt;, &lt;code&gt;strace&lt;/code&gt;, &lt;code&gt;DTrace&lt;/code&gt; or &lt;code&gt;gdb&lt;/code&gt; proved to be key to the success of our projects.&lt;/p&gt;

&lt;p&gt;This book also provides concrete examples that illustrate how to use these tools to solve real-life problems in Ruby development. The content is not specific to Ruby on Rails and will be useful for troubleshooting problems with any Ruby process. Developing expertise in this area is key if you are developing professional Ruby applications. In this way, should your production Mongrel cluster freeze and stop serving HTTP requests, it will not take you 2 days to figure out why! ;-)&lt;/p&gt;

&lt;p&gt;&lt;a href='/publications/troubleshooting_ruby_processes'&gt;Learn more about the book&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.ph7spot.com/~f/ph7?a=6965ZIE"&gt;&lt;img src="http://feeds.ph7spot.com/~f/ph7?i=6965ZIE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.ph7spot.com/~r/ph7/~4/230757887" height="1" width="1"/&gt;</content>
    <updated>2007-11-08T00:00:00+00:00</updated>
    <published>2007-11-08T00:00:00+00:00</published>
    <id>http://ph7spot.com/agora/announcing_troubleshooting_ruby_book</id>
  <feedburner:origLink>http://ph7spot.com/publications/troubleshooting_ruby_processes</feedburner:origLink></entry>
  <entry>
    <title type="html">Getting started with Autotest</title>
    <author>
      <name>Philippe Hanrigou</name>
      <email>http://ph7spot.com/about/contact_me</email>
      <uri>http://ph7spot.com</uri>
    </author>
    <link href="http://feeds.ph7spot.com/~r/ph7/~3/230757888/getting_started_with_autotest" rel="alternate" />
    <content type="html">        &lt;p class="first"&gt;
        Why manually run your tests, when the computer can do it for you!
        &lt;a href="http://www.zenspider.com/ZSS/Products/ZenTest/"&gt;Autotest&lt;/a&gt; is a great tool to speed up
        test-driven development with Ruby or Ruby on Rails. Autotest makes your coding session even more
        productive as &lt;strong&gt;it automatically runs a subset of your test suite each time you change a file.
        Autotest is smart -- it figures out which subset to run based on the files you've changed.&lt;/strong&gt;
        Think of it as &lt;strong&gt;&lt;q&gt;Continuous Testing&lt;/q&gt;&lt;/strong&gt;.
    &lt;/p&gt;&lt;p&gt;
      Autotest source code is well-documented (&lt;a href="http://zentest.rubyforge.org/ZenTest/" title="ZenTest documentation"&gt;rdoc&lt;/a&gt;) but finding a
      high level overview online is a little more challenging. This article will get you up and running
      in no time, so that you may concentrate on writing code. 
      &lt;a href="/articles/getting_started_with_autotest"&gt;Let's get started!&lt;/a&gt;      
    &lt;/p&gt;
            
    

&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.ph7spot.com/~f/ph7?a=j1vKVnE"&gt;&lt;img src="http://feeds.ph7spot.com/~f/ph7?i=j1vKVnE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.ph7spot.com/~r/ph7/~4/230757888" height="1" width="1"/&gt;</content>
    <updated>2007-03-08T00:00:00+00:00</updated>
    <published>2007-03-08T00:00:00+00:00</published>
    <id>http://ph7spot.com/agora/new_article_to_get_started_with_autotest</id>
  <feedburner:origLink>http://ph7spot.com/articles/getting_started_with_autotest</feedburner:origLink></entry>
</feed>
