<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description></description><title>The Rig</title><generator>Tumblr (3.0; @the-rig)</generator><link>http://the-rig.refinery29.com/</link><item><title>#companymeeting #bloodymaries …mimosas not pictured</title><description>&lt;img src="http://24.media.tumblr.com/8f5a56bc866be586abb8b84b0e6a2c6b/tumblr_mjctmoPCg11qh39dao1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;#companymeeting #bloodymaries …mimosas not pictured&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/44871469540</link><guid>http://the-rig.refinery29.com/post/44871469540</guid><pubDate>Fri, 08 Mar 2013 13:20:48 -0500</pubDate><dc:creator>zooeytrope</dc:creator></item><item><title>#sprintplanning</title><description>&lt;img src="http://25.media.tumblr.com/76cd0249f1493758c18a21eca2589e47/tumblr_mjb60o5uVb1qh39dao1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;#sprintplanning&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/44803780153</link><guid>http://the-rig.refinery29.com/post/44803780153</guid><pubDate>Thu, 07 Mar 2013 15:53:12 -0500</pubDate><dc:creator>zooeytrope</dc:creator></item><item><title>Poodle the programmer pup!</title><description>&lt;img src="http://25.media.tumblr.com/3c0427b1810e203da27aaa98e652a267/tumblr_mjaw2sn1QM1qh39dao1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Poodle the programmer pup!&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/44791248614</link><guid>http://the-rig.refinery29.com/post/44791248614</guid><pubDate>Thu, 07 Mar 2013 12:18:28 -0500</pubDate><dc:creator>zooeytrope</dc:creator></item><item><title>Hackathon: The Wrap Up</title><description>&lt;p&gt;&lt;img align="top" alt="CTR Wireframes" src="http://static3.refinery29.com/bin/public/63a/x/543691/image.jpg" width="400"/&gt;&lt;/p&gt;
&lt;p&gt;Even after working a full week back in the office, I think most of us are still struggling to get off island time. We&amp;#8217;re sitting at our desks day-dreaming of Mai Tai&amp;#8217;s, white sand, that time we almost fell off a cliff driving the truck, and late-night beach adventures. The view of the Standard Hotel from our office&amp;#8217;s conference room just isn&amp;#8217;t the same as the sweeping overlook of St. Thomas and Elephant Bay from our pool-side table.&lt;/p&gt;
&lt;p&gt;Though clearly being on a remote island has its benefits, the real prizes were the prototypes we managed to build. Our red-bull fueled benders of staying up until 4am coding felt like cramming for finals, and instead of one massive scantron test we had a demo day with our founders Philippe and Justin.&lt;/p&gt;
&lt;p&gt;When Philippe said, &amp;#8220;This feels like Christmas morning,&amp;#8221; I think we all let out a sigh of relief and congratulated ourselves on a job well done. Here&amp;#8217;s what we came up with:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;A first-of-its-kind, interactive hub that allows R29 readers to feel like they&amp;#8217;re right there with our editors at big events like New York Fashion Week. It includes a real-time social feed and the ability to experience galleries, videos and articles inline right on the page.&lt;/li&gt;
&lt;li&gt;A new mobile-web solution, including a major rethink of how to deliver slideshows for the small screen.&lt;/li&gt;
&lt;li&gt;The first re-imagining of the R29 home page that considers social, time and local geolocation as factors in content delivery.&lt;/li&gt;
&lt;li&gt;Functionality that can make any image instantly shoppable, tagged with videos like make-up tutorials, or whatever fun use we can imagine in the future.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Now post-island we&amp;#8217;re going to be refining these prototypes and pushing them live. But in the end we think these tangible creations are really just evidence of what really happened on Water Island: we learned how to be a cohesive team. Refinery29 has grown so fast over the past 6 months (still growing!) that there have been some growing pains on the product side. Now we&amp;#8217;ve bonded as a team and learned how to fuse both UX and development to work in tandem to create awesome tools and products that our users will love.&lt;/p&gt;
&lt;p&gt;Fourteen coworkers, one house, one island, and zero fights or controversies. That&amp;#8217;s kind of incredible.&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/29835074843</link><guid>http://the-rig.refinery29.com/post/29835074843</guid><pubDate>Mon, 20 Aug 2012 13:01:00 -0400</pubDate><dc:creator>siamesetoast</dc:creator></item><item><title>Photo</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m8m43nwb6B1qh39dao1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://the-rig.refinery29.com/post/29221437671</link><guid>http://the-rig.refinery29.com/post/29221437671</guid><pubDate>Sat, 11 Aug 2012 18:35:47 -0400</pubDate><dc:creator>siamesetoast</dc:creator></item><item><title>Demo day!</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m8i6b5z2cr1qh39dao1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Demo day!&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/29068729355</link><guid>http://the-rig.refinery29.com/post/29068729355</guid><pubDate>Thu, 09 Aug 2012 15:33:05 -0400</pubDate><dc:creator>siamesetoast</dc:creator></item><item><title>"Is this a hackathon or a red bull drinking contest?"</title><description>“Is this a hackathon or a red bull drinking contest?”</description><link>http://the-rig.refinery29.com/post/28991988677</link><guid>http://the-rig.refinery29.com/post/28991988677</guid><pubDate>Wed, 08 Aug 2012 14:08:25 -0400</pubDate><dc:creator>siamesetoast</dc:creator></item><item><title>Hackathon: The Day-to-day</title><description>&lt;p&gt;Our plans for a hackathon in the US Virgin Islands were mostly met with the following reactions:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;You&amp;#8217;re kidding, right? Can I get a job there? (Yes you can!)&lt;/li&gt;
&lt;li&gt;Are you working hard or hardly working?&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Now that we are here we&amp;#8217;ve fallen into a pretty great balance of the two extremes. Going into the hackathon we defined our teams, our overall goals, and created somewhat of a schedule for our work. Now that we&amp;#8217;re here some of these have changed to allow more support for bigger projects, goals that align with our editorial vision but also our technological curiosity, and a schedule that feels natural and unforced.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ve split our 14 product members into the growth and click-through-rate teams. We also have commerce and innovation teams, but they&amp;#8217;re going to focus on fleshing out our next big moves in social commerce rather than focusing on building a product during this week. Our growth team is redesigning some of our core products: responsive mobile site, slideshow design and implementation, and homepage design. The CRT team is divided into two tracks: one developing a fashion week hub, and another flexible image tagging for showcasing products within article elements. Our goals are to expand user discoverability, grow the tool kit our editors can utilize, and enhance the performance of our applications.&lt;/p&gt;
&lt;p&gt;As for our schedule, it&amp;#8217;s pretty much anything goes until 1pm when we all come together to program and design. Meetings happen by the pool deck, some program on the kitchen island, others on couches, and all day yesterday the CTR team took over an entire living room, covered the walls with paper and wire-framed the fashion week hub. It&amp;#8217;s great not only having unlimited space to work and design, but also unlimited access to our best resources&amp;#8212;each other. We work well into the night, then relax with some light swimming or nighttime beach romping. And, of course, plenty of rum. Come on, we&amp;#8217;re in the Caribbean!&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/28949554330</link><guid>http://the-rig.refinery29.com/post/28949554330</guid><pubDate>Tue, 07 Aug 2012 21:41:42 -0400</pubDate><dc:creator>siamesetoast</dc:creator></item><item><title>Meet our newest developer!</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m8crt2pJ271qh39dao1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Meet our newest developer!&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/28859582587</link><guid>http://the-rig.refinery29.com/post/28859582587</guid><pubDate>Mon, 06 Aug 2012 17:31:50 -0400</pubDate><dc:creator>zooeytrope</dc:creator></item><item><title>Hackathon Day 1</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m897hd6K9k1qh39dao1_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/tumblr_m897hd6K9k1qh39dao2_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/tumblr_m897hd6K9k1qh39dao4_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://25.media.tumblr.com/tumblr_m897hd6K9k1qh39dao3_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://25.media.tumblr.com/tumblr_m897hd6K9k1qh39dao5_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;p&gt;Hackathon Day 1&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/28726267971</link><guid>http://the-rig.refinery29.com/post/28726267971</guid><pubDate>Sat, 04 Aug 2012 19:22:37 -0400</pubDate><dc:creator>siamesetoast</dc:creator></item><item><title>How to prepare your team for a Hackathon</title><description>&lt;p&gt;The days leading up to the hackathon you will be floating between waves of sheer joy that you were somehow able to get this green lighted by your company, and waves of utter anxiety trying to prepare yourself and your team for remote working.&lt;/p&gt;
&lt;p&gt;After getting the location, bathing suits, and lists of local bars and restaurants, you&amp;#8217;ll need to figure out some other minor details. Like Internet access. Enough computers with working connections to your code base. Local copies of all code and reference databases. Essential programs. Sign-off on all those lovely product ideas you were planning on building.&lt;/p&gt;
&lt;p&gt;The latter ended up being the most time consuming for us. Refinery29 has a strong editorial voice and direction, one we want to support and develop with our technological feats. It&amp;#8217;s all well and good to come up with some sort of responsive, live stream feed, but where will it live? How does it fit? What is the user story&amp;#8212;how will a reader want to use this tool and what makes the most sense for them, not our own egos? These questions surrounded each product idea we had among our teams, and were met by a tide of answers that seemed to change the questions themselves as it moved through them.&lt;/p&gt;
&lt;p&gt;Clearly, you&amp;#8217;re going to want to give yourself some time to prepare for your hackathon, in light of all of the above. We did most of the discussions in a week, and the laptop configuration less than 24 hours before our flight. Why? Because work got in the way. While preparing for the trip we still had bugs to squash, features to release, sold products to design and construct. We were so busy with our day to day that we couldn&amp;#8217;t give ourselves the right time to think outside of it.&lt;/p&gt;
&lt;p&gt;Which, in essence, is why we are doing this hackathon and why it&amp;#8217;s so important to do this experiment. We are taking ourselves completely out of these daily tasks and responsibilities so we can sit in this bubble of innovation and creativity. We&amp;#8217;re building for the love of building. We&amp;#8217;ve been given this great opportunity to become a technology thinktank. It&amp;#8217;s a daunting challenge, but one we&amp;#8217;re all excited for. And come on, wouldn&amp;#8217;t you code your heart out if your company sent you here:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Water Island" height="400" src="http://static1.refinery29.com/bin/public/2e2/x/479218/image.jpg" width="400"/&gt;&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/28724731520</link><guid>http://the-rig.refinery29.com/post/28724731520</guid><pubDate>Sat, 04 Aug 2012 18:55:44 -0400</pubDate><dc:creator>siamesetoast</dc:creator></item><item><title>They're where?!</title><description>&lt;p&gt;Yes, it&amp;#8217;s true. Refinery29 sent its entire product team to &lt;a href="http://en.wikipedia.org/wiki/Water_Island,_U.S._Virgin_Islands"&gt;Water Island&lt;/a&gt;, a small island just off of St. Thomas in the US Virgin Islands. We&amp;#8217;re doing a Hackathon! For 10 days we will be living and breathing innovative new web design and development. The goal is to physically and mentally isolate ourselves from the day-to-day needs of a thriving start-up so we can tackle some big projects that we&amp;#8217;ve been dreaming about for a while now. More on those later.&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/28723331094</link><guid>http://the-rig.refinery29.com/post/28723331094</guid><pubDate>Sat, 04 Aug 2012 18:30:10 -0400</pubDate><dc:creator>siamesetoast</dc:creator></item><item><title>And the Refinery29 product team has officially arrived in St....</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m87e2jZB9a1qh39dao1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;And the Refinery29 product team has officially arrived in St. Thomas! Follow our hashtags #r29usvi and #r29hacks on twitter for all access updates on our tropical destination hack-a- thon!&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/28660510060</link><guid>http://the-rig.refinery29.com/post/28660510060</guid><pubDate>Fri, 03 Aug 2012 19:47:07 -0400</pubDate><dc:creator>zooeytrope</dc:creator></item><item><title>Gotham JS: A Love Story</title><description>&lt;p&gt;&lt;span id="internal-source-marker_0.4394646367345053"&gt;A tech event in New York City is probably one of the few occupational gatherings where every conversation ends with, “So, when do you want to come in and interview with us?” GothamJS, a conference featuring a series of speakers presenting on all things javascript, was a prime example. Our full tech team (including our awesome developer in Houston) trekked up to NYIT Auditorium near Columbus Circle earlier this month to attend, armed with stacks of business cards. (Did I mention we’re hiring?)&lt;/span&gt;&lt;br/&gt;&lt;span&gt;&lt;/span&gt;&lt;br/&gt;&lt;span&gt;We each took away something different from the presenters, depending on our particular interests. Of course the star of the show was none other than Douglas Crockford, the primero presenter of nine. He gave a presentation full of superlatives&amp;#8212;Javascript is the best! the worst! the best!&amp;#8212; which is pretty apt for how people treat the language. The &lt;a href="http://blog.alexanderseville.com/post/27233738142/gothamjs-slides"&gt;rest of the presentations&lt;/a&gt; were equally engaging and interesting, discussing everything from javascript on the server and as a structure, to dropping flash for JS and its love affair with modern browsers. Lea Verou really showed us a thing or two (let’s be honest&amp;#8212;a lot) about regular expressions and how to keep a post-lunch audience engaged. She quizzed us during her slideshow with regex problems, asking us to tweet our answers at her which she then displayed. Well done, Lea.&lt;/span&gt;&lt;br/&gt;&lt;span&gt;&lt;/span&gt;&lt;br/&gt;&lt;span&gt;The best part perhaps was the GothamJS after-party, spearheaded by the gregarious R29 tech team. We bounced from an extravagant roof-top bar, to Katz’s deli, to a dance club in the Lower East Side. We&amp;#8217;re definitely looking forward to next year&amp;#8217;s conference.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Patty Delgado&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/28083216913</link><guid>http://the-rig.refinery29.com/post/28083216913</guid><pubDate>Thu, 26 Jul 2012 18:36:00 -0400</pubDate><dc:creator>siamesetoast</dc:creator></item><item><title>Only eat stupid sauce after you leave the office! (R29 Tech does...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m6ze34RuqF1qh39dao1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Only eat stupid sauce after you leave the office! (R29 Tech does San Loco East Village)&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/26961284931</link><guid>http://the-rig.refinery29.com/post/26961284931</guid><pubDate>Wed, 11 Jul 2012 01:33:04 -0400</pubDate><category>technology</category><category>programmers</category><category>mexican food</category><category>tacos</category><category>margaritas</category><dc:creator>zooeytrope</dc:creator></item><item><title>Every week we have a review of the work we did the previous...</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m5ocsu2ZmM1qh39dao1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Every week we have a review of the work we did the previous week. Today, that review was conducted whilst enjoying Pimm’s and Lemonade. It’s just how we do.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://the-rig.refinery29.com/jobs"&gt;If you’d like some Pimm’s, we’re hiring!&lt;/a&gt;&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/25175742392</link><guid>http://the-rig.refinery29.com/post/25175742392</guid><pubDate>Fri, 15 Jun 2012 15:58:06 -0400</pubDate><dc:creator>jakemcgraw</dc:creator></item><item><title>Making Startups Work: Getting Creative when you are on a Deadline</title><description>&lt;a href="http://www.eventbrite.com/event/2802908575"&gt;&lt;img src="http://static1.refinery29.com/bin/public/f4a/540x/205794/image.png"/&gt;&lt;/a&gt;

