<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Selenium Testing? Do Cross Browser Testing with Sauce Labs</title>
	<atom:link href="http://saucelabs.com/blog/index.php/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://saucelabs.com/blog</link>
	<description></description>
	<lastBuildDate>Sat, 19 May 2012 03:57:33 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Goodbye, CouchDB by John</title>
		<link>http://saucelabs.com/blog/index.php/2012/05/goodbye-couchdb/comment-page-2/#comment-25937</link>
		<dc:creator>John</dc:creator>
		<pubDate>Sat, 19 May 2012 03:57:33 +0000</pubDate>
		<guid isPermaLink="false">http://saucelabs.com/blog/?p=6423#comment-25937</guid>
		<description>Nice article.

Did you consider Postgres with hstore, or Redis? Would be interesting to hear what the pros and cons of these solutions were for you.</description>
		<content:encoded><![CDATA[<p>Nice article.</p>
<p>Did you consider Postgres with hstore, or Redis? Would be interesting to hear what the pros and cons of these solutions were for you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Goodbye, CouchDB by Yeniler Eskilere Karşı &#124; logs</title>
		<link>http://saucelabs.com/blog/index.php/2012/05/goodbye-couchdb/comment-page-2/#comment-25930</link>
		<dc:creator>Yeniler Eskilere Karşı &#124; logs</dc:creator>
		<pubDate>Fri, 18 May 2012 16:52:00 +0000</pubDate>
		<guid isPermaLink="false">http://saucelabs.com/blog/?p=6423#comment-25930</guid>
		<description>[...] istemiyor). Kardeşim ölçeklenebilir bir servis yazacaksan NoSQL kullanacaksın diyorsanız sizi şuraya alayım. Yeni teknolojilerin baştan kaybetmesinin diğer nedenleri [...]</description>
		<content:encoded><![CDATA[<p>[...] istemiyor). Kardeşim ölçeklenebilir bir servis yazacaksan NoSQL kullanacaksın diyorsanız sizi şuraya alayım. Yeni teknolojilerin baştan kaybetmesinin diğer nedenleri [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Goodbye, CouchDB by bn</title>
		<link>http://saucelabs.com/blog/index.php/2012/05/goodbye-couchdb/comment-page-2/#comment-25926</link>
		<dc:creator>bn</dc:creator>
		<pubDate>Fri, 18 May 2012 03:07:13 +0000</pubDate>
		<guid isPermaLink="false">http://saucelabs.com/blog/?p=6423#comment-25926</guid>
		<description>Lumping all NoSql solutions under one umbrella is missing the point.  It&#039;s not Sql vs NoSql, it&#039;s Sql vs. key/value stores, vs document stores vs column stores vs structure servers... 

There&#039;s at least as much difference between Neo4j and Redis as there is between Redis and MySql. 

You have to look at your problem space before deciding on a database technology.  It&#039;s pretty obvious from Sauce Labs statements on how they use MySql that they don&#039;t need a relational db at all.  They needed a reliable document store that scales without being I/O bound. They won&#039;t run into any of the issues that cause most people to look at NoSql over relational - i.e. range based, ad-hoc or aggregate queries over very large datasets. These are the some of the primary driving forces behind map/reduce and NoSql.  They could probably get by with a really large SAN, fronted by Redis to hold indexes.  Or if they can do hosted - go directly to DynamoDb.

Seems to me the issue in Sauce Labs case was mischaracterization of the problem to be solved and selecting a solution without defining the requirements.  

I build real time data collection systems that collect a LOT of data and I find the best way to come to a decision about data storage is to define the requirements of my application with no storage in the picture at all.  Once I do that it becomes obvious what I need to solve the problem.</description>
		<content:encoded><![CDATA[<p>Lumping all NoSql solutions under one umbrella is missing the point.  It&#8217;s not Sql vs NoSql, it&#8217;s Sql vs. key/value stores, vs document stores vs column stores vs structure servers&#8230; </p>
<p>There&#8217;s at least as much difference between Neo4j and Redis as there is between Redis and MySql. </p>
<p>You have to look at your problem space before deciding on a database technology.  It&#8217;s pretty obvious from Sauce Labs statements on how they use MySql that they don&#8217;t need a relational db at all.  They needed a reliable document store that scales without being I/O bound. They won&#8217;t run into any of the issues that cause most people to look at NoSql over relational &#8211; i.e. range based, ad-hoc or aggregate queries over very large datasets. These are the some of the primary driving forces behind map/reduce and NoSql.  They could probably get by with a really large SAN, fronted by Redis to hold indexes.  Or if they can do hosted &#8211; go directly to DynamoDb.</p>
<p>Seems to me the issue in Sauce Labs case was mischaracterization of the problem to be solved and selecting a solution without defining the requirements.  </p>
<p>I build real time data collection systems that collect a LOT of data and I find the best way to come to a decision about data storage is to define the requirements of my application with no storage in the picture at all.  Once I do that it becomes obvious what I need to solve the problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Sauce Partner Program Has Officially Landed by Keki</title>
		<link>http://saucelabs.com/blog/index.php/2011/11/the-sauce-partner-program-has-officially-landed/comment-page-1/#comment-25923</link>
		<dc:creator>Keki</dc:creator>
		<pubDate>Fri, 18 May 2012 01:24:39 +0000</pubDate>
		<guid isPermaLink="false">http://saucelabs.com/blog/?p=5563#comment-25923</guid>
		<description>Hi,
I have been learning and using selenium Wbedriver in Java and have been writing small Automation frameworks I very well understand the concepts of Datadriven and Keyworddriven frameworks. I would like to further my skill in the said regards. Could I be of any help, when I say this I dont intend any commercial gains but instead a valuable experince in taking my skills further.</description>
		<content:encoded><![CDATA[<p>Hi,<br />
I have been learning and using selenium Wbedriver in Java and have been writing small Automation frameworks I very well understand the concepts of Datadriven and Keyworddriven frameworks. I would like to further my skill in the said regards. Could I be of any help, when I say this I dont intend any commercial gains but instead a valuable experince in taking my skills further.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Selenium Tips: Finding elements by their inner text using :contains, a CSS pseudo-class by exo</title>
		<link>http://saucelabs.com/blog/index.php/2010/03/selenium-tips-finding-elements-by-their-inner-text-using-contains-a-css-pseudo-class/comment-page-1/#comment-25921</link>
		<dc:creator>exo</dc:creator>
		<pubDate>Thu, 17 May 2012 21:42:54 +0000</pubDate>
		<guid isPermaLink="false">http://saucelabs.com/blog/?p=801#comment-25921</guid>
		<description>Maybe you will never read this comment, but I really appreciate your effort on putting useful information like this in Internet. It worked very well for me, congratulations!</description>
		<content:encoded><![CDATA[<p>Maybe you will never read this comment, but I really appreciate your effort on putting useful information like this in Internet. It worked very well for me, congratulations!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Goodbye, CouchDB by ChrisM</title>
		<link>http://saucelabs.com/blog/index.php/2012/05/goodbye-couchdb/comment-page-2/#comment-25919</link>
		<dc:creator>ChrisM</dc:creator>
		<pubDate>Thu, 17 May 2012 07:52:26 +0000</pubDate>
		<guid isPermaLink="false">http://saucelabs.com/blog/?p=6423#comment-25919</guid>
		<description>@Kalpesh - please for the love of God and all that is holy take a long and proper look at Postgres.  I used to be a MySQL devotee and found Postgres hard to set up and get into to begin with, but a few years ago we started to run into huge scalability issues with MySQL.  This forced our entire business to reevaluate PostgreSQL and we haven&#039;t looked back since.

It has so many powerful features that you just do not get with MySQL, and we have found performance to be an order of magnitude greater once you start doing more complex works.

For me the most telling statement in the rather ill informed Saucelabs writeup is that in MySQL it&#039;s par for the course to have to worry about FORCE INDEX statements.  In Postgres you can simply let the planner get on with it&#039;s job and it all just works.

As others have stated SQL isn&#039;t just some cumbersome mistake that&#039;s there to get in your way.  It provides a rich and powerful environment in which to work with your data.  With powerful features such as windowing functions and WITH queries (which even let you wrap INSERTs, DELETEs, UPDATEs and SELECTs into single compound queries requiring a single round trip to the database eliminating some race conditions) you can access, query and manipulate your data in ways that the NoSQL crowd can only dream of.  

CHECK constraints and triggers can be used to ensure your data is always integral and internally consistent.  This isn&#039;t just a nice to have it is vitally important as you scale and end up with multiple developers working on the same system and / or have multiple programs inserting and manipulating data.  Knowing that bugs cannot lead to garbage data (at least structurally) gives amazing peace of mind and leads to fewer application level checks, also reducing the error handling that is required.

Finally please do not listen to anyone who says that an application should store its own data and be directly responsible for storage performance.  The application should make best use of the established tools that are available rather than reinvent the wheel.  Writing a data storage engine that is more reliable, efficient, powerful or flexible than any of the SQL databases out there (or even the NoSQL databases) is a seriously non-trivial problem and is almost guaranteed to lead to data loss at one time or another as well as sucking up vital resources and massively delaying your projects time to market.  Scalability is almost always a nice problem to have, worry about building the best application you can first and resort to drastic action to scale your application only once you have exhausted all your other options.</description>
		<content:encoded><![CDATA[<p>@Kalpesh &#8211; please for the love of God and all that is holy take a long and proper look at Postgres.  I used to be a MySQL devotee and found Postgres hard to set up and get into to begin with, but a few years ago we started to run into huge scalability issues with MySQL.  This forced our entire business to reevaluate PostgreSQL and we haven&#8217;t looked back since.</p>
<p>It has so many powerful features that you just do not get with MySQL, and we have found performance to be an order of magnitude greater once you start doing more complex works.</p>
<p>For me the most telling statement in the rather ill informed Saucelabs writeup is that in MySQL it&#8217;s par for the course to have to worry about FORCE INDEX statements.  In Postgres you can simply let the planner get on with it&#8217;s job and it all just works.</p>
<p>As others have stated SQL isn&#8217;t just some cumbersome mistake that&#8217;s there to get in your way.  It provides a rich and powerful environment in which to work with your data.  With powerful features such as windowing functions and WITH queries (which even let you wrap INSERTs, DELETEs, UPDATEs and SELECTs into single compound queries requiring a single round trip to the database eliminating some race conditions) you can access, query and manipulate your data in ways that the NoSQL crowd can only dream of.  </p>
<p>CHECK constraints and triggers can be used to ensure your data is always integral and internally consistent.  This isn&#8217;t just a nice to have it is vitally important as you scale and end up with multiple developers working on the same system and / or have multiple programs inserting and manipulating data.  Knowing that bugs cannot lead to garbage data (at least structurally) gives amazing peace of mind and leads to fewer application level checks, also reducing the error handling that is required.</p>
<p>Finally please do not listen to anyone who says that an application should store its own data and be directly responsible for storage performance.  The application should make best use of the established tools that are available rather than reinvent the wheel.  Writing a data storage engine that is more reliable, efficient, powerful or flexible than any of the SQL databases out there (or even the NoSQL databases) is a seriously non-trivial problem and is almost guaranteed to lead to data loss at one time or another as well as sucking up vital resources and massively delaying your projects time to market.  Scalability is almost always a nice problem to have, worry about building the best application you can first and resort to drastic action to scale your application only once you have exhausted all your other options.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Goodbye, CouchDB by Kalpesh</title>
		<link>http://saucelabs.com/blog/index.php/2012/05/goodbye-couchdb/comment-page-2/#comment-25915</link>
		<dc:creator>Kalpesh</dc:creator>
		<pubDate>Thu, 17 May 2012 03:49:12 +0000</pubDate>
		<guid isPermaLink="false">http://saucelabs.com/blog/?p=6423#comment-25915</guid>
		<description>We recently went though same pain as you guys experienced except we were using Berkely db instead of couch db. We are using cassandra also but facing simliar issues with that and it will soon get replaced with Mysql. I thought its worth linking our experience with yours and spread the Mysql success http://neopatel.blogspot.com/2012/04/from-nosql-to-mysql-bdb-to-mysql-part1.html</description>
		<content:encoded><![CDATA[<p>We recently went though same pain as you guys experienced except we were using Berkely db instead of couch db. We are using cassandra also but facing simliar issues with that and it will soon get replaced with Mysql. I thought its worth linking our experience with yours and spread the Mysql success <a href="http://neopatel.blogspot.com/2012/04/from-nosql-to-mysql-bdb-to-mysql-part1.html" rel="nofollow">http://neopatel.blogspot.com/2012/04/from-nosql-to-mysql-bdb-to-mysql-part1.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Goodbye, CouchDB by Chris Johnson</title>
		<link>http://saucelabs.com/blog/index.php/2012/05/goodbye-couchdb/comment-page-2/#comment-25912</link>
		<dc:creator>Chris Johnson</dc:creator>
		<pubDate>Wed, 16 May 2012 23:43:14 +0000</pubDate>
		<guid isPermaLink="false">http://saucelabs.com/blog/?p=6423#comment-25912</guid>
		<description>The first 3 bullet points about why they liked CouchDB via criticizing relational databases show just how little Sauce Labs really knows about relational databases, and their general lack of maturity and wisdom in the field of computer science.

&quot;No schemas. This was wonderful. What are schemas even for? They just make things hard to change for no reason.&quot;  Right.  I&#039;m sure that all the work that Edgar F. Codd did to invent relational database schemas was just to make them hard to change, to piss off the Sauce Labs crew some 40 years later.  You noobs obviously know nothing about relational calculus.  http://en.wikipedia.org/wiki/Codd%27s_theorem

&quot;Non-relational. Relational databases grew up solving problems where data integrity was paramount and availability was not a big concern. They have a lot of features that just don’t make sense as part of the database layer in the context of modern web apps.&quot;  More of the same ignorance.  Yeah, modern web apps don&#039;t need stuff like ACID data persistence.  Who cares if we lose the data, or if the data we get back is wrong but without any indication of error?

The fact that little MySQL makes your data way more &quot;available&quot; than CouchDB could seems to make that statement even more ludicrous.

&quot;No SQL. It’s 2012, and most queries are run from code rather than by a human sitting at a console. Why are we still querying our databases by constructing strings of code in a language most closely related to freaking COBOL, which after being constructed have to be parsed for every single query?&quot;  Guess you clueless beginners have not heard of prepared statements -- parsed once.  And you conflate SQL with relational database -- since there are relational databases that do not use standard SQL.  Although why you&#039;d not use one just other than your irrational fear of &quot;Teh SQL!&quot; it&#039;s hard to imagine.  Better start coding in binary machine language, because all that text you write as code is &quot;strings of code in a language most closely related to freaking [some older language]&quot;.

N00bs.  Punks.  Come back and make this argument in 20 years.</description>
		<content:encoded><![CDATA[<p>The first 3 bullet points about why they liked CouchDB via criticizing relational databases show just how little Sauce Labs really knows about relational databases, and their general lack of maturity and wisdom in the field of computer science.</p>
<p>&#8220;No schemas. This was wonderful. What are schemas even for? They just make things hard to change for no reason.&#8221;  Right.  I&#8217;m sure that all the work that Edgar F. Codd did to invent relational database schemas was just to make them hard to change, to piss off the Sauce Labs crew some 40 years later.  You noobs obviously know nothing about relational calculus.  <a href="http://en.wikipedia.org/wiki/Codd%27s_theorem" rel="nofollow">http://en.wikipedia.org/wiki/Codd%27s_theorem</a></p>
<p>&#8220;Non-relational. Relational databases grew up solving problems where data integrity was paramount and availability was not a big concern. They have a lot of features that just don’t make sense as part of the database layer in the context of modern web apps.&#8221;  More of the same ignorance.  Yeah, modern web apps don&#8217;t need stuff like ACID data persistence.  Who cares if we lose the data, or if the data we get back is wrong but without any indication of error?</p>
<p>The fact that little MySQL makes your data way more &#8220;available&#8221; than CouchDB could seems to make that statement even more ludicrous.</p>
<p>&#8220;No SQL. It’s 2012, and most queries are run from code rather than by a human sitting at a console. Why are we still querying our databases by constructing strings of code in a language most closely related to freaking COBOL, which after being constructed have to be parsed for every single query?&#8221;  Guess you clueless beginners have not heard of prepared statements &#8212; parsed once.  And you conflate SQL with relational database &#8212; since there are relational databases that do not use standard SQL.  Although why you&#8217;d not use one just other than your irrational fear of &#8220;Teh SQL!&#8221; it&#8217;s hard to imagine.  Better start coding in binary machine language, because all that text you write as code is &#8220;strings of code in a language most closely related to freaking [some older language]&#8220;.</p>
<p>N00bs.  Punks.  Come back and make this argument in 20 years.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Goodbye, CouchDB by Frank LaRosa</title>
		<link>http://saucelabs.com/blog/index.php/2012/05/goodbye-couchdb/comment-page-2/#comment-25910</link>
		<dc:creator>Frank LaRosa</dc:creator>
		<pubDate>Wed, 16 May 2012 19:35:11 +0000</pubDate>
		<guid isPermaLink="false">http://saucelabs.com/blog/?p=6423#comment-25910</guid>
		<description>There&#039;s a lot of truth to the idea that true high performance stems from good application design more than from any decision related to hardware or database products.

Ultimately, the best applications in the world today, in terms of performance and scalability, are applications that take direct responsibility for their own data storage rather than farm it off to a database product. Meaning that the application is aware of scaling and sharding and its developers are forced to deal with those issues every time they interact with the storage engine.

If you take such an approach, it hardly matters whether the ultimate storage is done with MySQL or Couch or Mongo or something else. True, SQL is philosophically designed to abstract storage details from the developer, but you can ignore that abstraction by eschewing things like foreign keys and joins as the developers have done here. 

Oracle may well outperform MySQL on a per-machine basis. As a developer working on a scalable solution, I shouldn&#039;t depend on that to make or break my product. If I design something truly robust, and truly scalable, then I ought to be able to do what I need simply by increasing the number of nodes without regard to the performance of any individual machine. That is the mark of a successful high-scalability solution.

Frank</description>
		<content:encoded><![CDATA[<p>There&#8217;s a lot of truth to the idea that true high performance stems from good application design more than from any decision related to hardware or database products.</p>
<p>Ultimately, the best applications in the world today, in terms of performance and scalability, are applications that take direct responsibility for their own data storage rather than farm it off to a database product. Meaning that the application is aware of scaling and sharding and its developers are forced to deal with those issues every time they interact with the storage engine.</p>
<p>If you take such an approach, it hardly matters whether the ultimate storage is done with MySQL or Couch or Mongo or something else. True, SQL is philosophically designed to abstract storage details from the developer, but you can ignore that abstraction by eschewing things like foreign keys and joins as the developers have done here. </p>
<p>Oracle may well outperform MySQL on a per-machine basis. As a developer working on a scalable solution, I shouldn&#8217;t depend on that to make or break my product. If I design something truly robust, and truly scalable, then I ought to be able to do what I need simply by increasing the number of nodes without regard to the performance of any individual machine. That is the mark of a successful high-scalability solution.</p>
<p>Frank</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Goodbye, CouchDB by nah</title>
		<link>http://saucelabs.com/blog/index.php/2012/05/goodbye-couchdb/comment-page-2/#comment-25909</link>
		<dc:creator>nah</dc:creator>
		<pubDate>Wed, 16 May 2012 19:11:14 +0000</pubDate>
		<guid isPermaLink="false">http://saucelabs.com/blog/?p=6423#comment-25909</guid>
		<description>I agree with ux-admin on this one. Going from anything to mysql is a step backwards. 

&quot;We already know it&quot; does not make it the right choice for the job. Good engineers learn the tools needed to do the job right, not just how to hack together familiar pieces that they hope will work.

In the free RDBMS space Postgres performs better, scales easier, and behaves far more consistently than mysql can ever hope. Percona and Xtradb are nice, but inadequate compensation for all the other hack idiocy in mysql. It is truly the PHP of databases (and its sponsor keeps it that way). That more people don&#039;t see this and switch to Postgres is tragic.

Outside the RDBMS space there are lots of great projects not even mentioned here, like Cassandra (on one end of the scale) and Redis (solving a different problem on the other end). Our architecture uses all three in various places (Cassandra, Postgres, and Redis).

I don&#039;t know enough about your needs to evaluate your persistence architecture, but mysql ... well, best of luck. You&#039;re going to need it (remember this in a few years).</description>
		<content:encoded><![CDATA[<p>I agree with ux-admin on this one. Going from anything to mysql is a step backwards. </p>
<p>&#8220;We already know it&#8221; does not make it the right choice for the job. Good engineers learn the tools needed to do the job right, not just how to hack together familiar pieces that they hope will work.</p>
<p>In the free RDBMS space Postgres performs better, scales easier, and behaves far more consistently than mysql can ever hope. Percona and Xtradb are nice, but inadequate compensation for all the other hack idiocy in mysql. It is truly the PHP of databases (and its sponsor keeps it that way). That more people don&#8217;t see this and switch to Postgres is tragic.</p>
<p>Outside the RDBMS space there are lots of great projects not even mentioned here, like Cassandra (on one end of the scale) and Redis (solving a different problem on the other end). Our architecture uses all three in various places (Cassandra, Postgres, and Redis).</p>
<p>I don&#8217;t know enough about your needs to evaluate your persistence architecture, but mysql &#8230; well, best of luck. You&#8217;re going to need it (remember this in a few years).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

