<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>zooskdev</title>
	<atom:link href="http://zooskdev.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://zooskdev.wordpress.com</link>
	<description>Zoosk Engineering Blog</description>
	<lastBuildDate>Mon, 20 May 2013 17:14:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='zooskdev.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>zooskdev</title>
		<link>http://zooskdev.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://zooskdev.wordpress.com/osd.xml" title="zooskdev" />
	<atom:link rel='hub' href='http://zooskdev.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Automating Mobile Testing With Selenium Using Appium</title>
		<link>http://zooskdev.wordpress.com/2013/05/03/automating-mobile-testing-with-selenium-using-appium/</link>
		<comments>http://zooskdev.wordpress.com/2013/05/03/automating-mobile-testing-with-selenium-using-appium/#comments</comments>
		<pubDate>Fri, 03 May 2013 22:06:03 +0000</pubDate>
		<dc:creator>dancuellar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zooskdev.wordpress.com/?p=651</guid>
		<description><![CDATA[Over the last decade the most significant change in software testing has been the growth and advancement of automated testing. In the past, web site testing was costly and time-consuming. You had large teams of QA Engineers that hunted the site for bugs during test passes. These engineers had to run hundreds of test cases [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=651&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Over the last decade the most significant change in software testing has been the growth and advancement of automated testing. In the past, web site testing was costly and time-consuming. You had large teams of QA Engineers that hunted the site for bugs during test passes. These engineers had to run hundreds of test cases in a few days against multiple browsers. Code was usually frozen during the test pass and developers could either fix bugs or had to work on another branch or product. By the end of it all the QA engineers were bleary-eyed and sweating as the release went out.</p>
<p>Enter Automation, which reduced test time by allowing developers to automate test cases and run them on demand. This more frequent and more immediate feedback enabled them to write better code and freed up QA engineers to test with more freedom.</p>
<p>Then mobile came along, and we were back to square one. Years later, the first mobile automation tools were developed and released. These early tools all had major drawbacks. They all required you to modify your application to support testing, usually by embedding an HTTP server in your app. Most of them only supported coding in their APIs, which rarely supported multiple languages. They also were doing things that were hacks or workarounds and not sanctioned by the guys making the OS.</p>
<p>Appium was originally developed at Zoosk back in late 2011 when we were looking to reduce the cost of testing our iOS app. iOS testing presents a throwback sort-of challenge which harkens back to the days when software was released on disks and CDs. A mistake in an iOS release will take days to correct. If you have a crash, once you figure it out and fix it, there&#8217;s a multi-day app-store approval process on the other end. It&#8217;s different than the web because you can&#8217;t just do another deploy and fix the problem; you must suffer the consequences for days even with an expedited review.</p>
<p>There are 4 principles that guide Appium development</p>
<ol>
<li>Test the same app you put in the marketplace.</li>
<li>Write tests in the language you want to.</li>
<li>Use a standard automation specification</li>
<li>Keep it open-source and free</li>
</ol>
<p>Principles aside, what is Appium? Appium is an implementation of the <a href="http://code.google.com/p/selenium/wiki/JsonWireProtocol">Selenium-WebDriver Protocol</a> (the most popular web automation toolset) that supports controlling Android and iOS applications on devices and simulators. Coding an Appium test is identical to coding a Selenium test. You don&#8217;t have to modify your application and can use a protocol that is a (pending) W3C standard. Selenium already has bindings in a dozen or so languages, so you can even use the language of your choice. Under the hood, it uses the sanctioned automation APIs, UIAutomation for iOS and UIAutomation and Instrumentation for Android. And of course, it&#8217;s all <a href="http://appium.io">open source</a>.</p>
<p>In closing, the future is here. Mobile automation is now as easy as web automation. Your mobile QA team can blister their fingers playing guitar instead of by performing 3 straight days of iPad test passes. You can submit your app to the app-store faster and with more confidence.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zooskdev.wordpress.com/651/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zooskdev.wordpress.com/651/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=651&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zooskdev.wordpress.com/2013/05/03/automating-mobile-testing-with-selenium-using-appium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9329786f44d48e55d7c47fa58d759c98?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dancuellar</media:title>
		</media:content>
	</item>
		<item>
		<title>Exercises in Performance</title>
		<link>http://zooskdev.wordpress.com/2013/04/17/exercises-in-performance/</link>
		<comments>http://zooskdev.wordpress.com/2013/04/17/exercises-in-performance/#comments</comments>
		<pubDate>Wed, 17 Apr 2013 02:45:10 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zooskdev.wordpress.com/?p=914</guid>
		<description><![CDATA[One of the things that we like to pride ourselves on here at Zoosk is the User Experience, and one key facet of that experience is performance. This is often assumed during the development cycle, but rarely is it explicitly called out as a &#8220;feature.&#8221; This was best put in a blog post on High Scalability, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=914&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>One of the things that we like to pride ourselves on here at Zoosk is the User Experience, and one key facet of that experience is performance. This is often assumed during the development cycle, but rarely is it explicitly called out as a &#8220;feature.&#8221; This was best put in a <a href="http://highscalability.com/blog/2009/7/25/latency-is-everywhere-and-it-costs-you-sales-how-to-crush-it.html">blog post</a> on High Scalability, which stated:</p>
<blockquote><p>The less interactive a site becomes the more likely users are to click away and do something else. Latency is the mother of interactivity. Though it&#8217;s possible through various UI techniques to make pages subjectively feel faster, slow sites generally lead to <a href="http://www.kaushik.net/avinash/2008/01/measuring-online-engagement-what-role-does-web-analytics-play.html">higher customer defection rates</a>, which lead to lower conversation rates, which results in lower sales. Yet for some reason latency isn&#8217;t a topic talked a lot about for web apps. We talk a lot about about building high-capacity sites, but very little about how to build low-latency sites. We apparently do so at the expense of our immortal bottom line.</p></blockquote>
<p>Many techniques have been developed over the years to address the issue of latency and interactivity, the most obvious being the rise of Web 2.0 and the dynamic loading of content after page render. Ajax has been the panacea of low latency websites, allowing for non blocking page loads and deferring high cost operations until such time as that content is needed or requested. This has gotten us far, but we can do better.</p>
<h1>Enter BigPipe</h1>
<p>In 2010, Facebook posted a blog entitled, <a href="https://www.facebook.com/note.php?note_id=389414033919">BigPipe: Pipelining web pages for high performance</a>. In it, they outline a rather novel solution for delivering highly dynamic and content driven websites with low latency. I will leave you to read the article for the specifics, but to summarize, a page is broken down into highly decoupled widgets, or pagelets as they call them. Each pagelet is represented on the page by a div, which is a placeholder for where the content will be displayed once it has been processed. This skeleton is flushed immediately to the user, however instead of closing the connection, the server keeps the request alive. In the background, asynchronous processes are triggered which fetch and process the data  for each pagelet. Upon completion, each process will flush some data to the page as JSON, which initializes the pagelet with the desired content. Once all processes have competed, the request is closed and the page is &#8220;complete.&#8221; Facebook found that by moving to BigPipe, they were able to decrease the time to interact latency by about half. This is a significant win, and one that I wanted to see if we could replicate here at Zoosk.</p>
<h1>Javascript to the rescue</h1>
<p>In order to test BigPipe with our product, I decided to try out a new stack, one which lent itself more readily to asynchronous programming. We have typically been a LAMP shop here at Zoosk, but for this, I decided to use <a href="http://nodejs.org/">Node.js</a>. Having most recently rebuilt our site as an HTML5 single page application targeting smart phones, I found the Javascript event loop ideally suited for the task at hand. For the test case, I chose to rewrite our internal admin tool. While not a user facing application, the admin tool is the backbone of our user operations team and an ideal candidate for optimization. The end result? We were able to reduce TTFB (time to first byte) by 50 percent, and the time to page load was reduced by 35-50 percent. For an initial, unoptimized proof of concept, this was a huge win. I am convinced that with further tuning, we could easily drop the latency even further.</p>
<h1>The devil is in the details</h1>
<p>While the Facebook article does a good job outlining the BigPipe methodology at a high level, I want to draw attention to a few items that were not as immediately obvious as candidates for optimization:</p>
<ul>
<li><strong><span style="line-height:14px;">SSL </span></strong><span style="line-height:14px;">- Here at Zoosk, we take user privacy extremely seriously, which is why we host an all-SSL experience. While SSL keeps your data secure, it does come at a price. SSL can increase the overhead of serving a request, with most of the overhead coming from the handshake protocol. Every external network resource, be it CSS, Javascript, an image tag, an AJAX request, etc, will incur this overhead, which can lead to a higher latency experience. By moving what would typically be an Ajax heavy experience to BigPipe, you are able to avoid incurring this cost. Instead of several Ajax requests having to negotiate the SSL handshake, you are able to make ONE request to the server which you can auth and terminate SSL at the edge of your network. All internal processing can then use more performant transport protocols while within the confines of your network. </span></li>
<li><strong>Physical Locality</strong> &#8211; dovetailing on the above point, BigPipe is able to take advantage of the principle of locality. The location of a user and the quality of their connection can play a large role in the latency required to serve a request. How fast is their DNS server, how close are they to their local exchange, is their ISP performing any bandwidth shaping/throttling, how many hops total before reaching our cage, are they mobile? Every connection a user&#8217;s browser makes is affected by these factors, and more. However, requests within our cage take just a few milliseconds. In a typical Ajax heavy application, the page has to wait until DOMContentLoaded before firing off any additional requests. This initial request has an overhead which must be paid, and introduces a stall in our request pipeline. Then, each additional Ajax request incurs an additional cost. By switching to BigPipe, a user just has to make one (potentially) costly request to our servers. At that point, we are able to make highly performant requests within our cage, flushing the results as soon as we get them, thus keeping the request pipeline from stalling.</li>
<li><strong>Browser connections</strong> &#8211; speaking of pipeline stalls, one source of stalls in the rendering pipeline is the max number of simultaneous connections a browser can make per host. Currently, most browsers have an upper bound of 4-6 connections (this drops down to 1-2 connections on mobile devices over 3G). As pages have become more dynamic and interactive, it has become increasingly easy to hit these hard limits. Once that magic threshold has been reached, no new requests can be made to that domain until a previous request has been completed, and your page stalls out. By using BigPipe, you release these connections that would have been used for Ajax requests back into the available pool.</li>
</ul>
<p>Over the coming months, we will be applying the lessons learned to our core product, resulting in a snappier, more delightful Zoosk.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zooskdev.wordpress.com/914/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zooskdev.wordpress.com/914/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=914&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zooskdev.wordpress.com/2013/04/17/exercises-in-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6f736c96b251de8697ac635ca007e754?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jeff</media:title>
		</media:content>
	</item>
		<item>
		<title>Hack Day &#8211; April 2013</title>
		<link>http://zooskdev.wordpress.com/2013/04/08/hack-day-april-2013/</link>
		<comments>http://zooskdev.wordpress.com/2013/04/08/hack-day-april-2013/#comments</comments>
		<pubDate>Mon, 08 Apr 2013 02:38:08 +0000</pubDate>
		<dc:creator>Peter Offringa</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zooskdev.wordpress.com/?p=902</guid>
		<description><![CDATA[On April 4-5th, the product and engineering teams conducted our third Hack Day event.  Similar to events we have held in the past, this was a period of time for members of our product development organization to explore their own ideas to improve Zoosk.  To make it interesting, we awarded cash prizes for the best [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=902&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>On April 4-5th, the product and engineering teams conducted our third Hack Day event.  Similar to events we have held in the past, this was a period of time for members of our product development organization to explore their own ideas to improve Zoosk.  To make it interesting, we awarded cash prizes for the best ideas.  Anyone could participate – either working independently or partnering up with others.  While we didn’t want to limit creativity, we encouraged Hack Day ideas that could contribute to Zoosk in one of three ways:</p>
<ul>
<li>Represent a new feature that would grow the Zoosk business</li>
<li>Generate an efficiency that would lower the cost/time to get things done</li>
<li>Provide a new means of driving users to Zoosk products</li>
</ul>
<p>The event ran from Thursday morning straight through to 4pm on Friday.  We had 24 teams with 40 individual participants working on projects.  We concluded the event with presentations by the teams to our judging committee, which consisted of our executive team.  The judges had some difficult decisions to make.  After much deliberation, the judges selected the following winners:</p>
<p><strong>1st Place:</strong>  Mobile Chat&#8230; better (Chris K.)<br />
<strong>2nd Place:</strong>  Ravamping Help and Customer Support   (Khyati D.)<br />
<strong>3rd Place:</strong>  Marketing Search   (Craig A.)</p>
<p>We also had a People&#8217;s Choice award, which was voted on by all participants.  The winner was Better, More Violent Search  (Keith K.)</p>
<p>Overall, it was a great event.  Several of the ideas will be pipelined into our product development funnel.  We are already looking forward to our next Hack Day event in six months.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zooskdev.wordpress.com/902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zooskdev.wordpress.com/902/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=902&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zooskdev.wordpress.com/2013/04/08/hack-day-april-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0307c794fa34b9f5e1b93658ecb77d9e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peteroffringa</media:title>
		</media:content>
	</item>
		<item>
		<title>Crossing Industry Boundaries at GDC 2013</title>
		<link>http://zooskdev.wordpress.com/2013/03/29/crossing-industry-boundaries-at-gdc-2013/</link>
		<comments>http://zooskdev.wordpress.com/2013/03/29/crossing-industry-boundaries-at-gdc-2013/#comments</comments>
		<pubDate>Fri, 29 Mar 2013 23:11:05 +0000</pubDate>
		<dc:creator>Lee Arellano</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zooskdev.wordpress.com/?p=874</guid>
		<description><![CDATA[The GDC( Game Developers Conference &#8211; http://www.gdconf.com ) has made its way to San Francisco once again this year and I&#8217;m glad to report that I had the opportunity to attend, sponsored by Zoosk. Why would Zoosk be interested in GDC you ask? At Zoosk, we make it a goal to get to know the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=874&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The GDC( Game Developers Conference &#8211; <a href="http://www.gdconf.com" rel="nofollow">http://www.gdconf.com</a> ) has made its way to San Francisco once again this year and I&#8217;m glad to report that I had the opportunity to attend, sponsored by Zoosk. Why would Zoosk be interested in GDC you ask? At Zoosk, we make it a goal to get to know the various platforms and hardware that we target for our client applications and we&#8217;re not afraid to cross industry boundaries to accomplish this. We develop each of our client applications using the platform&#8217;s preferred language(s): Objective C for iOS, Java for Android, and Web technologies for our Web applications. This approach allows us to leverage each platform&#8217;s strengths and tools to produce high quality applications that meet established expectations for each target platform. At GDC, we are able to see what other software developers can accomplish with these same technologies, in addition to getting a sneak peak at what will be possible in the near future.</p>
<p>One of the sessions I attended was titled &#8220;Automation in the Technically Challenging World of Game Development&#8221;, where an hour long panel discussion ensued between notable QA staff from various companies such as VMC Game Labs, Sony Computer Entertainment America, LocalizeDirect, Disney Interactive, Atari inc., and The Walt Disney Company. One key point was the importance of a tightly coupled working relationship between the Engineering and QA teams. Some of the participants even commented on the value of QA staff having the ability to understand and write code, if necessary. Another key point was the growing need for Automation testing and knowing when to manually test versus when to automate a test case. I was proud of our QA team at Zoosk for already demonstrating previous knowledge of these key points by having implemented their own QA/Engineer cross-training program in addition to having contributed to the Appium( <a href="http://appium.io" rel="nofollow">http://appium.io</a> ) open source test automation tool in its early stages.</p>
<p>In Conclusion, attending GDC was a motivating learning experience that I would recommend to anyone interested in cutting-edge software development practices in any industry!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zooskdev.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zooskdev.wordpress.com/874/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=874&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zooskdev.wordpress.com/2013/03/29/crossing-industry-boundaries-at-gdc-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d3ab1d073de0d1953b6aa2c27505018d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">leea2013</media:title>
		</media:content>
	</item>
		<item>
		<title>Zoosk R&amp;D &#8211; The Second Term</title>
		<link>http://zooskdev.wordpress.com/2013/02/12/zoosk-rd-the-second-term/</link>
		<comments>http://zooskdev.wordpress.com/2013/02/12/zoosk-rd-the-second-term/#comments</comments>
		<pubDate>Tue, 12 Feb 2013 07:37:23 +0000</pubDate>
		<dc:creator>brianzoosk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zooskdev.wordpress.com/?p=854</guid>
		<description><![CDATA[After a very successful first session of Zoosk R&#38;D, we soon realized we were on to something and quickly began hiring for our next term.  If you’re not familiar with Zoosk R&#38;D, it’s an engineering on-boarding program we started at Zoosk, which brings a team of new hires into the engineering organization to work together [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=854&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>After a very successful first session of Zoosk R&amp;D, we soon realized we were on to something and quickly began hiring for our next term.  If you’re not familiar with Zoosk R&amp;D, it’s an engineering on-boarding program we started at Zoosk, which brings a team of new hires into the engineering organization to work together on a new idea.  It essentially has a ‘startup within a startup’ mentality with the outcome being a working prototype to present to the executive team. The presentation and prototype should show why our idea is the ‘biggest thing since sliced bread’.  You can read more on the beginnings of the program and other benefits of Zoosk R&amp;D in <a href="http://zooskdev.wordpress.com/2012/07/20/zoosk-rd-a-retrospective/" target="_blank">a great blog post</a> by my colleague, Doug Wehemeier, about our inaugural session.</p>
<p>As Doug mentioned, since each graduate of the Zoosk R&amp;D program became familiar with the tools, processes, and environment at Zoosk, they were able to assimilate into one of our existing engineering teams and quickly start contributing to it.  Zoosk R&amp;D was originally targeted towards more junior developers, but we realized from the first session that any engineer no matter their level, could come in and benefit from it.  That being said, my team consisted of myself along with three new Zoosk developers with a varying range of experience.  I also had a part time product manager and graphic designer borrowed from the Web Team at Zoosk, so there were six people in total working on the project.  Without giving away the next big thing ;D, the team began work on Project &#8216;X&#8217;.  I was lucky enough to be able to lead the second R&amp;D session which went from late August to early November and these are a few thoughts from it.</p>
<p><strong>1. On-boarding rules now.</strong></p>
<p>I think the most obvious benefit from Zoosk R&amp;D is that the new on-boarding process is much more improved for everyone involved.  Having been the lead engineer of the web team for a couple of years now, I&#8217;ve on-boarded a fair number of new developers.  We typically would assign the new developer a mentor and slowly start by wading into the code with small bug fixes and minor changes while going over processes, tools, and other technologies we use.  With Zoosk R&amp;D, we really turn that methodology upside down.</p>
<p>Zoosk R&amp;D moves fast!  After meeting with the new team, laying out the new idea, and finally getting everyone&#8217;s buy-off on it, we typically end the meeting with, “OK, we have three months to build this, let’s go!”  For newly hired Zoosk engineers and any engineer in general, there&#8217;s nothing like building <i>new </i>software and Zoosk R&amp;D allows you come in and immediately do that.</p>
<p>Also, instead of just explaining what a particular team or technology does, the new hires have an opportunity to get hands on with the code in most cases.  At the end of the term, the new developers not only have an abstract idea of <i>what</i> the other teams in the company build, they now have been given the  time and resources to actually dive into <i>how</i> they build it.</p>
<p><strong>2. Cross training for current employees.</strong></p>
<p>Another benefit I noticed after concluding my session of R&amp;D was that current Zoosk employees were able to experiment in roles that were different than their primary job responsibilities.  One of the former UI developers on the web team was interested in product management and was able to assume the role as the part time PM for the R&amp;D team.  Since then, she&#8217;s brought her passion for the product with her as the lead of the User Experience team at Zoosk, concentrating on our end user satisfaction.  Another developer was able continue his interest in graphic design as the main designer of the R&amp;D product for that term.</p>
<p><strong>3. Team building</strong></p>
<p>Starting at a new company can often be intimidating for a lot of people, and I felt that the R&amp;D program really took that extra step to help put new employees at ease.  Since the team consists mainly of new hires, you&#8217;re starting alongside people who are in the same situation as you.</p>
<p>In the old on-boarding model, after starting on a particular team, you end up interacting mainly with that specific team as opposed to members of other teams throughout the engineering organization.   While you eventually get to know people in the other teams, it naturally can take a bit longer.  With Zoosk R&amp;D, it really helped to accelerate the team building process throughout the organization.  Since the members of the team you just spent your first three months at Zoosk with will also be transitioning into other teams throughout the company, it&#8217;s nice to have already built up relationships and a camaraderie with the other engineers.  This wasn&#8217;t one of the main reasons we started Zoosk R&amp;D, but it just turned out to be a very nice side effect.</p>
<p>Overall, Zoosk R&amp;D was a great experience for me and everyone involved in the project.  With our third term of R&amp;D underway, we have already expanded the program to six developers, a graphic designer, and a product manager.  After the success of our previous R&amp;D sessions, I can’t wait to see what the new team  comes up with!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zooskdev.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zooskdev.wordpress.com/854/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=854&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zooskdev.wordpress.com/2013/02/12/zoosk-rd-the-second-term/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/86669c6c687f19d62019dc5676fc3f99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brianzoosk</media:title>
		</media:content>
	</item>
		<item>
		<title>Working in &#8220;Z&#8221; Years</title>
		<link>http://zooskdev.wordpress.com/2013/01/06/working-in-z-years/</link>
		<comments>http://zooskdev.wordpress.com/2013/01/06/working-in-z-years/#comments</comments>
		<pubDate>Sun, 06 Jan 2013 07:22:25 +0000</pubDate>
		<dc:creator>Peter Offringa</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zooskdev.wordpress.com/?p=849</guid>
		<description><![CDATA[The New Year always provides a good time for reflection.  One thing that I am often asked by candidates during interviews is some form of the same question about working at Zoosk.  Usually, it&#8217;s something along the lines of &#8220;what makes Zoosk different from other companies you have worked for?&#8221;  In the past, I would [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=849&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The New Year always provides a good time for reflection.  One thing that I am often asked by candidates during interviews is some form of the same question about working at Zoosk.  Usually, it&#8217;s something along the lines of &#8220;what makes Zoosk different from other companies you have worked for?&#8221;  In the past, I would talk about the smart people I work with each day or the excitement of building a consumer web product that is used by millions of people.  But lately I describe something more basic, more ingrained in the culture.  There is an intensity at Zoosk that I haven&#8217;t experienced at other companies. It feels like a strong impatience and a push to continually make things better.  In terms of product development, this usually manifests as a rapid rate of change, delivering new features and technical capabilities in quick succession.  Our product decision making is very empirical, usually leveraging some form of A/B testing to gauge user acceptance of new ideas.  The general thinking is that if we can experiment our way to the best products, then completing those experiments as quickly as possible is critical.</p>
<p>This drive for change causes our engineers to be continually moving through development projects.  They will work on one feature in a two week sprint, launch it, and then move on to the next one.  This allows them to be exposed to a number of technologies and frameworks within our infrastructure very quickly.  Their technical skill set grows rapidly and within a short time are often making significant contributions to the code base.  In many cases, individual engineers are the primary maintainers of major software systems and product features.</p>
<p>From a professional development point of view, I think this intensity makes Zoosk engineers enter into some sort of accelerated time warp, where they grow their skill set more quickly than their peers at other, usually larger, companies.  An easy way to describe this phenomenon is by using the analogy of dog years.  They say that one dog year is equal to about 7 human years.  Applied to Zoosk, I think that one year as an engineer at Zoosk is equal to about 4 years at another technology company.  This assertion has been loosely supported through information gathered in interviews.  I will often ask a senior engineer who spent several years at company Y to describe for me their accomplishments at that company.  Usually, they name one or two large projects, with some general maintenance work.  Then, I will look at their resume again and note that they spent 4 years at company Y.  I think to myself &#8211; &#8220;Wow, that&#8217;s what you accomplished in 4 years. The average Zoosk engineer would blow through those projects in a year or less.&#8221;  Similarly, when Zoosk engineers conduct interviews, this multiplier kicks in.  A Zoosk engineer 2-3 years out of college can give a &#8220;seasoned&#8221; engineer with 8-10 years of experience at other companies a tough interview.</p>
<p>When filling leadership positions within the engineering group, this same accelerated growth effect applies as well.  Many of our team managers were promoted from within the organization.  Usually, they had held no prior engineering management roles before joining Zoosk or were recruited right out of college.  However, through the intensity of the Zoosk experience and a willingness to take ownership over outcomes, they demonstrated basic leadership skills. We then put them in a formal leadership position, gave frequent coaching and let them learn quickly through real-world application.  Within 6-12 months, these individuals become very competent leaders that I would match against long-time managers at bigger companies.  They are practiced problem solvers who know how to direct their teams to get projects done.  And because of the Zoosk time warp, they can hone their leadership skills very quickly.</p>
<p>The environment of constant change at Zoosk isn&#8217;t for everyone and certainly brings its share of stress and discomfort.  But, for those willing to put in the effort, I think the Zoosk experience is invaluable for professional development.  If you would like to start working in &#8220;Z&#8221; years, we are hiring.  Check out our <a href="https://www.zoosk.com/careers.php">Careers</a> page for open positions.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zooskdev.wordpress.com/849/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zooskdev.wordpress.com/849/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=849&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zooskdev.wordpress.com/2013/01/06/working-in-z-years/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0307c794fa34b9f5e1b93658ecb77d9e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peteroffringa</media:title>
		</media:content>
	</item>
		<item>
		<title>Marriage of Hadoop and OLAP: Best of both worlds to make sense of 200 Terabytes of data</title>
		<link>http://zooskdev.wordpress.com/2012/10/19/marriage-of-hadoop-and-olap-best-of-both-worlds-to-make-sense-of-200-terabytes-of-data/</link>
		<comments>http://zooskdev.wordpress.com/2012/10/19/marriage-of-hadoop-and-olap-best-of-both-worlds-to-make-sense-of-200-terabytes-of-data/#comments</comments>
		<pubDate>Fri, 19 Oct 2012 23:11:23 +0000</pubDate>
		<dc:creator>Martin Lam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zooskdev.wordpress.com/?p=841</guid>
		<description><![CDATA[Like many other companies in the social networking world, Zoosk inherits a vast amount of data every day from user interactions, web logs, financial transactions, as well as standard business metric data.  Making sense of the data and turning it into actionable intelligence is of utmost importance to Zoosk, where we are constantly trying to [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=841&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Like many other companies in the social networking world, Zoosk inherits a vast amount of data every day from user interactions, web logs, financial transactions, as well as standard business metric data.  Making sense of the data and turning it into actionable intelligence is of utmost importance to Zoosk, where we are constantly trying to optimize our product offerings and business processes.  The question is: how do we most effectively leverage our data, and turn it into business intelligence?</p>
<p>There are a few typical approaches to answer this question.</p>
<p>Traditionally to gain business intelligence, one can leverage a star schema data warehouse with a multi-dimensional OLAP engine, to provide the business with a user-friendly toolset to quickly “slice and dice” data to identify trends and patterns.  These toolsets can be something that users are familiar with, such as Microsoft Excel and web dashboards. However, traditional data warehouses are typically not as flexible with semi-structured data, especially when data volume gets very large.</p>
<p>More recently, one can leverage what is known as “Big Data”, using tools such as Hadoop and Hive, to cost effectively deal with large amounts of data in unprecedented variety, velocity and volume.   Using MapReduce, Hadoop can effectively process large amounts of data cheaply by splitting the data into smaller nodes.  It also provides the advantage of being able to store unstructured data.  However, unlike traditional DW, analytics via Hadoop/Hive is still relatively primitive and currently lacks very user friendly tools for the business user, who may not want to write their own Hive-SQL queries.</p>
<p><b>So what do we do at Zoosk?  Simple, do both!</b></p>
<p>The overall Zoosk Analytics Platform high level architecture is illustrated as follows:</p>
<p><a href="http://zooskdev.files.wordpress.com/2012/10/analytics-architecture1.jpg"><img class="alignnone size-full wp-image-844" title="Zoosk Analytics Architecture" alt="" src="http://zooskdev.files.wordpress.com/2012/10/analytics-architecture1.jpg?w=640"   /></a></p>
<p>1)      We first start with collecting as much as data as we need.  Our website writes user behavior data to a scribe log, while the web server collects vital web statistics in its web logs.  The web logs are considered our “Big Data” portion of our source data.</p>
<p>2)      In parallel, we also pull mission critical, structured, production data directly from our user cluster database.  These database clusters include user profile data, financial information and other transaction based information.  These are considered the “Small Data” portion of our source data.</p>
<p>3)      “Big Data” such as scribe logs / web logs are staged in Hadoop, where we also have Hive on top of it to provide ad hoc analytical access to the underlying data.  It also acts as a first stage data integration process to structure and aggregate our “Big Data” into more manageable information.</p>
<p>4)      Database scripts and Extract, Transform, Load (ETL) programs are used to load both our “Big Data” and “Small Data” sets into our RDBMS staging tables.</p>
<p>5)      By using industry proven methodologies in data warehouse / dimensional modeling, we conform all of our data with over 100 dimensions across 20+ fact tables, and store them in a centralized Enterprise Data Warehouse (EDW).  The EDW can be used for ad hoc query analysis as well, but its main purpose is to populate our OLAP multidimensional data marts.</p>
<p>6)      OLAP data marts have all the dimensional structures, KPIs, and metrics defined so users can simply browse our cube via Excel or web reports, easily navigate our user friendly BI universe, or create their own reports based on a single version of truth.  They are aggregation aware, and can automatically direct users’ traffic on most used reports to our aggregation cache providing them with sub second query response time.</p>
<p>7)      The Zoosk analytical platform enables our users to gain insights from the data via different complimentary vehicles.  Power users can perform ad hoc analysis directly from Hive or SQL EDW.  Further, power users can connect to the OLAP cube directly via toolsets such as MS Excel and perform data pivot analysis.    Advance visualization techniques, such as charts, gauges, sparklines, in-cell data bars and conditional formatting, can be employed to provide executive dashboard reporting.   Standard template reports are also available online and in mobile platform for 24/7 anywhere data availability.<br />
Below is a few interesting statistics of our analytics platform:</p>
<p><b>8</b> OLAP cubes</p>
<p><b>20+</b> Fact tables</p>
<p><b>90</b> conformed dimensions in the main cube alone</p>
<p><b>150+</b> cube dimensions</p>
<p><b>450+</b> measures across the measure groups in the main cube alone</p>
<p><b>3.6 billion </b>session logs processed a year</p>
<p><b>10 billion</b> tracked interactions tracked a year</p>
<p><b>80 <b>billion</b></b> web traffic count tracked a year</p>
<p><b>130 <b>billion</b></b> rows of data ingest to Hadoop a year</p>
<p><b>40 Terabytes</b> of data ingest to Hadoop a year</p>
<p>By combining traditional DW / BI architecture with newer technologies such as Hadoop / Hive, we are able to provide:</p>
<ol>
<li>Highly scalable infrastructure that easily handles unstructured data, as well as scale to large amounts of data typical to websites</li>
<li>Structured, time proven, enterprise-wide information repository consolidating all incoming data and provide a single version of truth to all of our users.</li>
<li>Conformed analytic platform which enable cross analysis to be performed across various different fact metrics via conformed dimensions.</li>
<li>User friendly analytical platform which allow browsing and creation of custom reports without deep technical knowledge</li>
<li>Performance optimized analytical platform where OLAP / Usage based aggregations help provide sub-second query response time for standard queries / reports</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zooskdev.wordpress.com/841/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zooskdev.wordpress.com/841/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=841&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zooskdev.wordpress.com/2012/10/19/marriage-of-hadoop-and-olap-best-of-both-worlds-to-make-sense-of-200-terabytes-of-data/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/fcb281bef2b45224b5ae427f97c38fe6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinlzoosk</media:title>
		</media:content>

		<media:content url="http://zooskdev.files.wordpress.com/2012/10/analytics-architecture1.jpg" medium="image">
			<media:title type="html">Zoosk Analytics Architecture</media:title>
		</media:content>
	</item>
		<item>
		<title>Agile Development Practices at Zoosk</title>
		<link>http://zooskdev.wordpress.com/2012/09/24/agile-development-practices-at-zoosk/</link>
		<comments>http://zooskdev.wordpress.com/2012/09/24/agile-development-practices-at-zoosk/#comments</comments>
		<pubDate>Mon, 24 Sep 2012 05:34:17 +0000</pubDate>
		<dc:creator>Peter Offringa</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zooskdev.wordpress.com/?p=832</guid>
		<description><![CDATA[We use the agile development approach pretty extensively at Zoosk.  We aren&#8217;t committed to a specific flavor of agile, whether XP, Scrum, or any of the other variants.  For us, agile just reflects a set of values and behaviors that we try to follow as we build great software products.  Each product development organization is [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=832&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>We use the agile development approach pretty extensively at Zoosk.  We aren&#8217;t committed to a specific flavor of agile, whether XP, Scrum, or any of the other variants.  For us, agile just reflects a set of values and behaviors that we try to follow as we build great software products.  Each product development organization is different and agile doctrine has to be adapted to the nuances of each team&#8217;s culture.  I shared some of the practices that we use at Zoosk in an article on DevX:  <a href="http://www.devx.com/enterprise/7-agile-software-development-tips-to-build-exceptional-products.html">7 Agile Software Development Tips to Build Exceptional Products</a>.  Check it out and feel free to share comments based on your team&#8217;s experience.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zooskdev.wordpress.com/832/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zooskdev.wordpress.com/832/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=832&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zooskdev.wordpress.com/2012/09/24/agile-development-practices-at-zoosk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0307c794fa34b9f5e1b93658ecb77d9e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peteroffringa</media:title>
		</media:content>
	</item>
		<item>
		<title>Article in High Scalability about our Real Time Communications Infrastructure</title>
		<link>http://zooskdev.wordpress.com/2012/08/27/article-in-high-scalability-about-our-real-time-communications-infrastructure/</link>
		<comments>http://zooskdev.wordpress.com/2012/08/27/article-in-high-scalability-about-our-real-time-communications-infrastructure/#comments</comments>
		<pubDate>Mon, 27 Aug 2012 19:40:57 +0000</pubDate>
		<dc:creator>Peter Offringa</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://zooskdev.wordpress.com/?p=826</guid>
		<description><![CDATA[High Scalability published an article today about our Real Time Communications infrastructure.  The article provides a detailed explanation of the XMPP based systems at Zoosk which allow millions of our members to communicate with one another in real-time.  Types of communications include presence tracking, user event notifications and messaging.  This system has been built up [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=826&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>High Scalability published an article today about our Real Time Communications infrastructure.  The article provides a detailed explanation of the XMPP based systems at Zoosk which allow millions of our members to communicate with one another in real-time.  Types of communications include presence tracking, user event notifications and messaging.  This system has been built up over the past two years and now connects all our client applications &#8211; web, mobile and desktop.</p>
<p>Check out the article here:  <a href="http://highscalability.com/blog/2012/8/27/zoosk-the-engineering-behind-real-time-communications.html">Zoosk &#8211; The Engineering Behind Real Time Communications</a>.  Look for more articles in the future about our evolving use of XMPP based technologies.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zooskdev.wordpress.com/826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zooskdev.wordpress.com/826/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=826&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zooskdev.wordpress.com/2012/08/27/article-in-high-scalability-about-our-real-time-communications-infrastructure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0307c794fa34b9f5e1b93658ecb77d9e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peteroffringa</media:title>
		</media:content>
	</item>
		<item>
		<title>Women&#8217;s Javascript Study Group, sponsored by Zoosk</title>
		<link>http://zooskdev.wordpress.com/2012/08/08/womens-javascript-study-group-sponsored-by-zoosk/</link>
		<comments>http://zooskdev.wordpress.com/2012/08/08/womens-javascript-study-group-sponsored-by-zoosk/#comments</comments>
		<pubDate>Wed, 08 Aug 2012 20:22:40 +0000</pubDate>
		<dc:creator>Beth Budwig</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[women-in-tech]]></category>

		<guid isPermaLink="false">http://zooskdev.wordpress.com/?p=818</guid>
		<description><![CDATA[There are lots and lots of women who code; but in any given room at any company, there are usually only a few of us&#8230;. So it&#8217;s nice to get together sometimes! Zoosk is sponsoring a Women&#8217;s Javascript Study Group run by two of us on the Zoosk UI Dev team (me &#38; Kristin). It [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=818&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>There are lots and lots of women who code; but in any given room at any company, there are usually only a few of us&#8230;. So it&#8217;s nice to get together sometimes! Zoosk is sponsoring a <a href="http://womens-javascript-study-group.eventbrite.com/">Women&#8217;s Javascript Study Group</a> run by two of us on the Zoosk UI Dev team (me &amp; <a href="http://zooskdev.wordpress.com/author/kristinlbradley/">Kristin</a>). It will give us all a chance to improve our JS skills (we specialize in HTML &amp; CSS), and allow us to encourage women who are just getting started.</p>
<p>Our general format is that we&#8217;ll all eat dinner together (thanks, Zoosk!), and then one woman will give a casual 15-minute presentation on some front-end tip or trick, could be Javascript, HTML, or CSS. Afterwards, we&#8217;ll spend a couple hours on JS tutorials. We&#8217;re currently using <a href="http://www.codecademy.com/">Code Academy</a>, but might try other sites, too. When one person gets stuck, we can pitch in to help, or if someone has a side project they need any front-end help with, we can do that too.</p>
<p>I&#8217;m proud to work at a company that not only values employee training, but also community outreach and support of women in technology.  So&#8230; if you or anyone you know is a woman who&#8217;d like to learn Javascript or improve her skills, <a href="http://womens-javascript-study-group.eventbrite.com/">come join us</a> tonight or any other Wednesday evening!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/zooskdev.wordpress.com/818/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/zooskdev.wordpress.com/818/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=zooskdev.wordpress.com&#038;blog=18991287&#038;post=818&#038;subd=zooskdev&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://zooskdev.wordpress.com/2012/08/08/womens-javascript-study-group-sponsored-by-zoosk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2997fc07894bb67209024c4e2966ac2c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bethzoosk</media:title>
		</media:content>
	</item>
	</channel>
</rss>