&lt;p&gt;We&amp;#8217;re hosting the 4th installment of Refinery29&amp;#8217;s event series &amp;#8220;Making Startups Work&amp;#8221;.  At Refinery29 we feel strongly that engineering, UX, product need to act like a team to be a success, so this time we focus on UX.

&lt;/p&gt;&lt;p&gt;Come by our offices at 7pm on Tuesday, May 1st to hear some amazing talks as well as meet the Refinery29 team.

&lt;/p&gt;&lt;h4&gt;Details&lt;/h4&gt;

&lt;a href="http://www.eventbrite.com/event/2802908575"&gt;Making Startups Work: Getting Creative when you are on a Deadline&lt;/a&gt; 

&lt;p&gt;Work at a tech startup? Working for a startup is usually scrappy, often times you are working on multiple projects simultaneously and when you are handed another one, how do you make sure you are building a product that stands-out? How do you get innovative when the clock is ticking? There isn&amp;#8217;t a step-by-step guide for inspiration but would love to find out how others tackle this and share insights.

&lt;/p&gt;&lt;p&gt;Hear five leading interaction/product/ux designers speak about some of the coolest NYC-area startups and how they approach creativity under the clock. Is it process? Is it inspirational libraries? Is it crowdsourcing? If you&amp;#8217;re curious about what they do, come by the Refinery29 offices May 1st to hear what&amp;#8217;s going on in some of the most interesting startups.

