<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:ymaps="http://api.maps.yahoo.com/Maps/V2/AnnotatedMaps.xsd">

<channel>
	<title>Square Galaxy &#187; Software Engineering</title>
	<atom:link href="http://squaregalaxy.com/tag/software-engineering/feed/" rel="self" type="application/rss+xml" />
	<link>http://squaregalaxy.com</link>
	<description>A blog by Jacob</description>
	<lastBuildDate>Tue, 16 Mar 2010 19:11:58 +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>GDocsUploader 1.4 released</title>
		<link>http://squaregalaxy.com/tech/gdocsuploader-1-4-released/</link>
		<comments>http://squaregalaxy.com/tech/gdocsuploader-1-4-released/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 01:22:32 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[gdocsuploader]]></category>
		<category><![CDATA[Google Docs]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://squaregalaxy.com/?p=2618</guid>
		<description><![CDATA[While still in college, I wrote my first Mac OS X program to upload documents to Google Docs. The program is called GDocsUploader, and it supports drag-and-drop uploading of documents, spreadsheets, presentations, photos, and PDF files.
Today, almost 9 months since my last release, I am happy to release an updated version of the program.  [...]


Related posts:<ol><li><a href='http://squaregalaxy.com/tech/gdocsuploader-13-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.3 released'>GDocsUploader 1.3 released</a> <small>About a year ago I started a little programming project...</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader-12-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.2 released'>GDocsUploader 1.2 released</a> <small>I released version 1.2 (download) of my little GDocsUploader program....</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader/' rel='bookmark' title='Permanent Link: Gdocsuploader'>Gdocsuploader</a> <small>A while ago, I found myself needing to upload many...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><!-- WSA: rules for context 'incontent' said: don't show ad -->While still in college, I wrote my first Mac <acronym title="Operating System">OS</acronym> X program to upload documents to <a href="http://docs.google.com">Google Docs</a>. The program is called <a href="http://code.google.com/p/gdocsuploader/">GDocsUploader</a>, and it supports drag-and-drop uploading of documents, spreadsheets, presentations, photos, and <acronym title="Portable Document Format">PDF</acronym> files.</p>
<p>Today, almost 9 months since my <a href="http://squaregalaxy.com/tech/gdocsuploader-13-released/">last release</a>, I am happy to release an updated version of the program.  The new updated version will allow users to upload <acronym title="Portable Document Format">PDF</acronym> documents, a very much requested feature.  </p>
<p>You can <a href="http://code.google.com/p/gdocsuploader/downloads/list">download the new version from the Google Code project site</a>.<br />
<span id="more-2618"></span></p>
<p>I had been doing <a href="http://squaregalaxy.com/tech/pdf-support-in-gdata-api/">everything I could</a> to get Google to add <acronym title="Portable Document Format">PDF</acronym> uploading capabilities to their <acronym title="Application Programming Interface">API</acronym>.  I even submitted an official issue, which generated 73 comments and 136 stars, making it &#8220;the most requested feature.&#8221;  Last Friday, Google finally <a href="http://googledataapis.blogspot.com/2009/08/pdfs-revisions-folder-sharing-in.html">responded by releasing version 3.0</a> of their <acronym title="Application Programming Interface">API</acronym> which supported <acronym title="Portable Document Format">PDF</acronym> uploading.</p>
<p>The entire development of this project happens in my free time, on an old iBook G4.  Unfortunately, because the latest version of <acronym title="Operating System">OS</acronym> X will not run on this old laptop, I cannot ensure that the app works on Snow Leopard, nor can I fix it if it doesn&#8217;t.  I&#8217;ll probably think about creating a cross-platform version of the app which would run on Windows, Mac, or Linux through Adobe Air, providing greater platform stability.</p>
<p>If you would like to send me a monetary thank you gift for developing this, please consider donating through paypal.</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="4056118">
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"><br />
</form>

<p>Related posts:<ol><li><a href='http://squaregalaxy.com/tech/gdocsuploader-13-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.3 released'>GDocsUploader 1.3 released</a> <small>About a year ago I started a little programming project...</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader-12-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.2 released'>GDocsUploader 1.2 released</a> <small>I released version 1.2 (download) of my little GDocsUploader program....</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader/' rel='bookmark' title='Permanent Link: Gdocsuploader'>Gdocsuploader</a> <small>A while ago, I found myself needing to upload many...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://squaregalaxy.com/tech/gdocsuploader-1-4-released/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	<georss:point>40.5262095 -105.036514</georss:point><geo:lat>40.5262095</geo:lat><geo:long>-105.036514</geo:long>	</item>
		<item>
		<title>GDocsUploader 1.3 released</title>
		<link>http://squaregalaxy.com/tech/gdocsuploader-13-released/</link>
		<comments>http://squaregalaxy.com/tech/gdocsuploader-13-released/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 06:27:12 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[gdocsuploader]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://squaregalaxy.com/?p=2319</guid>
		<description><![CDATA[About a year ago I started a little programming project to upload documents to Google Docs.  I wrote a little program for Apple OS X called GDocsUploader to support drag-and-drop uploading of documents, spreadsheets, presentations, and photos.
Today I released an updated version of the program.  In addition to bug fixes, this new version supports video [...]


Related posts:<ol><li><a href='http://squaregalaxy.com/tech/gdocsuploader-1-4-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.4 released'>GDocsUploader 1.4 released</a> <small>While still in college, I wrote my first Mac OS...</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader-12-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.2 released'>GDocsUploader 1.2 released</a> <small>I released version 1.2 (download) of my little GDocsUploader program....</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader/' rel='bookmark' title='Permanent Link: Gdocsuploader'>Gdocsuploader</a> <small>A while ago, I found myself needing to upload many...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><!-- WSA: rules for context 'incontent' said: don't show ad -->About a year ago I started a little programming project to upload documents to <a href="http://docs.google.com">Google Docs</a>.  I wrote a little program for Apple <acronym title="Operating System">OS</acronym> X called <a href="http://code.google.com/p/gdocsuploader/">GDocsUploader</a> to support drag-and-drop uploading of documents, spreadsheets, presentations, and photos.</p>
<p>Today I released an updated version of the program.  In addition to bug fixes, this new version supports video uploads to Picasa.  Additionally, this new version makes it much easier to upload multiple files at the same time.</p>
<p>You can <a href="http://code.google.com/p/gdocsuploader/downloads/list">download the new version from the Google Code project site</a>.<br />
<span id="more-2319"></span></p>
<p>The entire development of this project happens in my free time, on an old iBook G4.  Donations would help me feel good about continued development of this project.</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="4056118">
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"><br />
</form>

<p>Related posts:<ol><li><a href='http://squaregalaxy.com/tech/gdocsuploader-1-4-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.4 released'>GDocsUploader 1.4 released</a> <small>While still in college, I wrote my first Mac OS...</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader-12-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.2 released'>GDocsUploader 1.2 released</a> <small>I released version 1.2 (download) of my little GDocsUploader program....</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader/' rel='bookmark' title='Permanent Link: Gdocsuploader'>Gdocsuploader</a> <small>A while ago, I found myself needing to upload many...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://squaregalaxy.com/tech/gdocsuploader-13-released/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>What bothers you most about this code?</title>
		<link>http://squaregalaxy.com/tech/what-bothers-you-most-about-this-code/</link>
		<comments>http://squaregalaxy.com/tech/what-bothers-you-most-about-this-code/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 19:59:56 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[question]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://jacob.peargrove.com/tech/?p=75</guid>
		<description><![CDATA[I came across this line of code today, and while I don&#8217;t normally hate other people&#8217;s coding style, this one has something in it that really bothers me:
i = ((unsigned int)(crcAccum &#62;&#62; 24) ^ *dataBlkPtr++ ) &#38; 0xff;

Related posts:Cross post code I&#8217;ve implemented a method which will automatically take posts I...
Harvest the code I thought [...]


Related posts:<ol><li><a href='http://squaregalaxy.com/tech/cross-post-code/' rel='bookmark' title='Permanent Link: Cross post code'>Cross post code</a> <small>I&#8217;ve implemented a method which will automatically take posts I...</small></li>
<li><a href='http://squaregalaxy.com/tech/harvest-the-code/' rel='bookmark' title='Permanent Link: Harvest the code'>Harvest the code</a> <small>I thought I would throw a few marbles around about...</small></li>
<li><a href='http://squaregalaxy.com/tech/atoi-getenv-myvar-linux-init/' rel='bookmark' title='Permanent Link: atoi(getenv(&#8220;MYVAR&#8221;))'>atoi(getenv(&#8220;MYVAR&#8221;))</a> <small>These are mostly personal notes. I&#8217;m not sure if they...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I came across this line of code today, and while I don&#8217;t normally hate other people&#8217;s coding style, this one has something in it that really bothers me:</p>
<pre>i = ((unsigned int)(crcAccum &gt;&gt; 24) ^ *dataBlkPtr++ ) &amp; 0xff;</pre>

<p>Related posts:<ol><li><a href='http://squaregalaxy.com/tech/cross-post-code/' rel='bookmark' title='Permanent Link: Cross post code'>Cross post code</a> <small>I&#8217;ve implemented a method which will automatically take posts I...</small></li>
<li><a href='http://squaregalaxy.com/tech/harvest-the-code/' rel='bookmark' title='Permanent Link: Harvest the code'>Harvest the code</a> <small>I thought I would throw a few marbles around about...</small></li>
<li><a href='http://squaregalaxy.com/tech/atoi-getenv-myvar-linux-init/' rel='bookmark' title='Permanent Link: atoi(getenv(&#8220;MYVAR&#8221;))'>atoi(getenv(&#8220;MYVAR&#8221;))</a> <small>These are mostly personal notes. I&#8217;m not sure if they...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://squaregalaxy.com/tech/what-bothers-you-most-about-this-code/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Death by writing files from the kernel</title>
		<link>http://squaregalaxy.com/tech/death-by-writing-files-from-the-kernel/</link>
		<comments>http://squaregalaxy.com/tech/death-by-writing-files-from-the-kernel/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 16:00:52 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://jacob.peargrove.com/tech/2008/platforms/linux/death-by-writing-files-from-the-kernel/</guid>
		<description><![CDATA[I&#8217;ve written my first semi-major Linux device driver.  I won&#8217;t say exactly what it does other than write data out to hardware.
Generally, it is well NOT accepted to write to files from the kernel.  If you ask how, people will tell you &#8220;don&#8217;t.&#8221;  I completely agree with all of the reasons provided, [...]


Related posts:<ol><li><a href='http://squaregalaxy.com/business/linux-development-process/' rel='bookmark' title='Permanent Link: Linux development process'>Linux development process</a> <small>Greg Kroah-Hartman came to my Open Source Software Engineering class...</small></li>
<li><a href='http://squaregalaxy.com/tech/drag-and-drop-into-konsole/' rel='bookmark' title='Permanent Link: Drag and drop into Konsole'>Drag and drop into Konsole</a> <small>I found a very cool thing today.  I use KDE...</small></li>
<li><a href='http://squaregalaxy.com/tech/upgrading-operating-systems/' rel='bookmark' title='Permanent Link: Upgrading operating systems'>Upgrading operating systems</a> <small>How would you respond if I told you that all...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written my first semi-major Linux device driver.  I won&#8217;t say exactly what it does other than write data out to hardware.</p>
<p>Generally, it is well <a href="http://www.linuxjournal.com/article/8110">NOT accepted to write to files from the kernel</a>.  If you ask how, people will tell you &#8220;don&#8217;t.&#8221;  I completely agree with all of the reasons provided, but I decided to do it anyway.</p>
<p>The hardware I&#8217;m writing data to isn&#8217;t readily available. I wanted to be able to test my code well without having to have the hardware available.  So I wrote in some non-release, non-production code that writes data to a file instead of to hardware, but only for testing purposes.  When in this simulation mode, the user can interact with the driver and data gets written to the file instead of to hardware, and then the file can be checked for accuracy.</p>
<p>User writes to driver -&gt; kernel driver handles write -&gt; driver writes to file</p>
<p>Easy enough?  I thought so until I tried writing to the driver as a regular system user.  I chmod&#8217;ed the driver so that the user had full privileges to read and write to the file. When root would write to the driver, everything worked, <strong>when the regular user would write to the driver, the kernel would crash</strong>.</p>
<p>The problem was that the user didn&#8217;t have write permissions to the test file that the driver was writing to.  I thought the kernel level driver could write to any file it wanted, but apparently, the user&#8217;s permissions to the file permeated through the kernel driver.  Changing the files permissions fixed things so they didn&#8217;t crash any more.</p>
<p>The caps lock and scroll lock lights blink on the keyboard when the kernel crashes.  Not quite fireworks, but still kind of cool.  Development in a virtual machine is key, so that you really don&#8217;t crash your computer, just the virtual machine.</p>

<p>Related posts:<ol><li><a href='http://squaregalaxy.com/business/linux-development-process/' rel='bookmark' title='Permanent Link: Linux development process'>Linux development process</a> <small>Greg Kroah-Hartman came to my Open Source Software Engineering class...</small></li>
<li><a href='http://squaregalaxy.com/tech/drag-and-drop-into-konsole/' rel='bookmark' title='Permanent Link: Drag and drop into Konsole'>Drag and drop into Konsole</a> <small>I found a very cool thing today.  I use KDE...</small></li>
<li><a href='http://squaregalaxy.com/tech/upgrading-operating-systems/' rel='bookmark' title='Permanent Link: Upgrading operating systems'>Upgrading operating systems</a> <small>How would you respond if I told you that all...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://squaregalaxy.com/tech/death-by-writing-files-from-the-kernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Error</title>
		<link>http://squaregalaxy.com/tech/adobe-error/</link>
		<comments>http://squaregalaxy.com/tech/adobe-error/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 20:38:01 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Toolkits and libraries]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[XULRunner]]></category>

		<guid isPermaLink="false">http://jacob.peargrove.com/tech/2008/web-development/adobe-error/</guid>
		<description><![CDATA[Today, Adobe announced a new product: Adobe Air.  The basic concept of this is that you can compile a web application that you&#8217;ve developed to be a run-time on a users system.  Adobe accomplishes this through distribution of the WebKit HTML rendering engine.  Basically, your apps run like they would in a [...]


Related posts:<ol><li><a href='http://squaregalaxy.com/tech/did-google-just-change-the-world-again/' rel='bookmark' title='Permanent Link: Did Google just change the world again?'>Did Google just change the world again?</a> <small>While Google is perhaps one of the most innovative web...</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader-1-4-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.4 released'>GDocsUploader 1.4 released</a> <small>While still in college, I wrote my first Mac OS...</small></li>
<li><a href='http://squaregalaxy.com/tech/flash-on-the-nokia-n810/' rel='bookmark' title='Permanent Link: Flash on the Nokia N810'>Flash on the Nokia N810</a> <small>In my continuing evaluation of the Nokia N810 Internet Tablet,...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Today, Adobe announced a new product: <a href="http://www.adobe.com/products/air/">Adobe Air</a>.  The basic concept of this is that you can compile a web application that you&#8217;ve developed to be a run-time on a users system.  Adobe accomplishes this through distribution of the WebKit <acronym title="HyperText Markup Language">HTML</acronym> rendering engine.  Basically, your apps run like they would in a web browser, except that they look more like they are a standalone desktop application.</p>
<p>Adobe has done a good job at allowing Air applications integrate well with the desktop.</p>
<p>Adobe isn&#8217;t the first to use internet delivery technologies for desktop applications.  Mozilla&#8217;s <a href="http://developer.mozilla.org/en/docs/XULRunner">XULRunner</a> allows developers to create and package multi-platform programs based off the same technology that powers <a href="http://promote.peargrove.com/firefox">Firefox</a>.   However, Adobe has done a good job at making it simple to publish very traditional <a href="http://en.wikipedia.org/wiki/AJAX"><acronym title="Asynchronous JavaScript and XML">AJAX</acronym></a> apps as desktop apps.</p>
<p>Adobe&#8217;s big problem is they only support Windows and Mac.  There is no Linux support, at least not yet.  One of Adobe Air&#8217;s big selling point is that it makes it easy to create cross-platform applications.  However, without Linux support, the most Adobe can advertise is dual-platform apps.</p>
<p>For a great demo Air app, look at this <a href="http://blog.davglass.com/files/yui/air1/">complex <acronym title="Yahoo User Interface Library">YUI</acronym> example</a>.</p>

<p>Related posts:<ol><li><a href='http://squaregalaxy.com/tech/did-google-just-change-the-world-again/' rel='bookmark' title='Permanent Link: Did Google just change the world again?'>Did Google just change the world again?</a> <small>While Google is perhaps one of the most innovative web...</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader-1-4-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.4 released'>GDocsUploader 1.4 released</a> <small>While still in college, I wrote my first Mac OS...</small></li>
<li><a href='http://squaregalaxy.com/tech/flash-on-the-nokia-n810/' rel='bookmark' title='Permanent Link: Flash on the Nokia N810'>Flash on the Nokia N810</a> <small>In my continuing evaluation of the Nokia N810 Internet Tablet,...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://squaregalaxy.com/tech/adobe-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCO goes private</title>
		<link>http://squaregalaxy.com/business/sco-goes-private/</link>
		<comments>http://squaregalaxy.com/business/sco-goes-private/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 22:51:16 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[bankruptcy]]></category>
		<category><![CDATA[financial]]></category>
		<category><![CDATA[litigation]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[SCO]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://jacob.peargrove.com/tech/2008/open-source/sco-goes-private/</guid>
		<description><![CDATA[According to a story on Slashdot today, The SCO Group received $100 million of investment to get themselves out of bankruptcy and back in the forward business direction.
SCO has been in loosing in law suits it brought against Novell and IBM.
I couldn&#8217;t think of better news.  I mean, from the people perspective, any good [...]


Related posts:<ol><li><a href='http://squaregalaxy.com/tech/how-much-is-an-old-computer-worth/' rel='bookmark' title='Permanent Link: How much is an old computer worth?'>How much is an old computer worth?</a> <small>Occasionally I get asked how much a particular used computer...</small></li>
<li><a href='http://squaregalaxy.com/business/linux-development-process/' rel='bookmark' title='Permanent Link: Linux development process'>Linux development process</a> <small>Greg Kroah-Hartman came to my Open Source Software Engineering class...</small></li>
<li><a href='http://squaregalaxy.com/politics/deficit-verses-debt/' rel='bookmark' title='Permanent Link: Deficit verses Debt'>Deficit verses Debt</a> <small>Some people confuse the terms  Deficit and Debt when talking...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>According to a story on Slashdot today, The <acronym title="Santa Cruz Operation">SCO</acronym> Group received $100 million of investment to get themselves out of bankruptcy and back in the forward business direction.</p>
<p><acronym title="Santa Cruz Operation">SCO</acronym> has been in loosing in law suits it brought against Novell and <acronym title="International Business Machines Corporation">IBM</acronym>.</p>
<p>I couldn&#8217;t think of better news.  I mean, from the people perspective, any good engineers still left at <acronym title="Santa Cruz Operation">SCO</acronym> might not loose their job.  From another people perspective,  now <acronym title="Santa Cruz Operation">SCO</acronym> has money to pay Novell, so they don&#8217;t have to lay off people.</p>
<p>All in all, I think all this means is there is a bigger turkey to roast and cut up.</p>

<p>Related posts:<ol><li><a href='http://squaregalaxy.com/tech/how-much-is-an-old-computer-worth/' rel='bookmark' title='Permanent Link: How much is an old computer worth?'>How much is an old computer worth?</a> <small>Occasionally I get asked how much a particular used computer...</small></li>
<li><a href='http://squaregalaxy.com/business/linux-development-process/' rel='bookmark' title='Permanent Link: Linux development process'>Linux development process</a> <small>Greg Kroah-Hartman came to my Open Source Software Engineering class...</small></li>
<li><a href='http://squaregalaxy.com/politics/deficit-verses-debt/' rel='bookmark' title='Permanent Link: Deficit verses Debt'>Deficit verses Debt</a> <small>Some people confuse the terms  Deficit and Debt when talking...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://squaregalaxy.com/business/sco-goes-private/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Harvest the code</title>
		<link>http://squaregalaxy.com/tech/harvest-the-code/</link>
		<comments>http://squaregalaxy.com/tech/harvest-the-code/#comments</comments>
		<pubDate>Thu, 17 May 2007 05:51:25 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Plone]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://jacob.peargrove.com/tech/2007/engineering/software/harvest-the-code/</guid>
		<description><![CDATA[I thought I would throw a few marbles around about my current personal coding project.  It is an object oriented content management system written in PHP.  In one of my other jobs, I&#8217;ve written something very similar, which means there is a good working proof of concept.
A lot of the ideas for features [...]


Related posts:<ol><li><a href='http://squaregalaxy.com/tech/advertising-on-google-code/' rel='bookmark' title='Permanent Link: Advertising on Google code'>Advertising on Google code</a> <small>Google should provide an option to allow projects hosted at...</small></li>
<li><a href='http://squaregalaxy.com/tech/what-bothers-you-most-about-this-code/' rel='bookmark' title='Permanent Link: What bothers you most about this code?'>What bothers you most about this code?</a> <small>I came across this line of code today, and while...</small></li>
<li><a href='http://squaregalaxy.com/tech/building-a-template/' rel='bookmark' title='Permanent Link: Building a template'>Building a template</a> <small>I&#8217;ve been working on a web page template to use...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I thought I would throw a few marbles around about my current personal coding project.  It is an object oriented content management system written in <acronym title="Pre-Hypertext Processing">PHP</acronym>.  In one of my other jobs, I&#8217;ve written something very similar, which means there is a good working proof of concept.</p>
<p>A lot of the ideas for features have come through my experiences with <a href="http://www.plone.org">Plone</a>, a content management system written on top of Zope in Python.  Plone is an excellent <acronym title="Content Management System">CMS</acronym>, but it is a little complicated, and my <acronym title="Content Management System">CMS</acronym> should be quite a bit easier to hack on.</p>
<p>I&#8217;m calling my project <em>Harvest</em> or <em>Harvest <acronym title="Content Management System">CMS</acronym></em>, I haven&#8217;t decided which one yet.  It goes along with my domain, <a href="http://www.peargrove.com">peargrove.com</a> which I use for various project hosting.</p>
<p>As the project gets underway, I&#8217;ll post a link to the project page or project blog or whatever else comes along.</p>

<p>Related posts:<ol><li><a href='http://squaregalaxy.com/tech/advertising-on-google-code/' rel='bookmark' title='Permanent Link: Advertising on Google code'>Advertising on Google code</a> <small>Google should provide an option to allow projects hosted at...</small></li>
<li><a href='http://squaregalaxy.com/tech/what-bothers-you-most-about-this-code/' rel='bookmark' title='Permanent Link: What bothers you most about this code?'>What bothers you most about this code?</a> <small>I came across this line of code today, and while...</small></li>
<li><a href='http://squaregalaxy.com/tech/building-a-template/' rel='bookmark' title='Permanent Link: Building a template'>Building a template</a> <small>I&#8217;ve been working on a web page template to use...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://squaregalaxy.com/tech/harvest-the-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Software architecture</title>
		<link>http://squaregalaxy.com/tech/software-architecture/</link>
		<comments>http://squaregalaxy.com/tech/software-architecture/#comments</comments>
		<pubDate>Wed, 11 Oct 2006 21:17:53 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[quotes]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://jacob.peargrove.com/tech/2006/engineering/software-architecture/</guid>
		<description><![CDATA[&#8220;Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled.&#8221;
Eoin Woods
Incorrect open source software architecture decisions may cause your project to fail.

Related posts:Life Tracker As a software engineer, I use a project management tools...
Linux development process Greg Kroah-Hartman came to my Open Source Software Engineering class...
Chalkboard [...]


Related posts:<ol><li><a href='http://squaregalaxy.com/tech/life-tracker/' rel='bookmark' title='Permanent Link: Life Tracker'>Life Tracker</a> <small>As a software engineer, I use a project management tools...</small></li>
<li><a href='http://squaregalaxy.com/business/linux-development-process/' rel='bookmark' title='Permanent Link: Linux development process'>Linux development process</a> <small>Greg Kroah-Hartman came to my Open Source Software Engineering class...</small></li>
<li><a href='http://squaregalaxy.com/education/chalkboard-design/' rel='bookmark' title='Permanent Link: Chalkboard design'>Chalkboard design</a> <small>I don&#8217;t know why I think this is interesting, but...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled.&#8221;</p>
<p>Eoin Woods</p></blockquote>
<p>Incorrect open source software architecture decisions may cause your project to fail.</p>

<p>Related posts:<ol><li><a href='http://squaregalaxy.com/tech/life-tracker/' rel='bookmark' title='Permanent Link: Life Tracker'>Life Tracker</a> <small>As a software engineer, I use a project management tools...</small></li>
<li><a href='http://squaregalaxy.com/business/linux-development-process/' rel='bookmark' title='Permanent Link: Linux development process'>Linux development process</a> <small>Greg Kroah-Hartman came to my Open Source Software Engineering class...</small></li>
<li><a href='http://squaregalaxy.com/education/chalkboard-design/' rel='bookmark' title='Permanent Link: Chalkboard design'>Chalkboard design</a> <small>I don&#8217;t know why I think this is interesting, but...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://squaregalaxy.com/tech/software-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux development process</title>
		<link>http://squaregalaxy.com/business/linux-development-process/</link>
		<comments>http://squaregalaxy.com/business/linux-development-process/#comments</comments>
		<pubDate>Mon, 09 Oct 2006 22:37:07 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Greg Kroah-Kartman]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Portland State]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://jacob.peargrove.com/tech/2006/open-source/linux-development-process/</guid>
		<description><![CDATA[Greg Kroah-Hartman came to my Open Source Software Engineering class today.  Here are a couple of interesting thoughts that I&#8217;ve been able to gather from his presentation:

New patches are tested with Andrew&#8217;s mm kernel, and if they work out, then they are sent to Linus&#8217; kernel.
Time between kernel versions should be about two months.
1475 [...]


Related posts:<ol><li><a href='http://squaregalaxy.com/tech/keeping-linux-under-ctrl-ctrl/' rel='bookmark' title='Permanent Link: Keeping Linux under Ctrl-Ctrl'>Keeping Linux under Ctrl-Ctrl</a> <small>Recently, Google released their Google Desktop product for Linux. I...</small></li>
<li><a href='http://squaregalaxy.com/tech/webcam-links-for-linux/' rel='bookmark' title='Permanent Link: Webcam Links for Linux'>Webcam Links for Linux</a> <small> camE Motion HowTo Webcam Server Howto Webcams for Sale...</small></li>
<li><a href='http://squaregalaxy.com/tech/guide-to-setting-up-linux-postfix-courier-squirrelmail-mail-server/' rel='bookmark' title='Permanent Link: Guide to setting up Linux  Postfix Courier SquirrelMail Mail Server'>Guide to setting up Linux  Postfix Courier SquirrelMail Mail Server</a> <small>IDEAlog.us &#8211; Helpful guide to setting up Linux Debian Postfix...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Greg Kroah-Hartman came to my Open Source Software Engineering class today.  Here are a couple of interesting thoughts that I&#8217;ve been able to gather from his presentation:</p>
<ul>
<li>New patches are tested with Andrew&#8217;s mm kernel, and if they work out, then they are sent to Linus&#8217; kernel.</li>
<li>Time between kernel versions <em>should</em> be about two months.</li>
<li>1475 unique contributors in one year alone</li>
<li>Grew kernel 6% in one year</li>
<li>2.6.18.y kernels are bugfixes only</li>
<li>Powerful to have a set list of rules so it is easy to say no to people</li>
<li>Day job: in charge of all SuSE kernel developers. All work remotely around the world.</li>
<li>Distros like to maintain an enterprise kernel for up to 7 years, which is crazy</li>
<li>E*Trade uses Gentoo because they can control it.</li>
<li>Modular kernel which little interconnectedness which makes it easy to have module maintainers who don&#8217;t</li>
<li>Tools: git, quilt, sparse</li>
<li>Linus&#8217; main job: say no</li>
<li>Linux isn&#8217;t developed, it evolves.  This means that there really isn&#8217;t a firm development plan.</li>
<li>Can&#8217;t go by time anymore with git</li>
<li>Signed-off-by is a blame path which create a reputation based system for submitting patches</li>
<li>The <acronym title="integrated development environment">IDE</acronym> module guy three times has gone crazy</li>
<li>Contributors have to defend their code</li>
<li>No development tree makes the engineering process more careful.  Things have to evolve gradually with small changesets.</li>
<li>All the drivers are in the tree.  This means that if you change an <acronym title="Application Programming Interface">API</acronym> function, then you can go and change all the drivers that use that <acronym title="Application Programming Interface">API</acronym> just like that.</li>
<li>People who work on open source projects are much more likely to get jobs, because you have currently shipping code.</li>
<li>Learn about licenses, they are very important.</li>
<li>Xen is a good example of running an open source project the wrong way.  There are political and social reasons why.</li>
</ul>

<p>Related posts:<ol><li><a href='http://squaregalaxy.com/tech/keeping-linux-under-ctrl-ctrl/' rel='bookmark' title='Permanent Link: Keeping Linux under Ctrl-Ctrl'>Keeping Linux under Ctrl-Ctrl</a> <small>Recently, Google released their Google Desktop product for Linux. I...</small></li>
<li><a href='http://squaregalaxy.com/tech/webcam-links-for-linux/' rel='bookmark' title='Permanent Link: Webcam Links for Linux'>Webcam Links for Linux</a> <small> camE Motion HowTo Webcam Server Howto Webcams for Sale...</small></li>
<li><a href='http://squaregalaxy.com/tech/guide-to-setting-up-linux-postfix-courier-squirrelmail-mail-server/' rel='bookmark' title='Permanent Link: Guide to setting up Linux  Postfix Courier SquirrelMail Mail Server'>Guide to setting up Linux  Postfix Courier SquirrelMail Mail Server</a> <small>IDEAlog.us &#8211; Helpful guide to setting up Linux Debian Postfix...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://squaregalaxy.com/business/linux-development-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chalkboard design</title>
		<link>http://squaregalaxy.com/education/chalkboard-design/</link>
		<comments>http://squaregalaxy.com/education/chalkboard-design/#comments</comments>
		<pubDate>Fri, 28 Oct 2005 06:45:03 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Photos]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://jacob.peargrove.com/blog/?p=155</guid>
		<description><![CDATA[I don&#8217;t know why I think this is interesting, but I do.  It just goes to show that if you go to design something for a computer program, things are bound to get a little messy.  Don&#8217;t try to make sense of it at all.  Just admire the beauty of computer software [...]


Related posts:<ol><li><a href='http://squaregalaxy.com/tech/software-architecture/' rel='bookmark' title='Permanent Link: Software architecture'>Software architecture</a> <small>&#8220;Software architecture is the set of design decisions which, if...</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader-1-4-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.4 released'>GDocsUploader 1.4 released</a> <small>While still in college, I wrote my first Mac OS...</small></li>
<li><a href='http://squaregalaxy.com/business/linux-development-process/' rel='bookmark' title='Permanent Link: Linux development process'>Linux development process</a> <small>Greg Kroah-Hartman came to my Open Source Software Engineering class...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know why I think this is interesting, but I do.  It just goes to show that if you go to design something for a computer program, things are bound to get a little messy.  Don&#8217;t try to make sense of it at all.  Just admire the beauty of computer software chalkboard design.</p>
<p><a href="http://jacob.peargrove.com/blog/wp-content/DSCF0050.jpg"><img src="http://jacob.peargrove.com/blog/wp-content/thumb-DSCF0050.jpg" alt="Design" /></a></p>

<p>Related posts:<ol><li><a href='http://squaregalaxy.com/tech/software-architecture/' rel='bookmark' title='Permanent Link: Software architecture'>Software architecture</a> <small>&#8220;Software architecture is the set of design decisions which, if...</small></li>
<li><a href='http://squaregalaxy.com/tech/gdocsuploader-1-4-released/' rel='bookmark' title='Permanent Link: GDocsUploader 1.4 released'>GDocsUploader 1.4 released</a> <small>While still in college, I wrote my first Mac OS...</small></li>
<li><a href='http://squaregalaxy.com/business/linux-development-process/' rel='bookmark' title='Permanent Link: Linux development process'>Linux development process</a> <small>Greg Kroah-Hartman came to my Open Source Software Engineering class...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://squaregalaxy.com/education/chalkboard-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
