<?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>Code Spaces</title>
	<atom:link href="http://www.codespaces.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codespaces.com/blog</link>
	<description>Simple Source Code Hosting for professionals like you.</description>
	<lastBuildDate>Wed, 02 May 2012 23:18:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>April Updates</title>
		<link>http://www.codespaces.com/blog/2012/05/02/april-updates/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=april-updates</link>
		<comments>http://www.codespaces.com/blog/2012/05/02/april-updates/#comments</comments>
		<pubDate>Wed, 02 May 2012 22:18:11 +0000</pubDate>
		<dc:creator>Frank Lakatos</dc:creator>
				<category><![CDATA[Code Spaces]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://www.codespaces.com/blog/?p=184</guid>
		<description><![CDATA[We pushed a bunch of Code Spaces updates this month, Just thought I would share a few of them with you. April Updates We pushed in some great updates to the Code Spaces&#8217; tool suite that should help improve your day-to-day experiences. All Subversion Repositories are running on SVN 1.7 - Earlier in the year, [...]]]></description>
			<content:encoded><![CDATA[<p>We pushed a bunch of Code Spaces updates this month, Just thought I would share a few of them with you.</p>
<h2>April Updates</h2>
<p>We pushed in some great updates to the Code Spaces&#8217; tool suite that should help improve your day-to-day experiences.</p>
<ul>
<li><strong>All Subversion Repositories are running on SVN 1.7 </strong>- Earlier in the year, we rolled out our new infrastructure which meant all new SVN repos were running on SVN. We have now transitioned all of our old repositories over to this infrastructure. The change is completely transparent &#8212; the only thing you will notice is a better performance <img src='http://www.codespaces.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>Delete Git Repos</strong> - Previously, CS allowed you the ability to create and update your Git repositories. If you needed a Git repo removed, you had to submit a support request for us to do so. While this limitation wasn&#8217;t desired on our part, we felt it more crucial to deliver the Git hosting capabilities as soon as we could, and deploy the ability to remove the repos once the feature was tested and stable. I&#8217;d like to announce that you can now delete your Git repositories in the same fashion that you would with SVN.</li>
<li><strong>Git Repo creation while creating a new project</strong> - Previously, the only type of repository you could create while creating a new project was SVN. Not anymore; simply chose SVN or Git from the Repository Type drop down to choose.</li>
<li><strong>Upload Document to Work Item from any page</strong> - Last month, we pushed a handy, new feature that allows you to upload a document directly to a work item, which got some really great feedback. Unfortunately, it was quickly pointed out to use that the feature wasn&#8217;t working quite right on certain pages. Long story, short: that nasty bug has been squashed.</li>
<li><strong>Forgot Your Password</strong> - Another feature that many people were asking for was the ability to reset their password when they forget it. That ability is now live, and can be accessed from our login page.</li>
</ul>
<p><span id="more-184"></span></p>
<ul>
<li><strong>Backups</strong> - As you know we take backups every 5 minutes, right? What you may have not known, is that these backups are stored off-site, and we used to copy all backups back on-site so you could download them whenever you wanted. This, however, was an expensive process: moving 1000&#8242;s of backups around every day took an enourmous amount of bandwidth and processing power. We have changed the backups download section to an on-demand model, where you can request that a backup is copied from the off-site storage to your account where they can be downloaded. Check out the backups section of you Code Spaces&#8217; account for more infor.</li>
<li><strong>No more email bombardment</strong> - Many of you find the work item notifications extremely helpful for staying up to date with the progress of your project. The majority of you also found it extremely annoying when the system told you about updates that <em>you</em> were doing. Well, that is no more, and you will now only be notified about things you yourself didn&#8217;t do.</li>
<li><strong>New Notification Option </strong>- You can get emails when you make a commit to a SVN repo, as well as the standard emails when somebody else commits, check out your profile page for all the options.</li>
</ul>
<h2>Whats Next?</h2>
<p>We are keen to get your feedback on CodeSpaces: if you have any features you&#8217;d like to see added, or know of bugs you&#8217;d like to see squashed, please <a href="http://www.codespaces.com/contact">let us know</a>.</p>
<ul>
<li><strong>Git Notifications</strong> &#8211; In our quest to bring our Git support inline with our Subversion offerings, we are working on Git Email Notifications for your project members when a Git change is pushed to a Code Spaces repo.</li>
<li><strong>Deployments</strong> - Many people have asked for auto deployments, so when you make a commit to a repo, you can specify deployment rules where your Code Spaces project will push your code to a remote server.</li>
<li><strong>Web Hooks</strong> - When you make a commit to a SVN or GIT repo you can specify remote services to ping, for instance you could fire you own backup server to take a copy, or kickoff an automated build process.</li>
<li><strong>Much More&#8230; </strong>We have so much more we are looking forward to sharing with you <img src='http://www.codespaces.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.codespaces.com/blog/2012/05/02/april-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recent Outages</title>
		<link>http://www.codespaces.com/blog/2012/02/14/recent-outages/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=recent-outages</link>
		<comments>http://www.codespaces.com/blog/2012/02/14/recent-outages/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 12:28:04 +0000</pubDate>
		<dc:creator>Floyd Price</dc:creator>
				<category><![CDATA[Code Spaces]]></category>

		<guid isPermaLink="false">http://www.codespaces.com/blog/?p=171</guid>
		<description><![CDATA[Some of you may have noticed that we&#8217;ve had a number of outages this month. I just wanted to take the time to write a quick note here to explain what is happening, and to give everyone some visibility of the steps we are taking. At the time of writing our uptime for the last [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you may have noticed that we&#8217;ve had a number of outages this month. I just wanted to take the time to write a quick note here to explain what is happening, and to give everyone some visibility of the steps we are taking.</p>
<p>At the time of writing our uptime for the last 5 years has averaged at 99.9% however February 2012 is currently (at the time of writing) at 92.061%!! This is clearly a deterioration on our normally excellent levels.</p>
<p><strong>What went wrong?</strong></p>
<p>Code Spaces is growing at an exponential rate, the number of new customers we acquire is going up every week and the amount of data we store is growing too. We saw this coming and made a number of strategic changes towards the end of last year to enable us to support our ever growing number of customers. The new infrastructure we rolled out is amazing; its quicker than anything we have seen before and scales in a way that will allow us to grow like never before. The problem that we face, however, is moving all of our existing customers over to this new infrastructure in a transparent way. That process has been happening for about 2 months now and the issues we are seeing are with those customers, we have completed about 95% of the transition and, while a few edge cases still exist, we are confident that the 99.9% uptime and availability that we are so proud of will be maintained going forward.</p>
<p>Everyone here at Code Spaces and AbleBots LLC are committed to ironing out the remaining issues and exceeding your expectations. We apologize for the inconvenience caused by the recent outages if they have affected you. Please do not hesitate to contact us if you have any questions or concerns.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codespaces.com/blog/2012/02/14/recent-outages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Code Spaces rolls out the first major update of 2012</title>
		<link>http://www.codespaces.com/blog/2012/01/22/code-spaces-rolls-out-the-first-major-update-of-2012/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-spaces-rolls-out-the-first-major-update-of-2012</link>
		<comments>http://www.codespaces.com/blog/2012/01/22/code-spaces-rolls-out-the-first-major-update-of-2012/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 18:48:11 +0000</pubDate>
		<dc:creator>Frank Lakatos</dc:creator>
				<category><![CDATA[Code Spaces]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://www.codespaces.com/blog/?p=155</guid>
		<description><![CDATA[This weekend&#8217;s update marks the first of many major improvements planned for Code Spaces since being adopted by AbleBots. We have big plans in store for Code Spaces, and I&#8217;d like to take a moment to tell you what we got started with. Subversion 1.7 Code Spaces now has full support for SVN 1.7, allowing [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend&#8217;s update marks the first of many major improvements planned for Code Spaces since being adopted by AbleBots. We have big plans in store for Code Spaces, and I&#8217;d like to take a moment to tell you what we got started with.</p>
<h2 id="svn17">Subversion 1.7</h2>
<p>Code Spaces now has full support for SVN 1.7, allowing you to take advantages of it&#8217;s new features. A request we frequently get from CS users is the ability to export your SVN repository on demand. In addition to the realtime backups CS currently offers, 1.7 users can take advantage of the new SVNRDUMP utility, which allows you to export your repo without requiring access to the remote server. Additionally, SVN PATCH was introduced to working along side of SVN DIFF for creating and applying patches.</p>
<p><span id="more-155"></span>As far as what 1.7 provides for Code Spaces, two words: &#8220;increased performance.&#8221; With  this release, the CS architecture was rebuilt from the ground up to push the performance to its limits: the new 1.7 protocol has been streamlined which means less overhead and quicker throughput for faster response times. On top of this our new architecture includes performance gains for repo authentication and fine grained permissions, access to commits, log requests, you name it. Our new architecture provides a very extensible foundation that will enable us to realize some of our more ambitious plans for Code Spaces like IP White/Blacklisting, and many more widely requested features. Keep an eye for these new features in the upcoming months.</p>
<p>SVN 1.7 also makes it easier for users who manage more than one Code Spaces account. Because of the way the SVN clients stored credentials, accessing multiple accounts was a bit of a pain point. SVN 1.7 introduces a slightly different URL scheme for repositories:</p>
<p><code>https://ACCOUNT_NAME.codespaces.com/svn/REPOSITORY_NAME</code></p>
<p>This allows your SVN client to properly identify different accounts, ensuring that it always uses the proper authentication.</p>
<h2 id="workitem">Work Items</h2>
<p>Work items will receive a great detail of attention this year &#8212; over this past year, we’ve received all types of great feedback from our customers on ways to make work items even more powerful for their teams. We started with two big requests:</p>
<ul>
<li><strong>Assigning owner’s of work items:</strong> Previously, if you created a work item, you became the owner. This works the majority of the time, but often you’ll want to create a work item on behalf of someone else. For instance, a project manager assigning a bug item to a developer <em>on behalf</em> of a quality control member. In short, now you can &#8212; work items now let you define who is the owner of the work items.</li>
<li><strong>Upload attachments from work items:</strong> While the ability to link previously uploaded documents to work items has always been available, the ability to upload attachments right from the work item was often ask for. We’ve accommodated this request by including an “Upload Attachment” button to the bottom of the new work item form, as well as creating an “Attachment” tab on existing work items, from where you can upload new attachments or link an existing document. Work item attachments go in to a special “Work Item Attachments” folder found in your documents, which contain subfolders whose name matches the Work Item they attachments belong to.</li>
</ul>
<h2 id="wiki">Wiki Updates</h2>
<p>The Wiki got some much needed attention as well..</p>
<ul>
<li><strong>Better default page:</strong> in short, users tend to be a little confused about how to get started  using the wiki for the first time. We provide a quick explanation as the default for every new page, as a means to get you up and running quickly.</li>
<li><strong>WYSIWYG:</strong> We have included a WYSIWYG editor for the wiki to help you create more powerful pages.</li>
<li><strong>Better default style:</strong> You’ll notice the CSS of the wiki has been cleaned up as well. We incorporated a better defined default CSS template that should help to make your content look more mature.</li>
<li><strong>Customizable CSS:</strong> To take the Wiki CSS a step further, you can now edit the stylesheet used by your wiki. Simply click the “Customize CSS” button found in the Wiki toolbar, and you can make real-time updates to the way your Wiki looks.</li>
</ul>
<h2>Honorable Mentions</h2>
<ul>
<li>Layout theming: We’ve added a more prominent header to the app, including the name of the current project for easy referencing.</li>
<li>Added invoices to the Payments page.</li>
<li>Fixed bug where new git repositories were being created twice.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.codespaces.com/blog/2012/01/22/code-spaces-rolls-out-the-first-major-update-of-2012/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Setting up your Git SSH Keys to work with CodeSpaces</title>
		<link>http://www.codespaces.com/blog/2011/12/17/setting-up-your-git-ssh-keys-to-work-with-codespaces/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setting-up-your-git-ssh-keys-to-work-with-codespaces</link>
		<comments>http://www.codespaces.com/blog/2011/12/17/setting-up-your-git-ssh-keys-to-work-with-codespaces/#comments</comments>
		<pubDate>Sat, 17 Dec 2011 13:49:24 +0000</pubDate>
		<dc:creator>Floyd Price</dc:creator>
				<category><![CDATA[Code Spaces]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.codespaces.com/blog/?p=144</guid>
		<description><![CDATA[Creating a Repository Creating a repository is as simple as clicking the &#8220;New Git Repository&#8221; button in the admin section toolbar. Once you have selected a name, etc.. you can click save and the repository will be created in Code Spaces (it can take a minute to create the Git repo on our servers). Permissions Git [...]]]></description>
			<content:encoded><![CDATA[<h2>Creating a Repository</h2>
<p>Creating a repository is as simple as clicking the &#8220;New Git Repository&#8221; button in the admin section toolbar. Once you have selected a name, etc.. you can click save and the repository will be created in Code Spaces (it can take a minute to create the Git repo on our servers).</p>
<h2>Permissions</h2>
<p>Git access permissions are setup in the repository settings, and you have a few options:</p>
<p><strong><span id="more-144"></span>Basic Mode</strong></p>
<p>Basic permissions mode will gave every user who is a member of the repositories linked projects full R/W access to the repository. This is great for quickly getting a project going where all members are going to need full access.</p>
<p><strong>Advanced Mode</strong></p>
<p>Advanced mode is more granular then Basic mode and requires that you explicitly set permissions for each user who will have access to the repository, you can also set up path based permissions in this view, but the most basic advanced permissions is to give &#8220;A User&#8221;  &#8221;R/W&#8221; access to the path &#8220;/&#8221;.</p>
<p>&nbsp;</p>
<h2>SSH Keys</h2>
<p>No matter what permissions mode you use you wont get access to your Git repository until you set up a SSH key. The following instructions are specific to Mac OSX users but are almost identical to Linux, and Windows instructions are just as easy (<a title="Using Code Spaces git on Windows" href="http://westdiscgolf.blogspot.com/2011/11/working-with-codespacescom-git_05.html" target="_blank">here is a great Windows specific write up</a>).</p>
<p><strong>Creating a key for use with Code Spaces</strong></p>
<p>In your favorite terminal go to your .ssh folder and run the ssh-keygen command:</p>
<p><a href="http://www.codespaces.com/blog/wp-content/uploads/2011/12/ssh-key-1.png"><img class="alignnone size-full wp-image-145" title="Create an SSH Key" src="http://www.codespaces.com/blog/wp-content/uploads/2011/12/ssh-key-1.png" alt="" width="589" /></a></p>
<p>So running the ssh-keygen command will first ask you for a name, i used codespaces_ssh_key in this example but it really doesn&#8217;t matter what you call it (its good to use a descriptive name though). Secondly is prompted for a passphrase, i did enter one and simple hit the return key (for a blank passphrase) again this is personal preference but adding a passphrase of your choice here is up to you. (NOTE: this is not your CS password).</p>
<p>And thats it, if you look at the files in your ~/.ssh folder you will now have two new files (codespaces_ssh_key and codespaces_ssh_key.pub in my example).</p>
<p><strong>Uploading your SSH Key to Code Spaces</strong></p>
<p>The file your interested in is the one that ends in .pub so open it up in your editor of choice or just cat it into your terminal output:</p>
<p><a href="http://www.codespaces.com/blog/wp-content/uploads/2011/12/ssh-key-2.png"><img class="alignnone size-full wp-image-146" title="Your new SSH key" src="http://www.codespaces.com/blog/wp-content/uploads/2011/12/ssh-key-2.png" alt="" width="589" /></a></p>
<p>Copy the contents of your file as this is what you will be adding to your Code Spaces account to make it all work (pretty geeky ey?)</p>
<p>Open up your Code Spaces account and navigate to your Profile page, you will see a tab names &#8220;SSH Keys&#8221; and in there you will an area where you can add a key (Key name and key Value). In the Key Value field copy the key from your clipboard and give it a nice name in the Key Name field:</p>
<p><a href="http://www.codespaces.com/blog/wp-content/uploads/2011/12/SSH-KEY-3.png"><img class="alignnone size-full wp-image-147" title="Add you key to your Code Spaces profile" src="http://www.codespaces.com/blog/wp-content/uploads/2011/12/SSH-KEY-3.png" alt="" width="410" height="255" /></a></p>
<p>And thats it, once you click the &#8220;Add Key&#8221; button Code Spaces will associate your key with your account and all the permissions you set up earlier will work.</p>
<p>To clone your repo run the following command:</p>
<pre><code>git clone git@codespaces.com:account_name/repo_name</code></pre>
<p>&nbsp;</p>
<h2>Troubleshooting</h2>
<p>&nbsp;</p>
<p><strong>Unable to Clone Repo (Permission Denied)</strong></p>
<p>If you have setup permissions (either basic or advanced) and have your key uploaded but still get an access denied message you can run the following command from the command line to test your configuration:</p>
<pre><code>ssh -vT git@codespaces.com</code></pre>
<p>This will give you a verbose output and will indicate which key was presented to the server and finally Code Spaces will give you a list of repositories it thinks you have access to.</p>
<p><strong>Can&#8217;t push in to a new Repository</strong></p>
<p>The first time you try and push code up to Code Spaces (in an empty repository) you might get an error like:</p>
<pre><code>error: src refspec master does not match any. </code></pre>
<pre><code>fatal: The remote end hung up unexpectedly</code></pre>
<p>This is normal and can me solved my running the following command</p>
<pre><code>git push origin master</code></pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codespaces.com/blog/2011/12/17/setting-up-your-git-ssh-keys-to-work-with-codespaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion 1.7 and various other updates</title>
		<link>http://www.codespaces.com/blog/2011/12/02/subversion-1-7-and-various-other-updates/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=subversion-1-7-and-various-other-updates</link>
		<comments>http://www.codespaces.com/blog/2011/12/02/subversion-1-7-and-various-other-updates/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 12:51:01 +0000</pubDate>
		<dc:creator>Floyd Price</dc:creator>
				<category><![CDATA[Code Spaces]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://www.codespaces.com/blog/?p=135</guid>
		<description><![CDATA[We are planning on rolling out a really big update the Code Spaces SVN backend before the new year, the exact date has not yet been decided however we will let you know as soon as we know. The update consists of: Subversion 1.7 Support. New notification service for Subversion Commits. Quicker authentication system. IP [...]]]></description>
			<content:encoded><![CDATA[<p>We are planning on rolling out a really big update the Code Spaces SVN backend before the new year, the exact date has not yet been decided however we will let you know as soon as we know.</p>
<p>The update consists of:</p>
<ul>
<li>Subversion 1.7 Support.</li>
<li>New notification service for Subversion Commits.</li>
<li>Quicker authentication system.</li>
<li>IP address based whitelists for Extra Security.</li>
<li>Recurring Billing.</li>
<li>Various Bug Fixes.</li>
<li>News Letters</li>
</ul>
<h2>Subversion 1.7 Support</h2>
<p>Once we roll out this update any new repositories you create will be served by version 1.7 of the Subversion Server, any old repositories you have will remain on 1.6. To move a 1.6 repository to 1.7 there will be a &#8220;Upgrade Repository&#8221; feature that will move your repo from the 1.6 based infrastructure to our new 1.7 based infrastructure. The move will also represent a change in the repository URL so the existing scheme :</p>
<p>https://svn.codespaces.com/[YOUR_ACCOUNT]/[REPO_NAME]</p>
<p>will change to:</p>
<p>https://[YOUR_ACCOUNT].svn.codespaces.com/[REPO_NAME].</p>
<p><span id="more-135"></span></p>
<h2>Notification Service</h2>
<p>The notification service that sites on our Subversion Infrastructure is 5 years old and its absolutly clear that we have outgrown it, currently during busy periods notifications can be delayed by as much as 1 hour which isn&#8217;t great when your business and/or development team relies on it to collaborate efficiently. The new notification service is a dedicated out-of-process infrastructure that can scale automatically to meet the notification demands. This end result is consistant, almost instand email notifications of Subversion Commits. This new infrastructre also enables us to offer other post commit notification and processing services (like SMS messaging, Continuous Integration, Deployment) which we will look at early in the new year.</p>
<h2>IP Address Whitelists</h2>
<p>A number of our enterprise customers like to restrict access to SVN repositories not only by user but also by IP Address, this security feature is a must for many larger corporations who employ strict change control and security procedure, with this update we are bringing this enterprise class feature to Code Spaces with configurable IP Based permissions to compliment our already ground breaking granular permissions system.</p>
<h2>Recurring Billing</h2>
<p>Our payment system has been upgraded to allow recurring billing, so no more emails with payment reminders <img src='http://www.codespaces.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h2>Bug Fixes</h2>
<p>We are always fixing bugs and rolling out minor changes, however because the Subversion 1.7 update is so large we are currently on a change freeze so all bug fixes and minor changes will be rolled out as part of this larger release. commencing the new year we will return to our more Agile release process and will be free to rollout bug fixes and minor changes within a week of them being approved for production.</p>
<h2>News Letter</h2>
<p>From the beginning of the new year we will be sending out a monthly new email to all account admins, this is a simple opt-out from our Code Spaces profile, however it will be only once a month and it will enable us to keep you informed on the upcoming changes to Code Spaces. Please note all important updates will also be posted here on this blog and on Twitter (as normal).</p>
<p>&nbsp;</p>
<p>As always please let us know if you have any comments or suggestions?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codespaces.com/blog/2011/12/02/subversion-1-7-and-various-other-updates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A little background on the New Website and the next 5 Years!</title>
		<link>http://www.codespaces.com/blog/2011/10/14/a-little-background-on-the-new-website-and-the-next-5-years/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-little-background-on-the-new-website-and-the-next-5-years</link>
		<comments>http://www.codespaces.com/blog/2011/10/14/a-little-background-on-the-new-website-and-the-next-5-years/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 10:12:14 +0000</pubDate>
		<dc:creator>Floyd Price</dc:creator>
				<category><![CDATA[Code Spaces]]></category>

		<guid isPermaLink="false">http://www.codespaces.com/blog/?p=130</guid>
		<description><![CDATA[Check out this blog article on our Ablebots.com site for some background on the recent changes to Code Spaces.]]></description>
			<content:encoded><![CDATA[<p>Check out <a title="ABLEBOTS CELEBRATES THE 5 YEAR ANNIVERSARY OF CODE SPACES" href="http://www.ablebots.com/2011/10/13/ablebots-celebrates-the-5-year-anniversary-of-code-spaces/">this blog article</a> on our <a href="http://www.ablebots.com">Ablebots.com</a> site for some background on the recent changes to Code Spaces.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codespaces.com/blog/2011/10/14/a-little-background-on-the-new-website-and-the-next-5-years/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Importing your Subversion Repository</title>
		<link>http://www.codespaces.com/blog/2011/06/09/importing-your-subversion-repository/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=importing-your-subversion-repository</link>
		<comments>http://www.codespaces.com/blog/2011/06/09/importing-your-subversion-repository/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 10:45:42 +0000</pubDate>
		<dc:creator>Floyd Price</dc:creator>
				<category><![CDATA[Code Spaces]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.codespaces.com/blog/?p=114</guid>
		<description><![CDATA[Quite often when you come to Code Spaces you will already have a Subversion repository, be it on your local infratructure or with another Subversion Hosting company. What you need. Before you can move your data in to our infrastucture you will need an SVN Dump of your existing repository, If you running your own [...]]]></description>
			<content:encoded><![CDATA[<p>Quite often when you come to Code Spaces you will already have a Subversion repository, be it on your local infratructure or with another Subversion Hosting company.</p>
<h2>What you need.</h2>
<p>Before you can move your data in to our infrastucture you will need an SVN Dump of your existing repository, If you running your own SVN infrestructure you can do this with the svnadmin dump command as follows:</p>
<pre>svnadmin dump repository_path &gt; repository_name.dump</pre>
<p>If you repository is hosted with a third party you will need to use the mechinism they have or raise a support ticket to get a SVN Dump of your data.<br />
<span id="more-114"></span></p>
<h2>When you have it.</h2>
<p>Once you have your dump file, you are ready to import your repository to Code Spaces, we have 2 methods depending on the size of your repository.</p>
<p><strong>Method A &#8211; For smaller dump files<br />
</strong></p>
<p>Code Spaces has a repository import function that you can use to upload a dump file and have the system auto import it for you. To use this create a new repository in your Code Spaces admin section and select the import repository option.<strong> </strong></p>
<p>This option is ideal if your repository is less than 100MB.</p>
<p><strong>Method B &#8211; For larger dump files</strong></p>
<p>If you repository dump file is large (&gt; 100MB) you may find that our manual import process is more efficient, simply raise a support ticket with us and send us a link to the dump file, we will (usually within 24 hours) be able to import of for you and verify the new repository for you.</p>
<p>If you have any problems with Method A or your repository is large, this metod is the best approach.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codespaces.com/blog/2011/06/09/importing-your-subversion-repository/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Customer Support</title>
		<link>http://www.codespaces.com/blog/2011/05/09/customer-support/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=customer-support</link>
		<comments>http://www.codespaces.com/blog/2011/05/09/customer-support/#comments</comments>
		<pubDate>Mon, 09 May 2011 23:19:34 +0000</pubDate>
		<dc:creator>Floyd Price</dc:creator>
				<category><![CDATA[Code Spaces]]></category>

		<guid isPermaLink="false">http://www.codespaces.com/blog/?p=108</guid>
		<description><![CDATA[In our ongoing effort to provide our customers with a better all round service we have migrated our Technical Support over to Collabable.com as always, you can get support by using the form on our Website or by sending an email to support@codespaces.com Our &#8216;A&#8217; Game Technical Support is an area where we often trump [...]]]></description>
			<content:encoded><![CDATA[<p>In our ongoing effort to provide our customers with a better all round service we have migrated our Technical Support over to <a href="http://www.Collabable.com">Collabable.com</a> as always, you can get support by using the form on our <a href="http://www.codespaces.com/contact">Website</a> or by sending an email to <a href="mailto:support@codespaces.com">support@codespaces.com</a></p>
<p><strong>Our &#8216;A&#8217; Game</strong></p>
<p>Technical Support is an area where we often trump our competition, we try to respond as soon as possible and to be as personal as possible at all times. If you email us a support request we try to break the common perception that emails to support departments go in to black holes and rarely come back, We try to exceed your expectations and most of the time I think we do.</p>
<p>With that said, managing 24/7 support requires a lot of hard work and commitment, because we want to be fresh and as helpful as we can at all times (yes Sunday evening at 23:00 hrs too) we need to provide our support reps with the tools to enable them to do there job from wherever they are.<br />
<span id="more-108"></span><br />
<strong>Raising the Bar</strong></p>
<p>We recently moved all our support to <a href="http://www.collabable.com">Collabable.com</a>, and while the platform itself is currently in Beta we couldn&#8217;t be happier. <a href="http://www.collabable.com">Collabable</a> enables us to respond to customer support requests, sales queries and general customer communications quicker and more conveniently than ever before.</p>
<p>Any user email we recieve generates a dedicated discussion in the <a href="http://www.collabable.com">Collabable</a> system, which we can manage form any location at any time, we can use our mobile devices (ipads, iphones) as if we were tied to our desks. These discussions are recorded for the user to review long after they are closed, we hope this will be a valuable addition to our toolset which will benefit all.</p>
<p>While we hope that you will never need to use our Support Services, should you need anything from us, its now simply a Discussion Away!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codespaces.com/blog/2011/05/09/customer-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon EC2 Outage (2011/04/21)</title>
		<link>http://www.codespaces.com/blog/2011/04/22/yesterdays-outage/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=yesterdays-outage</link>
		<comments>http://www.codespaces.com/blog/2011/04/22/yesterdays-outage/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 10:59:24 +0000</pubDate>
		<dc:creator>Floyd Price</dc:creator>
				<category><![CDATA[Code Spaces]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.codespaces.com/blog/?p=94</guid>
		<description><![CDATA[A day to remember! It was an interesting day, at around 8:40 (GMT) we started getting notifications from our monitoring instruments that our database cluster was failing over, one node at a time. Now this alone normally wouldn&#8217;t be a problem because we host with Amazon EC2 so new nodes should automatically be firing up [...]]]></description>
			<content:encoded><![CDATA[<h1>A day to remember!</h1>
<p>It was an interesting day, at around 8:40 (GMT) we started getting notifications from our monitoring instruments that our database cluster was failing over, one node at a time.</p>
<p>Now this alone normally wouldn&#8217;t be a problem because we host with Amazon EC2 so new nodes should automatically be firing up and joining the cluster, thus keeping the cluster alive.</p>
<p>But it was no &#8220;Normal&#8221; day, and new nodes didn&#8217;t fire up and the cluster did go down.</p>
<h2><strong>About Amazon EC2</strong></h2>
<p>Its safe to say that Amazon EC2 is an amazing implementation of Cloud Computing and the mechanisms they have in place to allows companies like ours to scale, and stay up are the best i have seen in the past 12 years of working in and running internet companies.</p>
<p>Amazon allow us to create &#8220;instances&#8221;, these are VM running our own software stack. They allow us to create an infinite number of them, and we can switch them on and off again at will.</p>
<p>Amazon also have a storage solution called EBS (Elastic Block Storage) which allows us to provision virtual disks that can be attached and detached to instances at will.</p>
<p>For the last four years this system has given us ~99.9% uptime and has allowed us to scale to meet our customer demands.</p>
<p><span id="more-94"></span></p>
<h2><strong>What happened to Amazon yesterday?</strong></h2>
<p>Yesterday amazon had a network failure that triggered a re-mirror of all the EBS volumes in the North Virginia data centre, this re-mirror combined with a large number of customers trying to fire up new instances to recover from the network failure caused Amazon to hit a storage capacity problem.</p>
<p>Basically they didn&#8217;t have enough disk space to support the re-mirror and as the thousands upon thousands of customers they have tried to fire up new replacement images the problem compounded its self.</p>
<p>Now its not for me to comment on Amazon running out of disk space as i&#8217;m sure there is more to it than that, but those are the details that Amazon have shared with us.</p>
<p>&nbsp;</p>
<h2><strong>So why did Code Spaces go down?</strong></h2>
<p>Take a quick look at the Infrastructure overview below, this is a very high level view of our world, basically each cluster relies on EBS volumes to store data and to perform block level (real time) backups (to the offsite backup devices):</p>
<p><strong> </strong><strong><span style="font-weight: normal;"><img src="http://www.codespaces.com/blog/wp-content/uploads/2011/04/Infrastructure-Overview.png" border="0" alt="Infrastructure Overview" width="600" height="600" /></span> </strong></p>
<p>Our DB cluster was in the effected region when amazon had its network failure yesterday, and all our DB volumes were trying to re-mirror and failing due to the capacity issues described above.</p>
<p>Had we known that the outage was going to be as long as it was (Amazon is still experiencing this issues 27 hours later) we would have moved our DB cluster in to a new availability zone and started new volumes from our backup.</p>
<p>Unfortunately Amazon took a long time (8 hours) to let us know that this was a big issue, and for those 8 hours we sat on our hands wondering if it would come back&#8230; It didn&#8217;t and at around 22:00 GMT we decided we (and you) had waited long enough, and we started our disaster recovery process.</p>
<p>&nbsp;</p>
<h2><strong>Why did you wait 8 hours?</strong></h2>
<p>This is where we made our mistake, we thought (even after 8 hours) that amazon would be only minutes away from solving this, Why? well Amazon didn&#8217;t communicate the severity of the issue in fact for the first 8 hours of the outage there network status page indicated that they had &#8220;Performance Issues&#8221; (See screenshot). As soon as they admitted that this was a Severe Issue we started our disaster recovery process, it took 15 minutes for us to move everything to a new availability zone and to have everything up and running with full data integrity (no data loss).</p>
<p><img src="http://www.codespaces.com/blog/wp-content/uploads/2011/04/aws.problems-thumb-610x403-29264.jpg" border="0" alt="Aws problems thumb 610x403 29264" width="600" height="396" /></p>
<p>&nbsp;</p>
<p><strong>So you waited 8 hours to do a 15 minute recovery?</strong></p>
<p>In a nut shell, yes! We waited (and waited) when in reality we could have implemented our recovery process and had you guys back up in 15 minutes, for that we are genuinely sorry!</p>
<p>&nbsp;</p>
<h1><strong>Lesson Learned.</strong></h1>
<p>Its still early to fully understand the impact of this, Amazon is still experiencing these issues, and many (many) sites are still down as a result of this (see <a href="http://ec2disabled.com">http://ec2disabled.com</a> for a complete list), However we have certainly learned a lot, and will be implementing the following ASAP:</p>
<p><strong>Communication Channels</strong></p>
<p>We need to be able to let you guys know whats happening in these extreme cases, so we have provisioned a server outside of Amazons infrastructure to hold a service status page, this will also hold a landing page for www.codespaces.com in the event that this happens again.</p>
<p>We will also be setting up a regular email to all customer (you can opt in or out) which will enable us to communicate with you and will give you a way to communicate back with us.</p>
<p><strong>Strict Processes</strong></p>
<p>We have a disaster recovery process and we have the mechanisms in place to implement it in 15 minutes, we have changed our internal processes and added a few more to ensure that on any kind of outage we are ready to push the button and get everything back up and running rather than waiting for our hosting company to do it for us.</p>
<p>&nbsp;</p>
<h1>The not so lucky ones!</h1>
<p>It appears as if there are many sites still down as a result of this, I can only assume that these sites do not employ the level of backup that we do and do not have a well practised and thorough recovery process that we do.</p>
<p>When (or if) these companies will get their data back is still not clear, and I really hope that these guys learn the larger lessons from this.</p>
<h1>A long hard look at ourselves</h1>
<p>I think this raises an interesting conundrum for anyone who relies on a third party for a core part of their business, be it you guys who use us for hosting your valuable code or companies like us who invest heavily in hosting companies to keep us going. You need to be sure that you can rely on the 3rd party to &#8220;do the right thing&#8221; and have provision to ensure that even in the worst eventuality your investment is safe.</p>
<p>While i wish we had reacted quicker (and we will learn from this) and started our recovery process earlier I hope we have proved to you that even under the worst eventuality (and it doesn&#8217;t get much worse than this, again look at the growing list <a href="http://ec2disabled.com">ec2disabled.com</a>) we have the systems in place and have invested in your best interests in infrastructure that not only scales but provides us with the confidence and security that we can not only keep your data safe but recover from the worst kind of outage.</p>
<p>&nbsp;</p>
<blockquote>
<h2>Here&#8217;s to a new day, with new (but slightly less chaotic) challenges!</h2>
</blockquote>
<p><strong>If you would like to discuss this further please feel free to email me at f[dot]price[at]codespaces.com, I will also be holding a number of Web Chats with people so please contact me if you would like to join one of those.</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codespaces.com/blog/2011/04/22/yesterdays-outage/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Where are my backups?</title>
		<link>http://www.codespaces.com/blog/2011/03/30/where-are-my-backups/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=where-are-my-backups</link>
		<comments>http://www.codespaces.com/blog/2011/03/30/where-are-my-backups/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 10:38:00 +0000</pubDate>
		<dc:creator>Floyd Price</dc:creator>
				<category><![CDATA[Code Spaces]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[From time to time we have customers who want to automate the download of backups. We have an API that will expose the backup data (file locations, etc&#8230;) which will enable you to easilly automate this, and store the backups yourself. The api is accessable by doing a HTTP GET to: http://[YOUR_ACCOUNT].codespaces.com/api/backups.xml or http://[YOUR_ACCOUNT].codespaces.com/api/backups.json As [...]]]></description>
			<content:encoded><![CDATA[<p>From time to time we have customers who want to automate the download of backups.</p>
<p>We have an API that will expose the backup data (file locations, etc&#8230;) which will enable you to easilly automate this, and store the backups yourself.</p>
<p>The api is accessable by doing a HTTP GET to:</p>
<p>http://[YOUR_ACCOUNT].codespaces.com/api/backups.xml</p>
<p><strong>or</strong></p>
<p>http://[YOUR_ACCOUNT].codespaces.com/api/backups.json</p>
<p>As you can see the API will expose the backup data in XML or JSON format.</p>
<p>&nbsp;</p>
<p><strong>NOTE</strong>: you will need to pass your login credentials with the request.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codespaces.com/blog/2011/03/30/where-are-my-backups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