&lt;/p&gt;&lt;h4&gt;PRESENTATIONS BY&lt;/h4&gt;
&lt;ul&gt;&lt;li&gt;Fjord - KC Oh
&lt;/li&gt;&lt;li&gt;Kickstarter - Jessica Harllee
&lt;/li&gt;&lt;li&gt;Svpply &amp;amp; NYPD - Allan Yu
&lt;/li&gt;&lt;li&gt;Warby Parker - Stephanie Wu
&lt;/li&gt;&lt;li&gt;Refinery29 - Valli Ravindran
&lt;/li&gt;&lt;/ul&gt;</description><link>http://the-rig.refinery29.com/post/21722804885</link><guid>http://the-rig.refinery29.com/post/21722804885</guid><pubDate>Tue, 24 Apr 2012 13:44:00 -0400</pubDate><dc:creator>jorge-lo</dc:creator></item><item><title>How we work?</title><description>&lt;meta property="og:image" content="http://media.tumblr.com/tumblr_lk0q86OYvs1qzz1dt.png"&gt;&lt;img src="http://media.tumblr.com/tumblr_lk0tzxkwHo1qzz1dt.jpg"/&gt;&lt;center&gt; 
 &lt;i&gt;Photo from our recent &lt;a href="http://www.businessinsider.com/refinery-29-office-tour-2011-4"&gt;Business Insider piece&lt;/a&gt;&lt;/i&gt; 
