<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wildbit &#187; Beanstalk</title>
	<atom:link href="http://wildbit.com/blog/category/beanstalk/feed/" rel="self" type="application/rss+xml" />
	<link>http://wildbit.com/blog</link>
	<description>Thoughts on building web apps, businesses, and virtual teams</description>
	<lastBuildDate>Tue, 01 Jun 2010 17:34:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HTML5 on Beanstalk&#8217;s landing site</title>
		<link>http://wildbit.com/blog/2010/03/24/html5-on-beanstalks-landing-site/</link>
		<comments>http://wildbit.com/blog/2010/03/24/html5-on-beanstalks-landing-site/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 16:41:27 +0000</pubDate>
		<dc:creator>Eugene Fedorenko</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[HTML and CSS]]></category>

		<guid isPermaLink="false">http://wildbit.com/blog/?p=1054</guid>
		<description><![CDATA[I was excited and eager to try HTML5 in a real project for a long time, so when <a href="http://wildbit.com/blog/2010/03/16/beanstalk-landing-redesign/">Gilbert redesigned the Beanstalk landing site</a> I was fully armed for coding it. The web doesn&#8217;t need one more HTML5 overview, so this post will focus on 5 things I liked the most during the project.]]></description>
			<content:encoded><![CDATA[<p>I was excited and eager to try HTML5 in a real project for a long time, so when <a href="http://wildbit.com/blog/2010/03/16/beanstalk-landing-redesign/">Gilbert redesigned the Beanstalk landing site</a> I was fully armed for coding it. The web doesn&#8217;t need one more HTML5 overview, so this post will focus on 5 things I liked the most during the project.</p>
<p><span id="more-1054"></span></p>
<h3>1. Semantic tagline and subtitles</h3>
<p><code>&lt;hgroup&gt;<br />
	&lt;h1&gt;Beanstalk&lt;/h1&gt;<br />
	&lt;h2&gt;Version Control with a Human Face&lt;/h2&gt;<br />
&lt;/hgroup&gt;</code></p>
<p>The <kbd>hgroup</kbd> element saved me twice during this work&nbsp;&ndash; first for coding our logo and then for marking up subtitles on pages like <a href="http://beanstalkapp.com/partners">Partners</a> or <a href="http://beanstalkapp.com/security">Security</a>. It was a pleasure to ditch <kbd>&lt;p class="tagline"&gt;</kbd> and other mess like that.</p>
<h3>2. Using &lt;h1&gt; as section header</h3>
<p><code>&lt;section&gt;<br />
	&lt;h1&gt;Mom, look at this header!&lt;/h1&gt;<br />
&lt;/section&gt;</code></p>
<p>In HTML5 each section can have its own <kbd>&lt;h1&gt;</kbd> element, so it&#8217;s much easier to maintain the correct page outline.</p>
<h3>3. Better forms</h3>
<p><code>&lt;label for="fname"&gt;Full name&lt;/label&gt;<br />
&lt;input type="text" id="fname" placeholder="First"&gt;<br />
&lt;input type="text" id="lname" placeholder="Last"&gt;</code></p>
<p>The <kbd>Placeholder</kbd> attribute was a nice and painless way to add text placeholders without any JS.</p>
<p><code>&lt;input type="email"&gt;<br />
...<br />
&lt;input type="url"&gt;</code></p>
<p>On the signup and blog comments forms we used new input types&nbsp;&ndash; <kbd>email</kbd> and <kbd>url</kbd>. I especially love how they improve the user experience on the iPhone with customized keyboards.</p>
<p><code>&lt;input type="text" required="required"&gt;</code></p>
<p>Finally there is a way to semantically mark required fields!</p>
<h3>4. <kbd>figure</kbd> element in features tour</h3>
<p><code>&lt;figure&gt;<br />
	&lt;img src="../images/ss-repositories.png" alt="Beanstalk Repositories"&gt;<br />
&lt;/figure&gt;</code></p>
<p>This element may be used for much more than images, but I decided to use it in our <a href="http://beanstalkapp.com/features">feature tour</a>. Sadly, optional <kbd>&lt;figcaption&gt;</kbd> child element didn&#8217;t allow titles and paragraphs, so I wasn&#8217;t able to use it for captions. The <kbd>&lt;figure&gt;</kbd> element may not suit the feature tour 100%, but I believe that so far this is the most appropriate element in HTML5.</p>
<h3>5. Meaningful dates in blog</h3>
<p><code>&lt;time datetime="2010-03-18" pubdate="pubdate"&gt;Mar 18&lt;/time&gt;</code></p>
<p>This speaks for itself. A great way to add semantic meaning to dates.</p>
<h3>* * *</h3>
<p>Overall, this project went really well. I had only 3 minor issues:</p>
<ul>
<li>Wrapping several block elements (like <kbd>H1</kbd> and <kbd>H2</kbd>) in <kbd>A</kbd> element still doesn&#8217;t work well in most browsers.</li>
<li>Textmate incorrectly highlights HTML5 elements in CSS.</li>
<li>HTML5 elements code folding doesn&#8217;t work in Textmate, too.</li>
</ul>
<p>After spending couple of weeks with HTML5 it&#8217;s painful to get back to old XHTML 1.0 projects&nbsp;&ndash; I miss all these funky features!</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2010/03/24/html5-on-beanstalks-landing-site/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Beanstalk is moving to Rackspace</title>
		<link>http://wildbit.com/blog/2009/08/06/beanstalk-is-moving-to-rackspace/</link>
		<comments>http://wildbit.com/blog/2009/08/06/beanstalk-is-moving-to-rackspace/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 14:35:32 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>

		<guid isPermaLink="false">http://wildbit.com/blog/?p=670</guid>
		<description><![CDATA[We're migrating Beanstalk to a new environment at Rackspace. Read more about our decision process, the migration, and what you have to look forward to as a Beanstalk customer.]]></description>
			<content:encoded><![CDATA[<p>Growing a popular web product is hard work and a lot of fun. With Beanstalk we&#8217;ve attracted tons of attention, which means we constantly face server and performance issues. We&#8217;re designers and coders, so when it comes to managing servers its not the thing we enjoy most.</p>
<p>When we decided to partner with <a href="http://engineyard.com">Engine Yard</a>, I can say it was one of the best things that happened to Beanstalk. We let them take care of our infrastructure while we worked on strategy, design, usability, code, and improving the product overall. When it comes to Rails, no one does it better than <a href="http://engineyard.com">Engine Yard</a>. The problem is, Beanstalk is a lot more than just a Rails app, we&#8217;re a hosting service on our own. As we&#8217;ve grown, our need for a unique hosting environment became more apparent.</p>
<h3>Making the decision</h3>
<p>I have to admit, it was really freaking hard to move away from <a href="http://engineyard.com">Engine Yard</a>. They literally take care of everything and their support team is awesome (and a cool group of people). At the same time, we needed more control and a specific configuration for things like svn, storage, apache, virtualization, and so on. So, we decided to go with the leader, <a href="http://rackspace.com">Rackspace</a>. They are well known for their network, support, and are able to deliver the managed complex hosting environment that we needed.</p>
<h3>Getting help where it is needed</h3>
<p>Like I said, we know how to build web apps, but we are not server admins. Moving the amount of data and configurations we have to a new host is a scary process. To make it smoother, we reached out to the experts. For help with setting up our <a href="http://rackspace.com">Rackspace</a> environment, we contacted Tom Copeland at <a href="http://infoether.com">InfoEther</a>. He&#8217;s been a big part of the process for setting up our new environment, tuning our servers, and understanding our current bottlenecks. It&#8217;s obviously a big help that he already runs <a href="http://rubyforge.com">RubyForge</a>. When it comes to Subversion, we contacted Blair Zajac from <a href="http://orcaware.com">Orcaware</a>. Blair has provided some advice for us in the past. This time around, we had him review our Apache and Subversion setup to make sure we covered everything.</p>
<h3>Better performance and stability</h3>
<p>Beanstalk has had its share of performance problems in the past. The majority of these problems were due to our storage and IO performance. In our environment at Rackspace, we have invested heavily in the best hardware and storage options available. This should reduce most of the headaches when it comes to the speed of checkouts and commits in Subversion. I&#8217;m sure we&#8217;ll have some kinks to work out after the migration, but the new environment will benefit all of our customers (free and paid).</p>
<h3>The migration</h3>
<p>Planning the migration was tricky, but we&#8217;re confident we have it figured out. Over the next couple weeks we will be migrating groups of accounts over to the new Rackspace environment. We&#8217;ll have plenty of notices before it happens and we expect little downtime for each account. With the migration, we also have some really nice improvements like Subversion 1.6 support.</p>
<h3>Want to know more about our setup?</h3>
<p>This has been a really detailed and exhausting process, so I&#8217;d like to share more about the actual server architecture in a future post. Once we get through the migration process, I will post some more details about the new environment. We&#8217;re really excited about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/08/06/beanstalk-is-moving-to-rackspace/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>New Code Viewer in Beanstalk</title>
		<link>http://wildbit.com/blog/2009/07/01/new-code-viewer-in-beanstalk/</link>
		<comments>http://wildbit.com/blog/2009/07/01/new-code-viewer-in-beanstalk/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 14:29:42 +0000</pubDate>
		<dc:creator>Ilya Sabanin</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://wildbit.com/blog/?p=534</guid>
		<description><![CDATA[I'm extremely pleased to announce a new feature in Beanstalk in addition to Search that we launched last week (yes, we don't sleep at Wildbit). Today we're launching the new Code Viewer with support for more than 80 (eighty!) language syntaxes and a new improved look. Read on for the juicy details...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m extremely pleased to announce a new feature in Beanstalk, in addition to <a title="Wildbit Blog: Introducing Search in Beanstalk" href="http://wildbit.com/blog/2009/06/22/introducing-search-in-beanstalk/">Search</a>, that we launched last week (yes, we don&#8217;t sleep at Wildbit). Today we&#8217;re launching the new Code Viewer with support for more than 80 (eighty!) language syntaxes and a new improved look. Read on for the juicy details&#8230;</p>
<p><span id="more-534"></span></p>
<p><img src="http://wildbit.com/uploads/2009/06/code-viewer.jpg" alt="Code Viewer Screenshot" width="400" height="250" /></p>
<p>I&#8217;m not kidding about eighty languages here, you can see a full list at the <a title="Pygments — Python Syntax Highlighter" href="http://pygments.org/languages">Pygments web-site</a>. It includes stuff like a full family of C languages, Ruby, Python, Java, Scala, Haskell, Scheme, JavaScript, Io, Matlab, Erlang, HTML and many many more.</p>
<p>It also has lovely bits like &#8220;.html.erb&#8221;, that our fellow Rails-developers use every day in their projects, and will have both HTML and ERB highlighted properly. And much anticipated support for CSS for all the designers out there.</p>
<p>We also updated the diff viewer so that it will now display line numbers correctly for file comparisons.</p>
<p>So, jump into your Beanstalk account (or <a title="Beanstalk — Version Control with a Human Face" href="http://beanstalkapp.com">grab one for free</a>) and check how nifty your code looks with the new Code Viewer. But please keep in mind that as with any other new cool feature there may be some raw edges, such as problems with various character encodings out there. Don&#8217;t hesitate to <a title="Welcome - Beanstalk Support" href="http://help.beanstalkapp.com">contact us</a> and provide feedback that will help us make the Code Viewer even better.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/07/01/new-code-viewer-in-beanstalk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introducing Search in Beanstalk</title>
		<link>http://wildbit.com/blog/2009/06/22/introducing-search-in-beanstalk/</link>
		<comments>http://wildbit.com/blog/2009/06/22/introducing-search-in-beanstalk/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 16:48:49 +0000</pubDate>
		<dc:creator>Ilya Sabanin</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://wildbit.com/blog/?p=429</guid>
		<description><![CDATA[We've been working on a new search functionality in Beanstalk for a while and today I'm super excited to introduce it to you! Initially we thought about something simple for the first iteration, but I managed to make a full-featured indexed search of commits, scoped by repository or specific user. And there are a few tricks for power users also! Let me show you.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been working on a new search functionality in Beanstalk for a while and today I&#8217;m super excited to introduce it to you! Initially we thought about something simple for the first iteration, but I managed to make a full-featured indexed search of commits, scoped by repository or specific user. And there are a few tricks for power users also! Let me show you.</p>
<p><span id="more-429"></span></p>
<h3>Overview</h3>
<p>When you log in to your account you will notice a new search field at the top right corner of the interface. It will always be there across all pages. If you are on the Dashboard, it will search for commits across all repositories. If you are in repository Activity page or Browser, or any other repository-related page, it will search only in that repository. When you enter something in that field you will be redirected to a Search Results page with a list of all revisions found for your search term.</p>
<p><img title="Beanstalk Search" src="http://wildbit.com/blog/wp-content/uploads/2009/06/bs-search.jpg" alt="Beanstalk Search" /></p>
<p>Right now Search is only capable of finding your commits, searching for files contents is coming later. You can use Search to find by commit message, name of file or directory changed in commit, author name and revision number. Search is using stemming so it will treat words like &#8220;fishing&#8221;, &#8220;fish&#8221; and &#8220;fisher&#8221; as the same word.</p>
<p>And the search is blazing fast, because it&#8217;s using an industry standard Sphinx search engine.</p>
<h3>Search Scopes</h3>
<p>Ok, let&#8217;s do some advanced searching now. On the Search Results page you noticed a few options to adjust your search: select boxes for repository and user. Use these to search for commits only in some repository or made by a specific user. If you leave the search field empty and select some user, you will get a list of all commits made by him (or her). Very useful to get information about a user&#8217;s activity.</p>
<h3>Tricks</h3>
<p>There are two special triggers that you can use in the search field to adjust your search results: +by and +rev. +by is the same as the users select box on the Search Results page but it allows you to find by users that are not registered in your Beanstalk accounts. You can use that trigger like that (without quotes): &#8220;updating CSS +by gilbert&#8221;. Or you can use it without search term to get the list of all commits made by user: &#8220;+by ilya&#8221;.</p>
<p>The +rev trigger is my favorite. Using it you can quickly jump to a specific revisions in your repository. Say you are on Activity page and you want to see a changeset for revision 400 of your repository. Just enter this in the search field and you will get what you want: &#8220;+rev 400&#8243; (again, without quotes). If you do that on the Dashboard you will  get a list of revision 400 changesets for all repositories in your account.</p>
<h3>How do you like it?</h3>
<p>This implementation of Search is just iteration number one so it&#8217;s probably not ideal and won&#8217;t suit all your needs, but as we move forward we will continue improving it according to your feedback. So we would like to hear from you! Let us know how search works for you and what interesting ideas do you have about making it even better.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/06/22/introducing-search-in-beanstalk/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>What happened to OpenID support in Beanstalk?</title>
		<link>http://wildbit.com/blog/2009/05/26/what-happened-to-openid-support-in-beanstalk/</link>
		<comments>http://wildbit.com/blog/2009/05/26/what-happened-to-openid-support-in-beanstalk/#comments</comments>
		<pubDate>Tue, 26 May 2009 14:37:55 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=363</guid>
		<description><![CDATA[You may be wondering why we removed OpenID support in Beanstalk. While we love OpenID, it just did not fit with Beanstalk's system. Since Subversion requires a user/pass (no OAuth love for svn yet), it makes OpenID less valuable.]]></description>
			<content:encoded><![CDATA[<p>You may be wondering why we removed OpenID support in Beanstalk. While we love OpenID, it just did not fit with Beanstalk&#8217;s system. Since Subversion requires a user/pass (no OAuth love for svn yet), it makes OpenID less valuable.</p>
<p><span id="more-363"></span></p>
<p>In addition to this, our OpenID support was never really complete. We lacked the proper verification and over time, it became a little difficult to maintain. This month we discussed internally whether we should finally improve OpenID implementation in Beanstalk. As we discussed the effort, we decided that it may be better to just remove it. This creates less maintenance for us and does not remove too much value for our customers since a user/pass is still required for SVN.</p>
<p>We&#8217;re hoping we can revisit this in the future as we improve integration options, especially if SVN gets OAuth support. </p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/05/26/what-happened-to-openid-support-in-beanstalk/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Recent Beanstalk outage explained</title>
		<link>http://wildbit.com/blog/2009/05/18/recent-beanstalk-outage-explained/</link>
		<comments>http://wildbit.com/blog/2009/05/18/recent-beanstalk-outage-explained/#comments</comments>
		<pubDate>Mon, 18 May 2009 17:01:44 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=362</guid>
		<description><![CDATA[Last Tuesday around 5pm EST Beanstalk experienced a pretty major outage. It reminded me of the days before we had <a href="http://engineyard.com">Engine Yard</a> around. While we do battle with performance issues and periodic slow downs, an outage like this is pretty rare. I want to explain what happened.]]></description>
			<content:encoded><![CDATA[<p>Last Tuesday around 5pm EST Beanstalk experienced a pretty major outage. It reminded me of the days before we had <a href="http://engineyard.com">Engine Yard</a> around. While we do battle with performance issues and periodic slow downs, an outage like this is pretty rare. I want to explain what happened.</p>
<p><span id="more-362"></span></p>
<p>At <a href="http://engineyard.com">Engine Yard</a>, we have a group of slices that manage SVN, Web Servers, and our backend processes for things like deployments, integration tools, and so on. All of these slices use a shared storage system called GFS. This allows us to scale to many slices while still having access to essential data.</p>
<h3>The issue</h3>
<p>When the outage occurred, one of our slices had a severe memory problem. We attempted to fix it with Engine Yard, but due to the nature of GFS we had to first make sure there we no data corruptions. This forced us to shut down the entire environment while we checked the disks. It&#8217;s basically a precaution to make sure we don&#8217;t reboot with data corruption.</p>
<p>Since we have so much data, the disk checks took a really long time, which resulted in a full environment outage. It was the best approach to make sure we safely brought the environment back, but obviously not ideal for those who needed access to their code. After the disk checks and reboot all was back to normal and the data was verified.</p>
<h3>Future avoidance</h3>
<p>When things like this happen, we always need to reflect and figure out ways to avoid them from happening again. In this situation, we need to make sure we have enough resources to handle severe spikes that might cause full environment problems. I am confident we added the necessary resources and can control it in the future.</p>
<h3>More updates coming</h3>
<p>We recently got back from <a href="http://railsconf.com">Railsconf</a>. I have to say that hanging out with <strong>Engine Yard</strong> was the most valuable part of being there. We had a great opportunity to sit down with the team and discuss better ways for us to scale Beanstalk. There are many options, so choosing the right path can be tricky. We feel like we came up with a good plan to not only scale the service, but also isolate our shards (nodes) to avoid system wide issues when things go wrong. As of now, many of you should have already noticed SVN speed improvements.</p>
<p>We have tons of cool features to work on, but our first priority is performance. It&#8217;s amazing how challenging and rewarding a successful web product can be at the same time. We&#8217;re excited about our growth and ready to take on the challenge to continue scaling the service.  Thanks for being patient and helping us grow.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/05/18/recent-beanstalk-outage-explained/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wildbit at RailsConf 09</title>
		<link>http://wildbit.com/blog/2009/05/13/wildbit-at-railsconf-09/</link>
		<comments>http://wildbit.com/blog/2009/05/13/wildbit-at-railsconf-09/#comments</comments>
		<pubDate>Wed, 13 May 2009 15:09:23 +0000</pubDate>
		<dc:creator>Ilya Sabanin</dc:creator>
				<category><![CDATA[About Us]]></category>
		<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[railsconf]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=361</guid>
		<description><![CDATA[I've worked with Rails for 5 years, but since I live in Siberia it's always pretty hard to find anyone like-minded in my area, except bears and php guys. So this year I wanted to attend to RailsConf badly, and luckily Chris said: sure, why not.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve worked with Rails for 5 years, but since I live in Siberia it&#8217;s always pretty hard to find anyone like-minded in my area, except bears and php guys. So this year I wanted to attend to RailsConf badly, and luckily Chris said: sure, why not.</p>
<p><span id="more-361"></span></p>
<p>So for me, RailsConf was all about people. Meeting Railsists and Rubyists as I am, sharing experiences, talking about our projects and just bragging about day-to-day shit. It was a very inspiring and interesting experience. RailsConf talks and tutorials were a good bonus to all this :)</p>
<p>I really enjoyed the talks by Obie Fernandez, DHH and Chris Wanstrath. Too bad I missed the talk about Smalltalk and Ruby by Robert Martin.</p>
<p>We also attended New Relic&#8217;s customers party. Free food and drinks, you can&#8217;t ignore something like that :) New Relic seriously rocks.</p>
<p>Probably the most useful thing we did at RailsConf is talk to the Engine Yard guys. We solved many many problems from our current Beanstalk setup. Hopefully this will make our scaling pain go away soon and make Beanstalk faster. We are working really hard on this one.</p>
<p>And of course, Vegas itself is a super-crazy place to visit! Probably the craziest city in the world. Super amazing shows, lot&#8217;s and lot&#8217;s of fun and beautiful stuff to see.</p>
<p>We also visited NYC and Philadelphia during the trip. It was also very interesting. I liked Philadelphia very much. Calm and beautiful place to live. I plan to move there for a couple of months to try living the US way.</p>
<p>So, RailsConf 09 was a blast, I really enjoyed it and will definitely attend next year. I hope we will make some small Beanstalk users meet-up also :)</p>
<p>Don&#8217;t forget to check out <a href="http://www.flickr.com/photos/ilya_sabanin/sets/72157617759583132/">some photos</a> that I took at the conference.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/05/13/wildbit-at-railsconf-09/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TeamSupport Integration with Beanstalk</title>
		<link>http://wildbit.com/blog/2009/05/11/teamsupport-integration-with-beanstalk/</link>
		<comments>http://wildbit.com/blog/2009/05/11/teamsupport-integration-with-beanstalk/#comments</comments>
		<pubDate>Mon, 11 May 2009 15:16:49 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=359</guid>
		<description><![CDATA[Recently one of our customers, <a href="http:/www.TeamSupport.com">TeamSupport</a>, contacted us about integrating their product with Beanstalk.  We decided that our new WebHook integration would be a great place to start, and a few weeks later they came back with a fully functioning integration.]]></description>
			<content:encoded><![CDATA[<p>Recently one of our customers, <a href="http://www.TeamSupport.com">TeamSupport</a>, contacted us about integrating their product with <a href="http://beanstalkapp.com">Beanstalk</a>. We decided that our new WebHook integration would be a great place to start, and a few weeks later they came back with a fully functioning integration.</p>
<p><span id="more-359"></span></p>
<p><a href="http://www.TeamSupport.com">TeamSupport</a> is a SaaS application that integrates a Help Desk with a Bug Tracking system. They feel that most software companies struggle with internal communication since they have different applications for their customer service group and their development/QA teams. Having one tool that both groups can use will facilitate internal communication and also lead to better customer satisfaction.</p>
<p>Of course, the Beanstalk integration is of most interest to the developers and designers using TeamSupport, but it is nice that the customer service group can also see that a particular ticket is addressed by a revision in Beanstalk.</p>
<p>When a new version is committed into Beanstalk, we send out a WebHook configured for TeamSupport. TeamSupport receives this and scans the description field for “version” and “tickets” tags. They then match up the tickets that the new version addresses and they add a note to the ticket with information about the commit, including the link back to their repository on Beanstalk so they can review the actual code.</p>
<p>Hope you like it. Be sure to give us feedback and let us know what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/05/11/teamsupport-integration-with-beanstalk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Space Cookies on CNN</title>
		<link>http://wildbit.com/blog/2009/04/21/space-cookies-on-cnn/</link>
		<comments>http://wildbit.com/blog/2009/04/21/space-cookies-on-cnn/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 18:18:19 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=354</guid>
		<description><![CDATA[<a href='http://www.cnn.com/video/#/video/tech/2009/04/18/natpkg.robot.comp.cnn?iref=videosearch'><img src="http://www.wildbit.com/uploads/2009/04/space-cookies.png" alt="" title="Space Cookies on CNN" /></a>

In the beginning of the year we helped sponsor Space Cookies, An all-girls FIRST robotics team from the San Francisco Bay Area. They've been doing extremely well and were just interviewed on CNN for their competition in Atlanta. Really great work and best of luck!]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.cnn.com/video/#/video/tech/2009/04/18/natpkg.robot.comp.cnn?iref=videosearch'><img src="http://www.wildbit.com/uploads/2009/04/space-cookies.png" alt="" title="Space Cookies on CNN" /></a></p>
<p>In the beginning of the year we helped sponsor Space Cookies, An all-girls FIRST robotics team from the San Francisco Bay Area. They&#8217;ve been doing extremely well and were just interviewed on CNN for their competition in Atlanta. Really great work and best of luck!</p>
<p><a href="http://www.cnn.com/video/#/video/tech/2009/04/18/natpkg.robot.comp.cnn?iref=videosearch">View the CNN Video</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/04/21/space-cookies-on-cnn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beanstalk Update: Incidents, Releases, Upgrades</title>
		<link>http://wildbit.com/blog/2009/03/31/beanstalk-update-incidents-releases-upgrades/</link>
		<comments>http://wildbit.com/blog/2009/03/31/beanstalk-update-incidents-releases-upgrades/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 11:43:54 +0000</pubDate>
		<dc:creator>Dima Sabanin</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=352</guid>
		<description><![CDATA[Hi! I'm Dima Sabanin, Rails developer at Wildbit. I've been working on some cool new Beanstalk features that we'll be releasing today. Let me give you a short guide on what we've added and changed.]]></description>
			<content:encoded><![CDATA[<p>Hi! I&#8217;m Dima Sabanin, Rails developer at Wildbit. I&#8217;ve been working on some cool new Beanstalk features that we&#8217;ll be releasing today. Let me give you a short guide on what we&#8217;ve added and changed.</p>
<p><span id="more-352"></span></p>
<h3>Incidents</h3>
<p>At Beanstalk we are always striving to make your experience as flawless as possible, to make things &#8220;just work&#8221;, but it&#8217;s not always possible. Sometimes errors happen, and up until now you had to contact support to do something about it.</p>
<h4>Enter Incidents.</h4>
<p>I&#8217;ve created a system that will report all kinds of different issues that may rise for your account, and give you a way to debug them or notify support.</p>
<p>For instance, in the case if you have a failing repository import &#8211; you will know exactly why it failed &#8211; maybe you uploaded the wrong file, and now you can resolve the issue by yourself, without waiting for an answer from support.</p>
<p>Another instance is failing Release deployment &#8211; these were hard to debug without support before.<br />
Now if Release fails, you will see an error message, complete log information about what went wrong &#8211; it will help you setup and debug your Release servers correctly.</p>
<p>Third example where Incidents will come in handy is debugging integrations with third-party services that we offer to all of our customers. Sometimes API&#8217;s change, authentication tokens get changed or accounts get suspended &#8211; whatever the reason &#8211; you will know.</p>
<p><img src="http://www.wildbit.com/uploads/2009/03/incidents.png" alt="" /></p>
<p>I want to add, that Incidents will not replace our support team. We&#8217;re always eager to help you with any issues, no matter if there are any Incidents involved. Incidents are for those cases when there is a big chance the issue is not on our side, and you want to take care of it yourself to continue with your work faster.</p>
<h3>Releases</h3>
<p>We&#8217;ve had Releases &#8211; automated and manual deployment of your repositories to your own servers &#8211; for a year already and yet it&#8217;s still in Beta. Here&#8217;s an explanation for this &#8211; we weren&#8217;t happy with the functionality or with the average time it took for Release to get deployed. <em>Until now.</em></p>
<p>I&#8217;ve replaced a big chunk of Releases code with a simpler and more straightforward system, that works using a different principle. Let me explain. Before now, to deploy a Release we basically made an export of your repository on our server, then connected to your deployment server and just mirrored these two directories. It took a lot of time, because we had no way to know what had changed on your server, and even if you were deploying the change to a single file, we had to compare every single directory of your deployment directory with our local copy.</p>
<p>I must admit that it was my bad decision, back when I was developing the previous version of Releases. I won&#8217;t defend it now, let&#8217;s just say we all make bad judgements sometimes :)</p>
<p>Here&#8217;s how new Releases work. We figure out what is the last revision deployed on your server, and we know what revision you want to deploy. We take all the changesets in between these revisions, and extrapolate exactly what we should update, add and delete from the server. Now you see why it will be much faster than the previous way.</p>
<h4>There is one catch though.</h4>
<p>Subversion is not very bright. It thinks that when you move two directories, you actually delete old one and create new directory. It&#8217;s more complicated than that, but basically it is true. Because of this, when we collect changesets to deploy on your server, <strong>we have to delete directories that were removed/renamed/moved</strong> in Subversion repository from your server. This is an important change from the previous Releases, when nothing was ever removed from your server, even if you wanted it to.</p>
<p>We discussed an option where we would only delete files from your server if you enabled a checkbox in your Release configuration, but we decided that it won&#8217;t work. Just imagine what the deployment on your server would look like, if every source directory for any moved or renamed directory would just be left lying there forever. The tree would turn into a mess very fast. Anyway, we wanted to let everyone know about the change, so if anyone relies on the behavior that Releases do not delete files will have a chance to stop it.</p>
<p>If new Releases cause problems for you or you have some bright ideas on how to solve the situation with moved directories, please contact us. If everything goes fine, in the next few weeks hopefully Beta tag from Releases will go away forever.</p>
<h3>Other small, but important stuff</h3>
<p>While working on Incidents, I&#8217;ve also put a lot of effort in making daemons that manage background tasks in Beanstalk, such as Releases, Imports, Caching work faster and more reliable. One of the things that was improved is Amazon S3 backups &#8211; we had some issues with it, and now they are resolved and we have reliable constant running incremental backups to S3, in addition to our various other backups. Your data is now safer than ever.</p>
<p>We&#8217;ve also had some noticeable hardware and infrastructure improvements, thanks to <a href="http://www.engineyard.com/">EngineYard</a>.</p>
<p><a href="http://www.wildbit.com/blog/2008/10/28/being-part-of-a-virtual-team-the-good-the-bad-the-awesome/">Petyo</a> and <a href="http://www.wildbit.com/blog/2008/12/11/refined-repository-export-in-beanstalk/">Ilya</a> also put a lot of hard work into fixing old and new bugs, that were bugging our users, and they have plenty new stuff up their sleeves. <a href="http://www.wildbit.com/blog/2008/12/04/scrum-in-virtual-teams/">Igor Balos</a>, testing superman, made this release stable, and our design gurus <a href="http://www.wildbit.com/blog/2008/12/29/i-demand-freedom/">Gilbert</a> and <a href="http://www.wildbit.com/blog/2008/11/05/beanstalk-wallpapers/">Eugene</a>, added style to the UI.</p>
<p>We won&#8217;t be deploying all the upgrades at once though. Today we will deploy bugfixes, Incidents and Releases. Later this week we&#8217;ll deploy infrastructure changes such as new slice for our daemons and another GFS storage partition for your repositories.</p>
<p>This turned out to be one lengthy post, but so is this <a href="http://beanstalkapp.com/">Beanstalk</a> upgrade. We sincerely hope you&#8217;ll like it.</p>
<p>Please, let us know if you have <strong>any</strong> issues or comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/03/31/beanstalk-update-incidents-releases-upgrades/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Deploying Rails apps with Beanstalk and Passenger</title>
		<link>http://wildbit.com/blog/2009/03/12/deploying-rails-apps-with-beanstalk-and-passenger/</link>
		<comments>http://wildbit.com/blog/2009/03/12/deploying-rails-apps-with-beanstalk-and-passenger/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 18:50:10 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[deployments]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=347</guid>
		<description><![CDATA[Here is a nice write up from Jason Schrader on deploying Rails apps with <a href="http://beanstalkapp.com">Beanstalk</a> and <a href="http://www.modrails.com/">Passenger</a>. Jason explains how to use <a href="http://help.beanstalkapp.com/admin/articles/17-deployment-and-releases">Beanstalk's deployment feature</a> to quickly and easily release to his server.]]></description>
			<content:encoded><![CDATA[<p>Here is a <a href="http://julianschrader.de/20090312-deploying-rails-apps-with-beanstalk-and-passenger/">nice write up</a> from Julian Schrader on deploying Rails apps with <a href="http://beanstalkapp.com">Beanstalk</a> and <a href="http://www.modrails.com/">Passenger</a>. He explains how to use <a href="http://help.beanstalkapp.com/admin/articles/17-deployment-and-releases">Beanstalk&#8217;s deployment feature</a> to quickly and easily release to his server. Thanks Julian!</p>
<p><a href="http://julianschrader.de/20090312-deploying-rails-apps-with-beanstalk-and-passenger/">Read the full post at JulianSchrader.de</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/03/12/deploying-rails-apps-with-beanstalk-and-passenger/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Recent Beanstalk delays explained</title>
		<link>http://wildbit.com/blog/2009/03/11/recent-beanstalk-delays-explained/</link>
		<comments>http://wildbit.com/blog/2009/03/11/recent-beanstalk-delays-explained/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 18:54:39 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=346</guid>
		<description><![CDATA[The last couple days were pretty rough for Beanstalk and our customers. We experience very high load across all of our slices, eventually determining that the performance problem was on our GFS drives that store our application and SVN data. Since we host with Engine Yard, we have nice Nagios warnings about high load, which started to come in on Tuesday. After lots of digging and help from the Engine Yard support team, we were able to narrow down the problems.]]></description>
			<content:encoded><![CDATA[<p>The last couple days were pretty rough for Beanstalk and our customers. We experience very high load across all of our slices, eventually determining that the performance problem was on the GFS drives that store our application and SVN data. Since we host with <a href="http://engineyard.com">Engine Yard</a>, we have nice Nagios warnings about high load, which started to come in on Tuesday morning. After lots of digging and help from the <a href="http://engineyard.com">Engine Yard</a> support team, we were able to narrow down the problems.</p>
<p><span id="more-346"></span></p>
<h3>Problem: Storage calculation</h3>
<p>Each plan level in Beanstalk has a storage limit, which determines the plan you need or if you have exceeded your storage capacity across your repositories. In order to keep this information up to date, we need to constantly calculate storage. On the server, we would run a &#8220;du&#8221; on every commit  to calculate the storage, then report back to the application. If the storage is too high, we can inform the customer that it is time to upgrade.</p>
<p>As you can imagine, this creates a huge problem as the application grows. Considering that we have thousands of commits each day, the process would have to calculate storage for literally thousands of files in each repository on every commit. The IO usage was absurd.</p>
<h3>Solution: Adjust and compromise</h3>
<p>The only solution was to reduce the number of times we calculate storage. Of course, this also means that some people could go over their storage limits and continue to use the system. For us this was an easy compromise. Having a stable system with the ability to grow compared to a short delay in exceeded storage is a no brainer.</p>
<p>We&#8217;ve had this fix ready to go since late last week, but it required some additional testing. After the problems in the past two days we decided enough is enough. We all got together today, tested the fix rigidly, and deployed the fix to our slices. </p>
<h3>The results</h3>
<p>It&#8217;s only been running for a short time, but so far load has gone down dramatically. We also increased the RAM on our the slices that handle our daemons. We&#8217;ll be watching this carefully to adjust and improve.</p>
<p>While we just <a href="http://www.wildbit.com/blog/2009/02/11/subversion-15-and-performance-improvements/">recently released performance updates</a>, it&#8217;s an ongoing process. This latest fix is another improvement that will help us grow. In the next several weeks we will be working with Engine Yard to improve the speed of our GFS drives as well as some tuning for Subversion specifically. </p>
<p>We really appreciate the patience while we improve and we welcome as much feedback as possible. Please don&#8217;t forget to <a href="http://twitter.com/wildbit">follow us on Twitter</a> for more frequent updates.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/03/11/recent-beanstalk-delays-explained/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lessons from Advertising Beanstalk</title>
		<link>http://wildbit.com/blog/2009/03/03/lessons-from-advertising-beanstalk/</link>
		<comments>http://wildbit.com/blog/2009/03/03/lessons-from-advertising-beanstalk/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 20:02:07 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[partnerships]]></category>
		<category><![CDATA[promotion]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=336</guid>
		<description><![CDATA[Beanstalk has been booming ever since we launched it. We've learned a lot in the last 18 months about what works and what doesn't when it comes to promotion and advertising. I'd like to share some our experiences.
]]></description>
			<content:encoded><![CDATA[<p>Beanstalk has been booming ever since we launched it. We&#8217;ve learned a lot in the last 18 months about what works and what doesn&#8217;t when it comes to promotion and advertising. I&#8217;d like to share some of our experiences.</p>
<p><span id="more-336"></span></p>
<p>Right after we launched paid plans in November of 2007, we prepared a bunch of advertising campaigns to announce it. Some of the resources included <a href="http://decknetwork.net/">The Deck</a>, <a href="http://daringfireball.net">Daring Fireball</a>, and <a href="http://smashingmagazine.com">Smashing Magazine</a>. We were most excited about <a href="http://decknetwork.net/">The Deck</a> due to the number of high-profile sites and targeted audience. </p>
<p>When the ads were placed, we started seeing the traffic come in. We made sure to setup conversion tracking with Google Analytics and we also associated referrals to each new account that signed up. The results surprised us a bit. While <a href="http://decknetwork.net/">The Deck</a> has the most reach, we noticed much better results from <a href="http://daringfireball.net">Daring Fireball</a>. Check out the chart below:</p>
<p><img src="http://www.wildbit.com/uploads/2009/03/google-chart-0108.png" alt="Ad Traffic" title="Ad Traffic" width="300" height="97" /></p>
<p>The first spike is from our ad on Daring Fireball. After that we noticed a steady increase in visitors from The Deck when the ads were posted in February. The second spike, however, is from a <a href="http://37signals.com/svn/posts/841-screens-around-town-sliding-in-from-the-right-at-netflix-beanstalk-and-apple">post on 37 Signals</a> about our public site design. </p>
<h3>What does this tell us?</h3>
<p>We could probably conclude a bunch of things from this little bit of information. Overall, it made us realize two key distinctions:</p>
<ul>
<li>Banners, no matter what site they are on, are still banners and people tend to ignore them.</li>
<li>Blog posts hit the readers directly, whether they are paid or not.</li>
</ul>
<p>The Deck still brought lots of valuable traffic to our site over a longer timeframe and we can definitely recommend it for big announcements. What we learned is that instead of focusing on advertising, we should instead focus on making the product better and getting people excited about it. If people are excited about your product, they are more likely to post about it, giving you direct exposure to their readers. For example, check out this chart, which shows all of 2008:</p>
<p><img src="http://www.wildbit.com/uploads/2009/03/google-chart-all08.png" alt="All traffic in 08" title="All traffic in 08" /></p>
<p>You can see a series of spikes. The first two are the same from above, which shows Daring Fireball and the 37 Signals post. The gigantic one in the middle is when Versions announced their release (I&#8217;ll talk about partnerships in later post), the fourth larger spike is from <a href="http://www.tuaw.com/2008/10/24/friday-favorite-coda-versions-beanstalk/">TUAW in October</a>.</p>
<p>There are lots of little spikes here and there, all from blog posts, integrations, or partnerships. The main point to take away from this is that we have not spent a penny on advertising since The Deck, but continue to see the traffic pour in. </p>
<p>While it is nothing new, we&#8217;ve learned that good promotion just depends on the quality of your product and whether or not people are excited. So put your head down, improve your product, and get people excited about it.</p>
<p>I&#8217;d love to hear what others have experienced when it comes to promotion and advertising for a web product. If you have some thoughts, post a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/03/03/lessons-from-advertising-beanstalk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beanstalk: More storage, new plan.</title>
		<link>http://wildbit.com/blog/2009/02/17/beanstalk-more-storage-new-plan/</link>
		<comments>http://wildbit.com/blog/2009/02/17/beanstalk-more-storage-new-plan/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 21:10:05 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[plans]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=330</guid>
		<description><![CDATA[Today we upgraded storage levels on all Beanstalk plans, including 100mb on the Free Plan. The increase in storage includes:

Free: From 20Mb to 100Mb
Personal: From 1GB to 3GB
Team: From 3GB to 6GB
Business: From 8GB to 12GB
Corporate: From 15GB to 24GB


We also introduced a new plan after some recent demand. The Giant Plan features 200 users, [...]]]></description>
			<content:encoded><![CDATA[<p>Today we upgraded storage levels on all Beanstalk plans, including 100mb on the Free Plan. The increase in storage includes:</p>
<ul>
<li>Free: From 20Mb to 100Mb</li>
<li>Personal: From 1GB to 3GB</li>
<li>Team: From 3GB to 6GB</li>
<li>Business: From 8GB to 12GB</li>
<li>Corporate: From 15GB to 24GB</li>
</ul>
<p><span id="more-330"></span></p>
<p>We also introduced a new plan after some recent demand. The <strong>Giant Plan</strong> features 200 users, 150 repositories, and 48GB of space for $200/m.</p>
<p>We hope this helps as your repositories continue to grow and evolve.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/02/17/beanstalk-more-storage-new-plan/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Beanstalk is hiring a Rails Developer</title>
		<link>http://wildbit.com/blog/2009/02/16/beanstalk-is-hiring-a-rails-developer/</link>
		<comments>http://wildbit.com/blog/2009/02/16/beanstalk-is-hiring-a-rails-developer/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 16:47:41 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[About Us]]></category>
		<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[hiring]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=329</guid>
		<description><![CDATA[We’re looking to hire a Rails developer to help grow and support Beanstalk, our hosted Subversion app. A minimum of 2 years experience in building Rails apps is required.]]></description>
			<content:encoded><![CDATA[<p>We’re looking to hire a Rails developer to help grow and support Beanstalk, our hosted Subversion app. A minimum of 2 years experience in building Rails apps is required.</p>
<p><span id="more-329"></span></p>
<p>Our team is located in Philadelphia, Russia, Ukraine, Serbia, Germany and Bulgaria, so location is not important. We’re accepting applicants from anywhere in the world. This is a pure telecommute job and we need an individual who is self-motivated, very passionate, and organized. (i.e. We don’t babysit at Wildbit:)</p>
<p>If you’re interested, please send the following to <a href="mailto:jobs@wildbit.com">jobs@wildbit.com</a>.</p>
<ul>
<li>Experience with Subversion and Beanstalk</li>
<li>Past projects and your role / accomplishments</li>
<li>Personal blog or site, Articles</li>
<li>Any blogs or people you follow (helps us understand your interests)</li>
<li>Favorite books</li>
</ul>
<h4>Some things about our team</h4>
<ul>
<li>Our process is mostly Agile / Scrum</li>
<li>We use Basecamp, talk in Campfire, and avoid IM as much as possible</li>
<li>We have team retreats in places like <a href="http://www.wildbit.com/blog/2008/09/08/next-wildbit-retreat-turkey/">Turkey</a> and <a href="http://www.wildbit.com/blog/2007/03/12/wildbit-retreat-cyprus/">Cyprus</a></li>
<li>We have a dedicated QA Tester</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/02/16/beanstalk-is-hiring-a-rails-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion 1.5 and Performance Improvements</title>
		<link>http://wildbit.com/blog/2009/02/11/subversion-15-and-performance-improvements/</link>
		<comments>http://wildbit.com/blog/2009/02/11/subversion-15-and-performance-improvements/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 17:12:26 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=328</guid>
		<description><![CDATA[This weekend we launched two important updates to Beanstalk: Upgraded to Subversion 1.5.5 and released major performance improvements to the web interface. Learn about the upgrades, how it effects your account, and some known issues.]]></description>
			<content:encoded><![CDATA[<p>This weekend we launched two important updates on Beanstalk: Upgrade to Subversion 1.5.5 and major performance improvements to the web interface. Learn about the upgrades, how it affects your account and a few known issues.</p>
<p><span id="more-328"></span></p>
<h3>Upgrade to Subversion 1.5.5</h3>
<p>We upgraded all Subversion servers to SVN 1.5.5. With this update you can now take advantage of <a href="http://svnbook.red-bean.com/en/1.5/svn.branchmerge.advanced.html">Merge Tracking</a> and <a href="http://subversion.tigris.org/svn_1.5_releasenotes.html">many new features</a> in the latest Subversion release. To make the conversion process painless, we added a simple tool to the Dashboard for account owners. Once the upgrade is activated, all repositories in your account will be upgraded to SVN 1.5.5. We also run <em>svn-populate-node-origins-index</em>, which is new as of Subversion 1.5, and behaves as a cache to vastly speed up certain history-querying operations. This process only takes a few minutes to complete. <a href="http://help.beanstalkapp.com/articles/31-upgrading-to-subversion-15">Read the full help article</a>.</p>
<h3>Major performance improvements</h3>
<p>Beanstalk has been steadily growing since we launched. Along with the growth, performance has been a constant challenge. While the speed of our SVN servers have been solid in recent months, our web interface for browsing files, viewing activity, and reviewing changesets have been slow. All of this ended during this weekend&#8217;s release. </p>
<p>We identified the issue two weeks ago and narrowed it down to the Ruby SVN bindings. Along with updating the bindings and refactoring code, we also improved caching. The results have been fantastic! In some cases larger repositories that used to take 20 seconds to load (ouch!) now load in under a second.</p>
<p>You may notice <strong>pre-caching notices</strong> when going to a repository. We had to setup this process to cache your repository on the servers. This ensures your repositories load quickly in the future. </p>
<h3>Known issues and troubleshooting</h3>
<p>With an upgrade of this size, we have noticed a few issues. Here are some known problems and what you can do.</p>
<h4>Receiving a 403 Forbidden error in SVN.</h4>
<p>In some cases we have seen this happen. During the 1.5 upgrade some AUTH files were corrupted. While we think we fixed it, if you experience this issue just update your account password by going to &#8220;My profile&#8221; after logging in. Another thing that can help is to do a fresh checkout of the repository.</p>
<h4>Pre-caching takes too long</h4>
<p>A few cases of pre-caching taking too long have occurred. If you think the process is taking too long, please <a href="mailto:support@beanstalkapp.com">contact us</a> and we will take a look.</p>
<h4>Delay in the commit activity page</h4>
<p>The cache is set to a short time frame. However, we are noticing longer delays in some accounts. We&#8217;re working on this and it should be resolved very soon.</p>
<p>We really hope these updates show our commitment to making Beanstalk the best hosted Subversion service available. Your feedback has been crucial in helping us improve and we greatly appreciate it. </p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/02/11/subversion-15-and-performance-improvements/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Beanstalk faster &#8220;releases&#8221; using web hooks</title>
		<link>http://wildbit.com/blog/2009/02/10/327/</link>
		<comments>http://wildbit.com/blog/2009/02/10/327/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 14:15:43 +0000</pubDate>
		<dc:creator>Petyo Ivanov</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[Continuos Integration]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Tips & Tools]]></category>
		<category><![CDATA[Usability & Design]]></category>
		<category><![CDATA[Web/Tech]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=327</guid>
		<description><![CDATA[You need code changes deployed to the development and production servers faster? You&#8217;re using releases? Sometimes you need it faster? Then read on&#8230;

Recently I find myself more and more occupied debugging problems with Beanstalk releases functionality (Those of you using our support may have noticed). The main reason &#8211; FTP limitations. We have three  [...]]]></description>
			<content:encoded><![CDATA[<p>You need code changes deployed to the development and production servers faster? You&#8217;re using releases? Sometimes you need it faster? Then read on&#8230;</p>
<p><span id="more-327"></span></p>
<p>Recently I find myself more and more occupied debugging problems with <a href="http://beanstalkapp.com/">Beanstalk</a> releases functionality (Those of you using our <a href="http://support.wildbit.com">support</a> may have noticed). The main reason &#8211; FTP limitations. We have three  daemons constantly uploading to customer servers, yet sometimes it takes an hour for the queue to reach the release. Even though our ftp client tries to act smart and do the so called &#8216;incremental&#8217; uploads, it still means checking each file in the repository.</p>
<p>We have marked <a href="http://www.manyfish.co.uk/sitecopy/">sitecopy</a> for evaluation, somewhere in the backlog.</p>
<h3>&#8220;It is slow&#8221;. I feel your pain.</h3>
<p>Not only this &#8211; we have a time limit of 20 minutes per release attempt. After 20 minutes the  process gives up and leaves deployment in an unfinished state, which apparently is not the smartest thing to do (By the way, we have a discussion right now &#8211; do you think that it is a good idea to send mail to the account owner in this case?). This time limit often is not enough to upload a large changeset, if the connection between the servers is slow. Currently, I have doubled it to 40 minutes, hoping that this will resolve some cases of large repositories (especially imported ones) not passing.</p>
<h3>OK, enough grim pictures, on to a solution</h3>
<p><strong>But, first, let&#8217;s check if you have what it takes&#8230;</strong></p>
<ul>
<li>A web server, accessible from the internet</li>
<li>Shell access to it</li>
<li>Subversion client installed on it</li>
<li>(sigh) PHP. Of course, any language will do</li>
</ul>
<p>We recently introduced a special integration called <a href="http://www.wildbit.com/blog/2009/01/23/web-hooks-integration/">web hooks</a>, very simple and versatile.</p>
<p><strong>Ready? Set, go!</strong></p>
<p>First of all, let&#8217;s checkout the project on the web server. Login using ssh, then<br />
<code><br />
$: cd /var/www  # or wherever you keep your project.<br />
$: svn co https://myspace.svn.beanstalkapp.com/myrepo #prompted for pass and username. I would suggest that you use a read-only account.<br />
$: ls /var/www/myrepo # The project should be here<br />
</code><br />
<strong>Now, let&#8217;s install the web hook</strong></p>
<p>Don&#8217;t expect something fancy, it is a 2-line script (initially it was one line, but I ran into troubles using <em>system</em>, and my PHP is very rusty.)<br />
<code>&lt;?php<br />
exec('/usr/bin/svn up /var/www/myrepo --username petyo --password ***** --no-auth-cache', $out);<br />
print_r($out); // This is just to check if it works at all. And no, my password is not five asterisks.<br />
?&gt; <br />
</code><br />
(You may double-check the path to the svn binary, using which svn)</p>
<p>Save this as PHP file, and put it somewhere visible from web. Try it by loading it in the browser – http://myserver.com/my-repo-hook.php. You should see a message like this:<br />
<code>Array ( [0] =&gt; At revision 9. )</code><br />
Horray &#8211; you have set it up! There is a chance that <em>exec</em> and <em>system</em> are disabled through php.ini.</p>
<p>All that is left now is to specify the web hook. Go to https://myaccount.beanstalkapp.com/myrepo/integrations/web_hooks/setup (Setup &gt; Integration &gt; Web Hooks) and fill in the url of your web hook.</p>
<p><strong>You&#8217;re done</strong></p>
<p>This is it, in fact on every commit, Beanstalk will request the URL of your web hook, triggering svn update on the remote subversion copy.</p>
<p><strong>Gotchas?</strong></p>
<p>I can think of few, The most important thing is to check the permissions. The web hooks PHP file contains svn user and pass, so it is a good idea to set permissions just enough for the web server to execute it. Also, since the web server user (www-data, for example) will do the checkout, it is a good idea to chown the project root folder to it.</p>
<p><strong>Disclaimer: This by no means comes to replace the releases functionality we already have, or serve as some s</strong><strong>ort of an excuse. Consider it more as a fun and alternative way to have your code changes propagated.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/02/10/327/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Web Hooks Integration in Beanstalk</title>
		<link>http://wildbit.com/blog/2009/01/23/web-hooks-integration/</link>
		<comments>http://wildbit.com/blog/2009/01/23/web-hooks-integration/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 16:22:20 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[integration tools]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=320</guid>
		<description><![CDATA[We released a great new feature for <a href="http://beanstalkapp.com/">Beanstalk</a> called <a href="http://help.beanstalkapp.com/admin/articles/29-web-hooks">Web Hooks</a> which allows you to customize, extend and integrate the web applications you use with Beanstalk. By using <a href="http://webhooks.pbwiki.com/">web hooks</a> in your Beanstalk repository, you can get information about each commit to your <a href="http://beanstalkapp.com/">Beanstalk</a> repository.]]></description>
			<content:encoded><![CDATA[<p>We released a great new feature for <a href="http://beanstalkapp.com/">Beanstalk</a> called <a href="http://help.beanstalkapp.com/admin/articles/29-web-hooks">Web Hooks</a> which allows you to customize, extend and integrate the web applications you use with Beanstalk. By using <a href="http://webhooks.pbwiki.com/">web hooks</a> in your Beanstalk repository, you can get information about each commit to your <a href="http://beanstalkapp.com/">Beanstalk</a> repository.</p>
<p><span id="more-320"></span></p>
<h3>How does it work</h3>
<p>First, you will need to setup a Web Hook URL and activate Web hooks integration. Details how to do this can be found on web hooks integration <a href="http://help.beanstalkapp.com/admin/articles/29-web-hooks">help page</a>. After web hooks integration is activated, information about the commits is sent to the Web Hook URL you selected, with <a href="http://json.org/">JSON</a> formatted data.</p>
<p>On your side, you have a variety of options for parsing the post data. Check the <a href="http://json.org/">JSON homepage</a> for a library in your favorite language.</p>
<p>An example of the structure of the object we send:</p>
<p><img src="http://www.wildbit.com/uploads/2009/01/pic02.png" alt="JSON" /></p>
<p>The feature is available for <strong>paid</strong> <a href="http://beanstalkapp.com/"><strong>Beanstalk</strong></a><strong> accounts</strong>. For more information about the Web Hooks integration, please visit our <a href="http://help.beanstalkapp.com/articles/29-trigger-a-url-on-commit-with-web-hooks">help page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/01/23/web-hooks-integration/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Freckle integration in Beanstalk</title>
		<link>http://wildbit.com/blog/2009/01/22/freckle-integration/</link>
		<comments>http://wildbit.com/blog/2009/01/22/freckle-integration/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 16:44:34 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[Freckle]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=321</guid>
		<description><![CDATA[After integrating <a href="http://beanstalkapp.com/">Beanstalk</a> with <a href="http://getharvest.com/">Harvest</a>, we released one more integration for <a href="http://beanstalkapp.com/">Beanstalk</a>: <a href="http://letsfreckle.com/">Freckle</a>. Freckle is a thoughtful and beautiful web-based time tracking application built for small business. ]]></description>
			<content:encoded><![CDATA[<p>After integrating <a href="http://beanstalkapp.com/">Beanstalk</a> with <a href="http://getharvest.com/">Harvest</a>, we released one more integration for Beanstalk: <a href="http://letsfreckle.com/">Freckle</a>. Freckle is a thoughtful and beautiful web-based time tracking application built for small business.</p>
<p><span id="more-321"></span></p>
<h3>How does it work?</h3>
<p>In order to integrate <a href="http://letsfreckle.com/">Freckle</a> with <a href="http://beanstalkapp.com/">Beanstalk</a>, you must first setup the integration settings within your repository. All you need to do is select the repository on which you would like to use integration with your <a href="http://letsfreckle.com/">Freckle</a> account, then enter your Freckle account <span class="caps">URL</span> and Auth token. Next step would be to select a project from your <a href="http://letsfreckle.com/">Freckle</a> account in which you would like to log time and activate integration.</p>
<p>That&#8217;s it! The integration with <a href="http://letsfreckle.com/">Freckle</a> is completed and you&#8217;re ready to track time with every commit. The detailed steps on how to set up the integration can be found on our Freckle integration <a href="http://help.beanstalkapp.com/articles/30-integrating-with-freckle">help page</a>.</p>
<p>Once you setup integration with <a href="http://beanstalkapp.com/">Beanstalk</a> and <a href="http://letsfreckle.com/">Freckle</a>, you can add tags to your commit comments that will post log entries into your time sheet. For example:</p>
<p><code>Fixed layout on login page, login, layout fix [f:70min]</code></p>
<p>You will get an entry which you can see on the dashboard of your Freckle account, under “Your Recent Entries”. The entry would look like this:</p>
<p><img src="http://www.wildbit.com/uploads/2009/01/pic01.png" alt="Freckle" /></p>
<p>For more information about <a href="http://letsfreckle.com/">Freckle</a> integration with <a href="http://beanstalkapp.com/">Beanstalk</a> please visit our <a href="http://help.beanstalkapp.com/articles/30-integrating-with-freckle">help page.</a> Freckle integration with Beanstalk is available for all plans on <a href="http://beanstalkapp.com/">Beanstalk</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/01/22/freckle-integration/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tell us your story</title>
		<link>http://wildbit.com/blog/2009/01/07/tell-us-your-story/</link>
		<comments>http://wildbit.com/blog/2009/01/07/tell-us-your-story/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 20:33:29 +0000</pubDate>
		<dc:creator>Chris Nagele</dc:creator>
				<category><![CDATA[Beanstalk]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=319</guid>
		<description><![CDATA[We're reaching out to all <a href="http://beanstalkapp.com">Beanstalk</a> customers to learn more about how you use the system and how it has helped your workflow. Are you working on an interesting app or product? We’d like to know. Over the next few months we’ll be featuring applications, products, and sites that are hosted in Beanstalk. ]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re reaching out to all <a href="http://beanstalkapp.com">Beanstalk</a> customers to learn more about how you use the system and how it has helped your workflow. Are you working on an interesting app or product? We’d like to know. Over the next few months we’ll be featuring applications, products, and sites that are hosted in Beanstalk. </p>
<p>Tell us your story and let us know how Beanstalk has made a difference. <a href="https://wildbit.wufoo.com/forms/customer-stories/">Fill out the short survey</a> and we&#8217;ll be in touch soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/01/07/tell-us-your-story/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
