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

<channel>
	<title>Bear&#039;s Journal &#187; bear</title>
	<atom:link href="http://code-bear.com/bearlog/author/bear/feed/" rel="self" type="application/rss+xml" />
	<link>http://code-bear.com/bearlog</link>
	<description>Gravity is the root of lightness; stillness, the ruler of movement</description>
	<lastBuildDate>Sat, 03 Jul 2010 08:10:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
	<atom:link rel="hub" href="http://superfeedr.com/hubbub" />
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/us/</creativeCommons:license>		<item>
		<title>Mozilla Summit 2010 &#8211; Schedule .ics generator</title>
		<link>http://code-bear.com/bearlog/2010/07/03/mozilla-summit-2010-schedule-ics-generator/</link>
		<comments>http://code-bear.com/bearlog/2010/07/03/mozilla-summit-2010-schedule-ics-generator/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 08:07:17 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/07/03/mozilla-summit-2010-schedule-ics-generator/</guid>
		<description><![CDATA[I was sitting at my desk going thru a mental checklist of things that need doing in the final couple of days before I travel to the 2010 Mozilla Summit (wow it&#8217;s like 4 days away!) and I read on one of the Moz Forums about someone asking for an .ics file of the schedule&#8230;
Hmm, [...]]]></description>
			<content:encoded><![CDATA[<p>I was sitting at my desk going thru a mental checklist of things that need doing in the final couple of days before I travel to the <a href="https://wiki.mozilla.org/Summit2010">2010 Mozilla Summit</a> (wow it&#8217;s like 4 days away!) and I read on one of the Moz Forums about someone asking for an .ics file of the schedule&#8230;</p>
<p>Hmm, I know VCALENDAR and can hack-parse html &#8230;</p>
<p>So 3 hours later and I have a very basic program that reads the Schedule wiki page, sucks out all of the tables that represent the daily schedules and generates a .ics ready for importing into your favourite calendar program.</p>
<p>Requires Python 2.6 or 2.5 with ElementTree installed: <a href="http://people.mozilla.org/~mtaylor/generate_summit_calender.py">generate_summit_calendar.py</a></p>
<p>enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/07/03/mozilla-summit-2010-schedule-ics-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fennec on Android &#8211; nightly builds</title>
		<link>http://code-bear.com/bearlog/2010/05/19/fennec-on-android-nightly-builds/</link>
		<comments>http://code-bear.com/bearlog/2010/05/19/fennec-on-android-nightly-builds/#comments</comments>
		<pubDate>Wed, 19 May 2010 04:33:51 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[build/release]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/05/19/fennec-on-android-nightly-builds/</guid>
		<description><![CDATA[With a lot of help from Aki, Ben (heck the entire RelEng team) and the Mozilla Mobile team, my work to enable nightly signed builds of Fennec for Android were landed.
\o/
This was an interesting task because it involved a little bit of each job in the RelEng world at Mozilla:
I had to update the puppet [...]]]></description>
			<content:encoded><![CDATA[<p>With a lot of help from Aki, Ben (heck the entire <a href="https://wiki.mozilla.org/ReleaseEngineering">RelEng</a> team) and the <a href="https://wiki.mozilla.org/Mobile">Mozilla Mobile</a> team, my work to enable <a href="http://ftp.mozilla.org/pub/mozilla.org/mobile/nightly/latest-mobile-trunk/fennec.apk">nightly signed builds of Fennec for Android</a> were landed.</p>
<p><b>\o/</b></p>
<p>This was an interesting task because it involved a little bit of each job in the <a href="http://wiki.mozilla.org/ReleaseEngineering">RelEng</a> world at <a href="http://mozilla.com">Mozilla</a>:</p>
<p>I had to update the <a href="http://www.puppetlabs.com/">puppet</a> manifest which we use to distribute files and manage configurations for the build farm so the signing keystore and configuration file would get to all of the production build servers. I also had to write a small <a href="http://python.org">Python</a> program to make the actual call to Jarsigner because if we just called it from within the <a href="http://buildbot.net">Buildbot</a> step, the output would include the keystore passwords and that appears on the build server&#8217;s web page &#8211; not good.</p>
<p>I also had to drill deep into the various parts of the <a href="http://mozilla.com">Mozilla</a> <a href="http://buildbot.net">Buildbot</a> configuration and custom code because the Android build was new and just different enough from the other mobile builds that it wasn&#8217;t just a cut-n-paste solution.</p>
<p>And all of this I was doing the <a href="http://mozilla.com">Mozilla</a> way for the first time and let&#8217;s just say they have some unique custom code :)</p>
<p>But today the first half of the task was completed and that allows the <a href="http://ftp.mozilla.org/pub/mozilla.org/mobile/nightly/latest-mobile-trunk/fennec.apk">nightly signed builds</a> to <a href="http://dougt.org/wordpress/2010/05/got-android-we-need-you/" title="android nightly builds">be made public</a>. What remains is to remove some work-arounds (for the packaging and tests) and then to start building the steps required to generate a release version of Fennec for Android.</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/05/19/fennec-on-android-nightly-builds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>building MCabber on OS X</title>
		<link>http://code-bear.com/bearlog/2010/04/16/building-mcabber-on-os-x/</link>
		<comments>http://code-bear.com/bearlog/2010/04/16/building-mcabber-on-os-x/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 06:38:36 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[xmpp]]></category>
		<category><![CDATA[developers]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/04/16/building-mcabber-on-os-x/</guid>
		<description><![CDATA[Just wanted to jot down some notes on what I had to do to get the XMPP console client MCabber to build from source on my MacBook Pro:
Note: If you run into any configure or make issues you may need to install some of the from-source tools I had already in place from my work [...]]]></description>
			<content:encoded><![CDATA[<p>Just wanted to jot down some notes on what I had to do to get the XMPP console client <a href="http://mcabber.com">MCabber</a> to build from source on my MacBook Pro:</p>
<p><b>Note</b>: If you run into any configure or make issues you may need to install some of the from-source tools I had already in place from my work to get Mozilla Firefox to build from source. I&#8217;ve covered that in detail on my <a href="http://wiki.mozilla.org/User:Bear:My_Environment">Mozilla wiki page</a>.</p>
<p>I used the current source tarball from the MCabber site &#8211; make sure you get the <a href="http://mcabber.com/files/mcabber-0.10.0.tar.bz2">MCabber source tarball</a> and also the <a href="http://mcabber.com/files/loudmouth-1.4.3+gitb5a9de5b.20100413.tar.bz2">Loudmouth library tarball</a>.</p>
<p>Extract both into your favourite working/source tree setup</p>
<blockquote>
<p>tar xf loudmouth-1.4.3+gitb5a9de5b.20100413.tar.bz2</p>
<p>tar xf mcabber-0.10.0.tar.bz2</p>
</blockquote>
<p>Build the Loudmouth library. Note: I put all of my source installed libs into /opt that way I can set LDFLAGS and CPPFLAGS to point to anything non-OSX that i&#8217;ve installed.</p>
<blockquote>
<p>cd loudmouth-1.4.3+gitb5a9de5b</p>
<p>./configure &#8211;prefix=/opt LDFLAGS=&#8221;-L/opt/lib&#8221; CPPFLAGS=&#8221;-I/opt/include&#8221; &#8211;with-ssl=openssl</p>
<p>make</p>
<p>sudo make install</p>
</blockquote>
<p>Switch over to the MCabber directory and build it</p>
<blockquote>
<p>cd mcabber-0.10.0</p>
<p>./configure &#8211;prefix=/Users/bear</p>
<p>make</p>
<p>make install</p>
</blockquote>
<p>and that&#8217;s it &#8211; you now have a console XMPP Client!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/04/16/building-mcabber-on-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mozilla Day One</title>
		<link>http://code-bear.com/bearlog/2010/03/02/mozilla-day-one/</link>
		<comments>http://code-bear.com/bearlog/2010/03/02/mozilla-day-one/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 10:20:13 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/03/02/mozilla-day-one/</guid>
		<description><![CDATA[The first day jitters are over, tho to be honest I didn&#8217;t really have any as I feel I know the Mozilla team already.
I first started interacting with them when I was with OSAF because as the build/release person for OSAF my job was to maintain the tools used and the vast majority of them [...]]]></description>
			<content:encoded><![CDATA[<p>The first day jitters are over, tho to be honest I didn&#8217;t really have any as I feel I know the <a href="http://mozilla.com">Mozilla</a> team already.<a href="http://osafoundation.org"></a></p>
<p>I first started interacting with them when I was with <a href="http://osafoundation.org">OSAF</a> because as the build/release person for <a href="http://osafoundation.org">OSAF</a> my job was to maintain the tools used and the vast majority of them turned out to be the same tools that <a href="http://mozilla.com">Mozilla</a> used. Little did I know that I would eventually inherit the care and feeding of some of them ;)</p>
<p>Now jump back to the present and I&#8217;m an employee of <a href="http://mozilla.com">Mozilla</a> and thankfully the culture hasn&#8217;t really changed, sure there are some &#8220;inside&#8221; differences and quirks, but I think they have done a good job at maintaining the same look-n-feel for folks no matter if your a mozilla.com person or a mozilla.org person.</p>
<p>For me the most fun was browsing the internal employee phonebook and seeing people who i&#8217;ve either admired or worked with on other projects &#8211; very cool :)</p>
<p>So forms have been filled out, subscriptions have been made and I think I&#8217;m plugged into all of the info sources I need to be wired into &#8211; now to figure out what the team needs to be solved and start learning.</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/03/02/mozilla-day-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing Jobs</title>
		<link>http://code-bear.com/bearlog/2010/02/28/changing-jobs/</link>
		<comments>http://code-bear.com/bearlog/2010/02/28/changing-jobs/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 16:14:44 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[mutterings]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/02/28/changing-jobs/</guid>
		<description><![CDATA[Starting March 1st, 2010 I will be working for Mozilla and will be part of the Build/Release team.
I&#8217;ve had a great time at Seesmic and have helped and participated in the different challenges Loic has thrown at us but the server environment has moved from the realm of &#8220;how do we solve this&#8221; to a [...]]]></description>
			<content:encoded><![CDATA[<p>Starting March 1st, 2010 I will be working for <a href="http://mozilla.com">Mozilla</a> and will be part of the Build/Release team.</p>
<p>I&#8217;ve had a great time at <a href="http://seesmic.com">Seesmic</a> and have helped and participated in the different challenges Loic has thrown at us but the server environment has moved from the realm of &#8220;how do we solve <i>this</i>&#8221; to a more normal production environment. Combine that with the fact that the Build team at Mozilla are working with mobile builds and have a build farm of over 600 servers, I just could not resist.</p>
<p>So I&#8217;m not leaving <a href="http://seesmic.com">Seesmic</a> for any specific reason, just moving to <a href="http://mozilla.com">Mozilla</a> because they are offering me a chance to help solve problems that just do not exist (that I know of) in any open build environment.</p>
<p>I still feel that the tools that <a href="http://seesmic.com">Seesmic</a> are creating to manage the personal social network environment are top notch and the design and developer team they have are going to continue to do amazing things.</p>
<p>I will get to enjoy them as a customer now :)</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/02/28/changing-jobs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPad and how it can be your only computer</title>
		<link>http://code-bear.com/bearlog/2010/01/29/ipad-and-how-it-can-be-your-only-computer/</link>
		<comments>http://code-bear.com/bearlog/2010/01/29/ipad-and-how-it-can-be-your-only-computer/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 08:00:56 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[mutterings]]></category>
		<category><![CDATA[tablet]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/01/29/ipad-and-how-it-can-be-your-only-computer/</guid>
		<description><![CDATA[I was chatting with fritzy just now and we were discussing the iPad and I suddenly had this AHA! moment.
Given that the iPad will have an optional keyboard and given that you can activate it using wifi and don&#8217;t need another Mac to day and given the fact that Apple has really enhanced MobileMe &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>I was chatting with <a href="http://identi.ca/fritzy">fritzy</a> just now and we were discussing the iPad and I suddenly had this <i>AHA</i>! moment.</p>
<p>Given that the iPad will have an optional keyboard and given that you can activate it using wifi and don&#8217;t need another Mac to day and given the fact that Apple has really enhanced MobileMe &#8211; you now have the ecosystem required to allow the iPad to exist in a home with <i>no</i> <b>other</b> computers.</p>
<p>Think about it &#8211; you can turn on your iPad, enter your Apple ID (or sign up for one) and then your online and in the cloud &#8211; MobileMe will handle the backup/sync requirements to any iPhone you may have and all you need is WiFi or 3G.</p>
<p>If you do have other computers, that&#8217;s just gravy for the experience.</p>
<p>Wow!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/01/29/ipad-and-how-it-can-be-your-only-computer/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>What exactly is Build/Release</title>
		<link>http://code-bear.com/bearlog/2010/01/29/what-exactly-is-buildrelease/</link>
		<comments>http://code-bear.com/bearlog/2010/01/29/what-exactly-is-buildrelease/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 06:28:41 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[build/release]]></category>
		<category><![CDATA[mutterings]]></category>
		<category><![CDATA[developers]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/01/29/what-exactly-is-buildrelease/</guid>
		<description><![CDATA[To understand why the Build/Release process is what I consider the most important part of any project, I first have to define what I consider to be the parts of the Build/Release process.
Build/Release starts from when the first line of code is created and continues all the way to when a user installs and runs [...]]]></description>
			<content:encoded><![CDATA[<p>To understand why the Build/Release process is what I consider the most important part of any project, I first have to define what I consider to be the parts of the Build/Release process.</p>
<p>Build/Release starts from when the first line of code is created and continues all the way to when a user installs and runs your application or accesses some part of your server or service. Yep, it&#8217;s inter-woven into all aspects of a project simply because if you don&#8217;t have quality steps all thru that process you end up with crap. It may be pretty shiny crap, but it&#8217;s still crap.</p>
<p>I find one of the better ways to visualize Build/Release is to work backwards from the customer and outline what it would take to research and solve any problem the customer is having. This often is classified by developers as bugs, but I&#8217;ve gotten more accustomed to thinking of them as Issues &#8211; because sometimes it&#8217;s not a coding defect that is causing the Issue, but rather a process or UX problem.</p>
<p>Your project, let&#8217;s call it twerzle has just been installed on your customer&#8217;s laptop and <b>bang</b> &#8211; they have a problem. What happens next depends on how prepared you were during the Release part of the Build/Release process.</p>
<ul>
<li>Do you have a support link or area on your project page</li>
<li>Is the version number or other project identifier easily discovered or located</li>
<li>Do you have a way for the user to give you the information you need without them having to be a digital forensics major?</li>
</ul>
<p>These items will change from release to release, so you need to have outlined what steps are required to update your web site and secondary documentation &#8211; you do have a README file or CHANGES file and that information is accessible right? So our twerzle user has found your support link on the page they downloaded the app and that page also has what the latest version is so they don&#8217;t have to guess &#8211; what is next?</p>
<ul>
<li>Is this link a simple email box? Is someone assigned to answer the emails? Do you have an auto-responder?</li>
<li>Is the link to a support forum? Has someone been tasked to monitor the forums? Is there a sticky-post showing the README contents?</li>
<li>Is the link to an IRC forum &#8211; better hope you have 24hr coverage because that&#8217;s a fast way to an irked user if no one is around to answer them 24&#215;7</li>
</ul>
<p>So, community support methods and practices aside (that&#8217;s a whole other subject that I don&#8217;t even begin to understand fully), you now have a support request from a user and for the sake of our example, it actually contains a version number and a complete description of the problem. This is when you find out if you have a <i>real</i> Build/Release process.</p>
<p>Given the version information for the issue, can you now go back and install a clean instance of that exact version? No, I am not talking about a developer having what they think is a clean checkout of the source. I am talking about being able to retrieve the exact distribution image and then being able to install it on a computer that has <b>NO</b> development environment. Yep, this step is where most projects fail as they depend on developers to reproduce issues. But that works only for coding defects &#8211; not for application usage or environment issues.</p>
<p>That is what the crux of Build/Release is, the ability to have all of the information that goes into a project&#8217;s distribution available to back-track and solve any issue a customer may have. What goes into this nebulous hand-waving bundle depends on a lot of details, but it almost always boils down to three items:</p>
<ol>
<li>Reproducibility</li>
<li>Documentation</li>
<li>Deployment</li>
</ol>
<p>Reproducibility means simply, do you have available all of the source code, the libraries, and the environment needed to build said source code available for each release you have made. If you do not, then you cannot truly reproduce a release and while you may be able to figure out what the problem is, you will not be able to fix it <b>for that release</b>. You will have to fix it in the trunk and hope that the code is the same and that the fix doesn&#8217;t break other things.</p>
<p>Documentation is all of the things that make up the how and why of the building and creation of a distribution. What versions of libraries are needed, what steps are to be taken, what tools and assumptions are being used and what the process is to bundle all of that into a distribution. Yes, here source code and scripts do count &#8211; as long as you include them in the distribution snapshot :)</p>
<p>Deployment is basically all of the above but from the point of view of non-developers. What is the process to deploy a new release for testing, how do you take the developer generated items and QA them. Once they are tested, what are the steps for deployment to the public. Do you have upgrade steps, are there extra tools and/or documentation that needs to be generated for upgrades versus new installs.</p>
<p>I realize I have only given a very short overview of what I consider a Build/Release process is but most of the time the above is what a lot of projects don&#8217;t do well for a lot of little reasons. I myself need to sit down and try and map out how I will communicate more details since it is so project specific.</p>
<p>Thanks for reading and I hope my bumbling attempt at communicating this process has come across in a useful manner.</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/01/29/what-exactly-is-buildrelease/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What is a Release Candidate anyways</title>
		<link>http://code-bear.com/bearlog/2010/01/15/what-is-a-release-candidate-anyways/</link>
		<comments>http://code-bear.com/bearlog/2010/01/15/what-is-a-release-candidate-anyways/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 23:55:20 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[build/release]]></category>
		<category><![CDATA[mutterings]]></category>
		<category><![CDATA[developers]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/01/15/what-is-a-release-candidate-anyways/</guid>
		<description><![CDATA[Fritzy posted a comment that got me thinking about what exactly are &#8220;good habits&#8221; (aka Best Practices) for open source build/release projects and while I&#8217;m not going to outline them all here in this post, I do want to cover one item: the Release Candidate.
What is a Release Candidate? The Apache Incubator site has a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://disqus.com/fritzy/">Fritzy</a> posted a <a href="http://code-bear.com/bearlog/2010/01/15/how-not-to-qa-your-open-source-project/#comment-30000250">comment</a> that got me thinking about what exactly are &#8220;good habits&#8221; (aka Best Practices) for open source build/release projects and while I&#8217;m not going to outline them all here in this post, I do want to cover one item: the Release Candidate.</p>
<p>What is a Release Candidate? The <a href="http://incubator.apache.org">Apache Incubator</a> site has a <a href="http://incubator.apache.org/guides/releasemanagement.html#glossary-release-candidate">guide</a> that defines it as</p>
<blockquote>
<h3 style="font-size: 16px; font-weight: bold;"><span style="font-family: Arial, Geneva, Helvetica, sans-serif; font-size: 14px; -webkit-border-horizontal-spacing: 4px; -webkit-border-vertical-spacing: 4px;"><a name="glossary-release-candidate" id="glossary-release-candidate">Release Candidate</a></span></h3>
<div class="section-content" style="padding-left: 1em; padding-right: 1em;">
<p><span style="font-family: Arial, Geneva, Helvetica, sans-serif; font-size: 14px; -webkit-border-horizontal-spacing: 4px; -webkit-border-vertical-spacing: 4px;">Collection of artifacts to be tested and voted on in order to release them. Sometimes folks use this term to refer only to a candidate source package.</span></p>
</p></div>
</blockquote>
<p>and while that&#8217;s a rather dry wording, it does outline the most crucial piece &#8211; that it is a collection of artifacts (aka source files, images, etc.) that are to be considered for the next release. Those items are generated from a &#8220;frozen&#8221; source tree and used to test that the release candidate is ready for distribution.</p>
<p>In all but the extreme edge cases, a Release Candidate is a very specific thing that can only come about because the Developers and the QA team have decided that the current set of bug-fixes and/or new features are stable enough to be ready for <i>consideration</i> as the next release. This does not mean you can take the latest generated output from your continuous integration tool (or at worse case the tarball the developer was using as his test install) and move that to the web site and stamp a v2.0 sticker on it.</p>
<p>Only for the most basic of projects can you consider the developer version of a distribution to be ready for release &#8211; the vast majority of projects all have secondary information to be included and also will require additional changes to any number of support-related documents or sites. At the very least you need to create your ChangeLog to outline what has been fixed and what is new.</p>
<p>So a release candidate starts with what the developers have created, gets updated and massaged so that it contains the extra information that makes a distribution and <i>then</i> that part is tested in a non-developer environment. Once those tests are done can you consider it ready to be installed or distributed to the public.</p>
<p>The flip side is what things can cause a release candidate to not be considered &#8211; that in my opinion, is a very short list and depends on how the project defines &#8220;show stopper&#8221; so it&#8217;s hard to generalize into a post. The one item for me that is always an immediate veto is if it is discovered that code that isn&#8217;t part of a bug fix or a feature that was scheduled for the release is found to have been introduced. The reason why is really simple &#8211; how can you properly test code if you don&#8217;t have the bug notes or feature notes to guide you in testing.</p>
<p>That is basically a very fast overview of what I consider a release candidate to be. I&#8217;m going to work on an outline for what I think are the core tenets for any open source project and start a blog post series covering them.</p>
<p>thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/01/15/what-is-a-release-candidate-anyways/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How not to QA your Open Source project</title>
		<link>http://code-bear.com/bearlog/2010/01/15/how-not-to-qa-your-open-source-project/</link>
		<comments>http://code-bear.com/bearlog/2010/01/15/how-not-to-qa-your-open-source-project/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 18:11:38 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[mutterings]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[identica]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/01/15/how-not-to-qa-your-open-source-project/</guid>
		<description><![CDATA[I really did not want to write a post about this because I completely understand the how and why of what happened, but after 2 days of not having access to a service that I&#8217;ve come to rely on it is getting hard to be patient and quiet.
Two days ago the very popular and useful [...]]]></description>
			<content:encoded><![CDATA[<p>I really did not want to write a post about this because I completely understand the how and why of what happened, but after 2 days of not having access to a service that I&#8217;ve come to rely on it is getting hard to be patient and quiet.</p>
<p>Two days ago the very popular and useful <a href="http://identi.ca/">Identi.ca</a> site was updated to version <a href="http://status.net/2010/01/13/0-9rc3-upgrade-13-january-2010-1000pm-est">0.9rc3</a> along with other Status.net sites. This is not the issue, Identi.ca has always been the proving ground for new features and as the open source arm of the project you have to expect some bugs.</p>
<p>What is the issue is that this <b>release candidate</b> (that is what the &#8220;rc&#8221; part of 0.9rc3 means) contained a lot of new code to deal with how the internal queues are managed.</p>
<p>Let me repeat that:</p>
<blockquote>
<p>a release candidate contained new code that was not a simple bug fix</p>
</blockquote>
<p>So now the entire XMPP stream has been taken offline to deal with the integration issues between the code and their XMPP server.</p>
<p>Come on guys, surely you have a QA and/or DevTest server? Why the hell are you continuing to introduce new code into release candidates.</p>
<p>Oh, and why don&#8217;t you just rollback the change?</p>
<p>And yes, before I get flamed and yelled at that &#8220;It is *free* so you have no right to complain&#8221; let me point out that if they offered a pay version, I would pay. Also since they have custom users and, I believe, even corporate installs, they should have better QA. It really is that simple.</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/01/15/how-not-to-qa-your-open-source-project/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>hello 2010</title>
		<link>http://code-bear.com/bearlog/2009/12/31/hello-2010/</link>
		<comments>http://code-bear.com/bearlog/2009/12/31/hello-2010/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 12:13:21 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[mutterings]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2009/12/31/hello-2010/</guid>
		<description><![CDATA[When I was in high school I seriously looked forward to 2010 as all of my favourite science fiction authors pegged the next decade as when a lot of action would be happening in space. Sadly it seems that we won&#8217;t be seeing any of that (at least not yet) but I still think it [...]]]></description>
			<content:encoded><![CDATA[<p>When I was in high school I seriously looked forward to 2010 as all of my favourite science fiction authors pegged the next decade as when a lot of action would be happening in space. Sadly it seems that we won&#8217;t be seeing any of that (at least not yet) but I still think it will be an interesting decade.</p>
<p>If you had asked me 6 months ago how things were going I probably would have given a mixed *shrug* as I was still in the middle of dealing with my father-in-law and his rapidly declining health and, to be honest, I was glad to 1) have a job and 2) have a house so that we (Elaine and myself) didn&#8217;t have even more things to worry about. But then right at the end of summer he passed on and now, after dealing with that event, things are sure looking different.</p>
<p>Two years ago we suddenly found out that most of us at OSAF were out of a job but that turned into a chance to join my first-ever startup &#8211; Seesmic. Now as I approach my second year at Seesmic I&#8217;m looking forward to see what happens next both personally and professionally.</p>
<p>The work i&#8217;ve done with XMPP and Python have really payed off, the rest of the world (well, ok, the web part of it) have really caught on to realtime data flow and XMPP is playing a big role in that and Python remains a good language to code in for both XMPP and other back-end apps.</p>
<p>So yea, big changes have happened and more to come I&#8217;m sure, but as long as I&#8217;m enjoying what I do (which I am) and as long as I keep my skills fresh, I don&#8217;t see any reason to not just keep moving along and enjoying this amazing field I call a career!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2009/12/31/hello-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