&lt;/center&gt; 
 
&lt;p&gt;We&amp;#8217;re &lt;a href="http://www.refinery29.com"&gt;Refinery29&lt;/a&gt; a fashion content and commerce site, that as a nerd, you probably haven&amp;#8217;t heard of (you should be ashamed of yourself). That doesn&amp;#8217;t mean we&amp;#8217;re not nerdy either. As we&amp;#8217;re in the process of &lt;a href="http://the-rig.refinery29.com/post/3983310073/were-hiring-a-developer"&gt;hiring more developers&lt;/a&gt;, and this means talking about how we work more often than I normally do. Since I have it fresh in my mind, I figured others may find it interesting to learn what kind of tools we use as well as what we do on a regular basis.

&lt;/p&gt;&lt;div class="message"&gt;Do you code? Think you&amp;#8217;d like working in this environment? Look no further, &lt;a href="http://the-rig.refinery29.com/post/3983310073/were-hiring-a-developer"&gt;we&amp;#8217;re hiring!&lt;/a&gt;&lt;/div&gt;
 
&lt;h2&gt;Development&lt;/h2&gt; 
 
&lt;p&gt;Working at R29 means working on a brand new platform, everything is new, nothing legacy to deal with. We have tight release schedules, while at the same time our traffic doubles every couple of months. The development team is very product focused (we don&amp;#8217;t have a product team, we&amp;#8217;re it), so we both design and implement most everything on the sites.
 
&lt;/p&gt;&lt;p&gt;Each developer has their own VM with running the complete application stack. We use &lt;a href="http://www.pivotaltracker.com/"&gt;Pivotal Tracker&lt;/a&gt; to keep track of tasks/iterations and Git as our code repository. Code deployment is completely automated and can be done in a single command.
 
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.php.net"&gt;PHP&lt;/a&gt; (5.3) - Combined with &lt;a href="http://kohanaframework.org/"&gt;Kohana&lt;/a&gt;, an ORM and &lt;a href="http://dwoo.org/"&gt;Dwoo&lt;/a&gt; makes a great application platform.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt; - All InnoDB, it&amp;#8217;s fast, not much else to say about this.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mongodb.org/"&gt;MongoDB&lt;/a&gt; - Our real time stats system is based on Mongo, we push about 400 inserts/updates a second with no problem.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://redis.io/"&gt;Redis&lt;/a&gt; - We use mainly for caching data sets that are called very often (like the category tree structure), but only for longer lasting data (sessions) and our Events system uses Redis&amp;#8217;s &lt;a href="http://redis.io/topics/pubsub"&gt;pub/sub features&lt;/a&gt; 
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://lucene.apache.org/solr/"&gt;Solr&lt;/a&gt; - The entire content site is essentially a bunch of Solr queries. No need to do a complex join on the front end to get the most recent posts.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://gearman.org/"&gt;Gearman&lt;/a&gt; - Worker queues take care of any process that does not need to be run in-process. We&amp;#8217;re actually moving to &lt;a href="http://kr.github.com/beanstalkd/"&gt;Beanstalkd&lt;/a&gt; soon though (because of the tubes and delays).
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://nodejs.org/"&gt;Node.js&lt;/a&gt; - Node.js allows us to create network/socket applications very easily, and best of all they can handle thousands of concurrent connections without batting an eye.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://git-scm.com"&gt;Git&lt;/a&gt; - Git, it keeps our code safe and keeps us happy with each other. (We use Gitosis to configure/manage our multiple code repos)
&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Systems/Administration&lt;/h2&gt; 
&lt;img src="http://media.tumblr.com/tumblr_lk0q86OYvs1qzz1dt.png"/&gt;&lt;center&gt; 
 &lt;i&gt;Simple diagram of our infrastructure&lt;/i&gt; 
&lt;/center&gt; 
 
&lt;p&gt;We run completely off virtual machines from &lt;a href="http://www.rackspace.com/cloud/"&gt;Rackspace Cloud&lt;/a&gt;. Using a combination of shell scripts with &lt;a href="http://incubator.apache.org/libcloud/"&gt;libcloud&lt;/a&gt; and &lt;a href="http://www.puppetlabs.com/"&gt;Puppet master&lt;/a&gt; we are able to automate rolling out of servers.
 
&lt;/p&gt;&lt;p&gt;Our server deployment process goes like this:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Creation&lt;/strong&gt; - A server is created and a script is run to register it with the Puppet Master server.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Software/Services&lt;/strong&gt; - According to the rules based on the node type, services are installed on the new server&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Registration&lt;/strong&gt; - A DNS record is created for this new machine and IP tables for servers who need to access (or be accessed by) this new server are updated.  It is registered to Nagios, Splunk, and Munin and is being monitored immediately.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Finalization&lt;/strong&gt; - The final step is a manual one, where we get an email then check the server real quick before putting it into production.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;This is all done with a script that start like this:&lt;/p&gt;
&lt;code&gt; 
# Example:&lt;br/&gt; 
# &lt;strong&gt;deploy-server [role][id].[network].refinery29.net [size]&lt;/strong&gt;&lt;br/&gt; 
# role - (solr|web|node|db|cache) &lt;br/&gt; 
# server id - [0-9]+&lt;br/&gt; 
# size - 1-7&lt;br/&gt;&lt;/code&gt; 
 
&lt;p&gt;We monitor/graph just about everything we can think of, using a combination of our custom real time statistics, Munin, Splunk, and Nagios. Our servers are all at Rackspace Cloud, this allows us to dynamically grow and shrink the number of VMs we have at any time (We&amp;#8217;re currently around 30, but it changes on a weekly basis). There are 4 networks split up by purpose: (dev, stage, prod, mgmt). This adds a little bit more security since the development network can&amp;#8217;t access production, but can access the mgmt (management (duh)) servers.
 
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.varnish-cache.org/"&gt;Varnish&lt;/a&gt; - Besides being a caching proxy, and a load balancer, 
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linux-ha.org/wiki/Main_Page"&gt;Linux HA&lt;/a&gt; - Services that need high availability have hot standby servers that take over when needed.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.puppetlabs.com/"&gt;Puppet Master&lt;/a&gt; - Allows us to control all our machines from a centralized location. Need to install a single package or add an iptables rule? Do it in one place and propagate it to all the machines. Puppet makes sysadmin administration fun
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gluster.org/"&gt;GlusterFS&lt;/a&gt; - Gluster allows us to have a redundant data store that is shared amongst several machines.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://munin-monitoring.org/"&gt;Munin&lt;/a&gt; - Cacti is nice and all, but Munin does the job with completely text file based configurations. We automatically graph services based on a node&amp;#8217;s role with Puppet.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nagios.org/"&gt;Nagios&lt;/a&gt; - It Tweets Nagios alerts to us, so we see them on our phones as well as in our emails. Also automatically configured with Puppet.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.splunk.com/"&gt;Splunk&lt;/a&gt; - The only non-open source software we use, but probably the best way to read dozens of server logs in one place.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://nginx.org/"&gt;NGINX&lt;/a&gt; - It may look like the shadiest HTTP server available, but it&amp;#8217;s fast, uses very little memory, and the configuration let&amp;#8217;s you do so much.
&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Services we use&lt;/h2&gt; 
 &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.limelightnetworks.com/"&gt;Limelight&lt;/a&gt; - Limelight CDN dramatically decreases the load on our firewall servers, and actually saves us money since the bandwidth/transfer cost from Rackspace Cloud is much greater than what we pay through Limelight.
 &lt;/li&gt;&lt;li&gt;&lt;a href="http://aws.amazon.com/route53/"&gt;Amazon Route 53&lt;/a&gt; - Quite possibly the fastest (to propagate), simplest, automate-able, and cheapest DNS solution. I&amp;#8217;m honestly not sure how they can charge so little and still have such good support.
&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Yep, that&amp;#8217;s it.&lt;/h2&gt;

&lt;p&gt;Any questions and comments (and resumes) are appreciated.  Comment below or email us at tech@refinery29.com.&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/4816729307</link><guid>http://the-rig.refinery29.com/post/4816729307</guid><pubDate>Thu, 21 Apr 2011 17:57:00 -0400</pubDate><dc:creator>jorge-lo</dc:creator></item><item><title>We're hiring a developer!</title><description>&lt;p&gt;Refinery29 is looking for a full time PHP developer to join our growing technology team.  We are a small team, we turn around projects quickly, and deploy daily. Some technologies we use on a daily basis at R29 are: Solr, Mongo, Redis, Node.js, jQuery, Sass, Puppet, and of course, PHP/MySQL/Nginx/Varnish. (LNVMP?).&lt;/p&gt; 
    
    &lt;p&gt;You would work in the technology team designing, implementing, and releasing new products on Refinery29.com. Our ideal candidate has:&lt;/p&gt; 
    &lt;ul&gt;&lt;li&gt;in depth knowledge of PHP.&lt;/li&gt; 
      &lt;li&gt;created a site from scratch.&lt;/li&gt; 
      &lt;li&gt;a good sense of product design.&lt;/li&gt; 
      &lt;li&gt;a passion for small/dynamic teams with incredibly fast turn around times.&lt;/li&gt; 
      &lt;li&gt;a strong hatred of embedding HTML in PHP.&lt;/li&gt; 
      &lt;li&gt;the ability to work independently, with minimal supervision.&lt;/li&gt; 
      &lt;li&gt;a solid understanding of the command line.&lt;/li&gt; 
      &lt;li&gt;experience creating an API.&lt;/li&gt; 
      &lt;li&gt;a love for unit testing.&lt;/li&gt; 
    &lt;/ul&gt;&lt;p&gt;Location: Tribeca, New York&lt;/p&gt; 
    &lt;p&gt;To apply send your resume to &lt;a href="mailto:tech@refinery29.com"&gt;tech@refinery29.com&lt;/a&gt; and make sure to include links to your recent work.&lt;/p&gt;</description><link>http://the-rig.refinery29.com/post/3983310073</link><guid>http://the-rig.refinery29.com/post/3983310073</guid><pubDate>Sun, 20 Mar 2011 12:20:13 -0400</pubDate><dc:creator>jorge-lo</dc:creator></item><item><title>The re-launch that (almost) no-one noticed.</title><description>&lt;p&gt;Last week Refinery29 went though something quite monumental; a complete rewrite/relaunch of the entire code base.  Yes, you read that right, the entire code base, not a single line was re-used.

&lt;/p&gt;&lt;p&gt;The switch was actually more than just code, we moved all our servers to the cloud, switched our DNS host, and even changed our CDN provider.  Pretty much one minute to the next, our entire infrastructure was different.

&lt;/p&gt;&lt;p&gt;From afar it may not seem to make sense to change everything at once.  Normally changing multiple factors/systems at once adds complexity, as well increases the potential of running into problems.  But in our case, we were given a once in a lifetime opportunity.  Since we were switching to a completely new platform, we were able to run the new and old platforms in parallel.  The final switch was as simple as a DNS record change.  While the DNS was propagating, we created a TCP tunnel from the old network to the new.  

&lt;/p&gt;&lt;p&gt;So yes, this meant, zero downtime&amp;#8230;at least for the switch.  For a user it would be possibly while browsing the site, to have one request hit the old platform the next go to the new without even realizing.

&lt;/p&gt;&lt;center&gt;
&lt;img src="http://media.tumblr.com/tumblr_lhilo2Zqvr1qzz1dt.jpg"/&gt;&lt;/center&gt;

&lt;p&gt;&amp;#8220;Why did we go through all this hassle?&amp;#8221; you may ask?  Let me explain: In total, project lasted 6 weeks starting with a 1 week sprint where we closed existing tickets so we could completely focus on the re-write.  The project was laid out with specific/quantifiable goals at the end of each week, so we were see our status at any time. 

&lt;/p&gt;&lt;p&gt;We managed to stay on schedule, even though we wandered a total of 3 days at a point, but were able to make it up by launch.  I admit it was rough, a tad stressful, and there were times we were out right delirious.  It was pretty much working for a solid 6 weeks, averaging 12 hour days.

&lt;/p&gt;&lt;p&gt;But being done with the platform is now just the beginning.  We now have a solid base to build future products on. It’s surprisingly easy for us to now add new features.  And you won’t have to wait long to see them, within in the next 2-3 weeks we’ll be rolling out some pretty amazing enhancements.  We did it because one of Refinery29&amp;#8217;s goals is to become more tech centric, and step one is to create something that developers (including us!) want to work on and expand.

&lt;/p&gt;&lt;h3&gt;Why didn’t you use Wordpress, Drupal, Movable Type, [insert newest rage]?&lt;/h3&gt;

&lt;p&gt;This was the most common question asked whenever I mentioned to anyone what we were doing, so I thought I would answer it for a final time.  Why did we write our own blog platform versus using an off the shelf solution?  The answer is clear once you spend some time pondering the question.  Using a pre-built product gives you limitations from the get-go.  You’re basing a core business product on something that from launch, you have to modify to fit your specific needs, and you have to integrate it with future systems that cannot be built on that same platform.  You’re limiting the future of your product in exchange for saving some initial effort.  We opted to invest the man (and woman) hours now to make it easier for us to create amazing products in the future.

&lt;/p&gt;&lt;center&gt;
&lt;img src="http://media.tumblr.com/tumblr_lhilnnVXXk1qzz1dt.jpg"/&gt;&lt;/center&gt;</description><link>http://the-rig.refinery29.com/post/3660889050</link><guid>http://the-rig.refinery29.com/post/3660889050</guid><pubDate>Sat, 05 Mar 2011 12:15:41 -0500</pubDate><dc:creator>jorge-lo</dc:creator></item></channel></rss>
