<?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>Jason P. Brown &#187; Development</title>
	<atom:link href="http://jasonpbrown.com/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://jasonpbrown.com</link>
	<description>an experiment in brown noise</description>
	<lastBuildDate>Fri, 05 Mar 2010 22:06:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Strange WordPress Attachment Page Error</title>
		<link>http://jasonpbrown.com/development/strange-wordpress-attachment-page-error/</link>
		<comments>http://jasonpbrown.com/development/strange-wordpress-attachment-page-error/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 19:02:57 +0000</pubDate>
		<dc:creator>Jason P. Brown</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://jasonpbrown.com/?p=157</guid>
		<description><![CDATA[I was running into a strange WordPress error on attachment pages that were linked from a gallery embed on a normal blog post, and only for unauthenticated users.  This happened in the both the custom theme as well as the &#8230; <a href="http://jasonpbrown.com/development/strange-wordpress-attachment-page-error/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was running into a strange WordPress error on attachment pages that were linked from a gallery embed on a normal blog post, and only for unauthenticated users.  This happened in the both the custom theme as well as the default theme of the site in question under WordPress 2.9.2</p>
<p>The error was &#8220;Warning: Attempt to assign property of non-object in /path/to/wp-content/link-template.php on line 999&#8243;</p>
<p>The offending code looked like this:</p>
<pre>if ( empty($post-&gt;post_title)  )
$post-&gt;post_title = $previous ? __('Previous Post') : __('Next Post');</pre>
<p>Even though the theme the site is using didn&#8217;t have a custom Image Attachment Template (image.php), the default theme does, so it led me to believe the issue lied with the core files.  Essentially, it seems as though the post object wasn&#8217;t being set, and since I haven&#8217;t yet had the time to delve into a more proper method for resolving the error, I simply changed the if conditions to the following.</p>
<pre>if ( empty($post-&gt;post_title) &amp;&amp; !is_attachment() )
$post-&gt;post_title = $previous ? __('Previous Post') : __('Next Post');</pre>
<p>That cleared the error so at least I can get on with my life, and look into the real source of the problem when some free time shakes loose, preferrably before the next WordPress Upgrade boils the error back to the surface.</p>
]]></content:encoded>
			<wfw:commentRss>http://jasonpbrown.com/development/strange-wordpress-attachment-page-error/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Ubuntu Dev Platform: Part 2 &#8211; Install Ubuntu</title>
		<link>http://jasonpbrown.com/development/dev-platform-2/</link>
		<comments>http://jasonpbrown.com/development/dev-platform-2/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 05:00:14 +0000</pubDate>
		<dc:creator>Jason P. Brown</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VirtualBox]]></category>

		<guid isPermaLink="false">http://jasonpbrown.com/?p=144</guid>
		<description><![CDATA[Welcome to part 2 in a series of articles on building, using Sun&#8217;s VirtualBox, a basic Ubuntu 9.10 virtual machine (VM) for the development of PHP and Ruby on Rails (RoR) applications.  However, we aren&#8217;t quite there yet.  In this &#8230; <a href="http://jasonpbrown.com/development/dev-platform-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Welcome to part 2 in a series of articles on building, using Sun&#8217;s <a href="http://www.virtualbox.org/">VirtualBox</a>,   a basic <a href="http://www.ubuntu.com">Ubuntu 9.10</a> virtual machine (VM)   for the development of <a href="http://www.php.net">PHP</a> and <a href="hthttp://rubyonrails.org/">Ruby   on Rails</a> (RoR) applications.  However, we aren&#8217;t quite there yet.  In this step, we are installing Ubuntu Linux (9.10) on the blank Virtual Machine we created in <a href="http://jasonpbrown.com/development/dev-platform-1/">part 1</a>.</p>
<p><span id="more-144"></span></p>
<h2>Install Ubuntu</h2>
<p><a href="http://www.ubuntu.com/getubuntu/download">Download Ubuntu</a>.     By default, the button downloads the 32-bit version.  If you need  64-bit, or a version other than the one listed, click on the Alternative  download options link to expose more options.  When it&#8217;s done, you  should have an disc image (.ISO) of the installation media on your hard  drive.   If you are installing on a blank computer rather than a virtual  machine (VM), you will want to burn that .ISO to a CD.  In Windows 7  it&#8217;s part of the native functionality, but explaining how to do that is  outside the scope of this article.</p>
<p>Next we need to insert the media into our VM so it is available for  installation.  The easiest way to accomplish that on a brand new VM is  just to go ahead and start it.  You can do this by double-clicking the  name of the VM in the main VirtualBox window.  This will prompt you with  the First Run wizard.  Click next to pass the welcome screen and you  will arrive at the Select Installation Media screen.</p>
<p style="text-align: center;"><a href="http://jasonpbrown.com/wp-content/uploads/2010/01/installubuntu-select-media-1.png"><img class="aligncenter" title="Installing Ubuntu - Select  Media" src="http://jasonpbrown.com/wp-content/uploads/2010/01/installubuntu-select-media-1-300x227.png" alt="Installing Ubuntu - Select Media" width="300" height="227" /></a></p>
<p><strong>CD/DVD-ROM Device</strong> should be selected by default.  If not, make  it so.  Under Media Source, click on the <strong>folder icon</strong> to the  right of the drop-down.  This will launch the Virtual Media Manager with  the CD/DVD Images tab selected.</p>
<p style="text-align: center;"><a href="http://jasonpbrown.com/wp-content/uploads/2010/01/installubuntu-vmm.png"><img class="aligncenter" title="Install Ubuntu - Virtual Media  Manager" src="http://jasonpbrown.com/wp-content/uploads/2010/01/installubuntu-vmm-300x237.png" alt="Install Ubuntu - Virtual Media Manager" width="300" height="237" /></a></p>
<p>Click on the <strong>Add</strong> icon and browse to, then select, the Ubuntu  .ISO you previously downloaded.  This will close the Virtual Media  Manager and return you to the First Run wizards Select Installation  Media screen.  Note the Media Source.</p>
<p style="text-align: center;"><a href="http://jasonpbrown.com/wp-content/uploads/2010/01/installubuntu-select-media-2.png"><img class="aligncenter" title="Install Ubuntu - Select Media  Final" src="http://jasonpbrown.com/wp-content/uploads/2010/01/installubuntu-select-media-2-300x227.png" alt="Install Ubuntu - Select Media Final" width="300" height="227" /></a></p>
<p>Clicking <strong>Next </strong>will take you to a summary page.  Click <strong>Finish </strong>to begin booting the VM with the selected installation media.  The  Ubuntu install should begin almost immediately.</p>
<p>Use your arrow keys to select your language, then hit enter.  At the  resulting menu, select <strong>Install Ubuntu</strong>.  This will load a GUI  installer for Ubuntu.</p>
<p>I have to tell you, the Ubuntu installation is about as easy as OS  installations can get.  Select your Language, timezone, keyboard  preferences, partitioning scheme, enter your user information, and let  &#8216;er rip.  For me, the timezone and user information screen were the only  two I needed to provide meaningful input for, the rest were good by  default.</p>
<p>When it&#8217;s time to restart the machine you will prompted to remove the  installation media.  You can do this easily enough from the VirtualBox  menu at the top of the VM window; <strong>Devices =&gt; CD/DVD Devices =&gt;  Unmount CD/DVD Device</strong>.  At the point, you can safely reboot by  pressing the Enter key.</p>
<p>Once the VM comes back up, and you&#8217;ve logged in to your new Ubuntu  installation for the very first time, the first thing you will want to  do is install any update that has been published for your version.  Do  this through the GUI by navigating the System menu at the top left of  your Ubuntu interface (<strong>System =&gt; Administration =&gt; Update  Manager</strong>), or through the command line by bringing up a terminal  window (<strong>Applications =&gt; Accessories =&gt; Terminal</strong>) and  entering the following commands:</p>
<p><em>The dollar sign is not part of the command but is displayed to  indicate the start of a new line which will be helpful when my examples  start wrapping.</em></p>
<p><code>$ sudo aptitude update<br />
$ sudo aptitude upgrade</code></p>
<p>As soon as that is finished, you might have/want to reboot the  virtual machine.</p>
<p><code>$ sudo shutdown now -r</code></p>
<p>Our next step is installing the VirtualBox Guest Additions which are a  set of tools designed to make interacting with your new VM a whole lot  easier.  Using the VirtualBox menu, select <strong>Devices =&gt; Install  Guest Additions&#8230;</strong> or simple press your Host key and the D key  together (<strong>Right CTRL + D</strong> by default).  This will mount the Guest  Additions CD and probably prompt you with a worthless auto-play window.   Go ahead and cancel out of that, and return to your terminal window.</p>
<p>For 32-bit systems:<br />
<code>$ sudo /media/cdrom/VBoxLinuxAdditions-x86.run</code></p>
<p>For 64-bit systems:<br />
<code>$ sudo /media/cdrom/VBoxLinuxAdditions-amd64.run</code></p>
<p>Time for another reboot.</p>
<p><code>$ sudo shutdown now -r</code></p>
<p>Once it is back up, your are ready to continue on to the next step.   However, if you are thinking you might want to share folder between your  Host machine and your VM, it might behoove you to take a peek at <a href="http://jasonpbrown.com/personal-computing/virtualbox-folder-sharing/">this  article I wrote on folder sharing</a>.  Otherwise, continue on to Step  3: MySQL, PHP, REE, and nginx via source through Passenger!</p>
]]></content:encoded>
			<wfw:commentRss>http://jasonpbrown.com/development/dev-platform-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building an Ubuntu Dev Platform: Part 1 &#8211; VirtualBox</title>
		<link>http://jasonpbrown.com/development/building-an-ubuntu-dev-platform-part-1-virtualbox/</link>
		<comments>http://jasonpbrown.com/development/building-an-ubuntu-dev-platform-part-1-virtualbox/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 04:49:23 +0000</pubDate>
		<dc:creator>Jason P. Brown</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VirtualBox]]></category>

		<guid isPermaLink="false">http://jasonpbrown.com/?p=140</guid>
		<description><![CDATA[The goal of this article is to build, using Sun&#8217;s VirtualBox, a basic Ubuntu 9.10 virtual machine (VM) for the development of PHP and Ruby on Rails (RoR) applications.  We will be relying on the nginx web server, MySQL database &#8230; <a href="http://jasonpbrown.com/development/building-an-ubuntu-dev-platform-part-1-virtualbox/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The goal of this article is to build, using Sun&#8217;s <a href="http://www.virtualbox.org/">VirtualBox</a>,  a basic <a href="http://www.ubuntu.com">Ubuntu 9.10</a> virtual machine (VM)  for the development of <a href="http://www.php.net">PHP</a> and <a href="hthttp://rubyonrails.org/">Ruby  on Rails</a> (RoR) applications.  We will be relying on the <a href="http://nginx.org/">nginx</a> web  server, <a href="http://www.mysql.com/">MySQL</a> database engine, and <a href="http://www.modrails.com/">Phusion Passenger</a> (along with  their <a href="http://www.rubyenterpriseedition.com/">Ruby Enterprise Edition</a>)  in order to keep the development platform consistent with my particular  production environment.</p>
<p><span id="more-140"></span><img title="More..." src="http://jasonpbrown.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>While much of this is specific to my particular requirements, this  would be a good starting point for anyone looking to get their feet wet  with PHP and/or RoR application development.  It would also be a good  starting point for people interested in familiarizing or re-acquainting  themselves with Linux, as Ubuntu is about as newb-friendly as Linux  distributions get.</p>
<p>I should also note that even though I&#8217;m installing this as a virtual  machine, it would work equally well on a real machine without the use of  VirtualBox.  If you are going that route, or you are familiar with  creating new virtual machines, then skip the first step altogether and  go on to <a href="http://jasonpbrown.com/development/dev-platform-2/">part 2</a>.</p>
<h2>Create the Virtual Machine</h2>
<p>Install the <a href="http://www.virtualbox.org/wiki/Downloads">latest release of  VirtualBox</a> for your existing platform.  The latest version at time  of writing was 3.1.2.</p>
<p>Once installed, launch VirtualBox. From the <strong>Machine</strong> menu,  select <strong>New </strong>(or press CTRL+N) to start the  Create New Virtual  Machine wizard.  Click <strong>Next</strong> to continue past the welcome screen  to the Name and OS Type selection screen.</p>
<p style="text-align: center;"><a href="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-name-os.png"><img class="aligncenter" title="Create VM - Name and OS Type" src="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-name-os-300x227.png" alt="Create VM - Name and OS Type" width="300" height="227" /></a></p>
<p>Enter a descriptive name (like UbuntuDev) in the text box provided,  and choose <strong>Linux</strong> from the <strong>Operating System</strong> drop-down.   After selecting Linux, the drop-down for <strong>Version</strong> automatically  changed to <strong>Ubuntu</strong> on my version of VirtualBox.  If you are  running a 64-bit host operating system with an architecture that  supports VT-x or AMD-V virtualization technologies, then you can change  the <strong>Version</strong> to <strong>Ubuntu (64 bit)</strong>.  If what I just said made  you dizzy, you aren&#8217;t sure how to check, or you might be exporting the  VM for use on a computer you are unsure of, then leave the <strong>Version</strong> as <strong>Ubuntu</strong>.  There is no significant difference for our purposes,  but make a note of which you selected so that you know whether to be  downloading 32-bit or 64-bit binaries as we go on.   Click <strong>Next</strong> to continue to the Memory screen.</p>
<p style="text-align: center;"><a href="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-memory.png"><img class="aligncenter" title="Create VM - Memory allocation" src="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-memory-300x227.png" alt="Create VM - Memory allocation" width="300" height="227" /></a></p>
<p>Select the amount of memory (RAM) you&#8217;d like to dedicate to the  Ubuntu VM.  A good rule of thumb is to assign less than half of your  computer&#8217;s physical RAM to your VM, but you should never need more than  2GB (2048MB) for this sort of appliance.  In fact, 1GB (<strong>1024mb</strong>)  should be more than enough.  Also, keep in mind that this RAM is only  used while the VM is running, so it&#8217;s not like you have to be overly  stingy either.  Click <strong>Next</strong> to continue to the Virtual Hard Disk  screen.</p>
<p style="text-align: center;"><a href="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-harddisk.png"><img class="aligncenter" title="Create VM - Virtual Hard Disk" src="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-harddisk-300x227.png" alt="Create VM - Virtual Hard Disk" width="300" height="227" /></a></p>
<p>The Virtual Hard Disk screen is cake, assuming that <strong>Boot Hard Disk  (Primary Master)</strong> is checked, and <strong>Create new hard disk</strong> is  selected, you can click <strong>Next</strong> to spawn the New Virtual Disk wizard  screen.  At the Welcome screen, click Next to continue to the Hard Disk  Storage Type selection.</p>
<p style="text-align: center;"><a href="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-vhd-type.png"><img class="aligncenter" title="Create VM - Disk Storage Type" src="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-vhd-type-300x227.png" alt="Create VM - Disk Storage Type" width="300" height="227" /></a></p>
<p>Another easy one, choose <strong>Dynamically expanding storage</strong>, and  click <strong>Next</strong> to continue on to the Disk Location and Size screen.</p>
<p style="text-align: center;"><a href="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-vhd-size.png"><img class="aligncenter" title="Create VM - Virtual Disk  Location and Size" src="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-vhd-size-300x227.png" alt="Create VM - Virtual Disk Location and Size" width="300" height="227" /></a></p>
<p>The <strong>Location</strong> field should be auto-populated with a variation  of the name you chose for this VM, but feel free to change it if you  like.  The <strong>Size</strong> warrants some consideration.  First, an  explanation; virtual disks are represented individually as single large  files on your hard drive.  Had we chose Fixed-size storage on the  previous screen, then whatever value we enter here would determine the  size of the corresponding file.  However, since we chose Dynamically  expanding storage, the size selected here only represents the largest  possible size the virtual drive could consume, but in reality the file  stored on our physical hard drive will be much smaller.  In this  specific case, it will be less than 5GB after we&#8217;ve installed  everything.  In addition, running out of space is kind of a pain to  rectify, so we definitely don&#8217;t want to be stingy.  Mine defaulted to  8.00 GB, and even though I know that will be enough room for this VM&#8217;s  intended purpose, I doubled it to be safe. Tripling it works too, or  even quadrupling it since it is very unlikely that this VM will ever  need that much space, and it will likely sit below 10gb for the duration  of it&#8217;s lifespan.  Once you&#8217;ve selected a size, click <strong>Next</strong> to  see the virtual disk summary screen.  If everything looks right, <strong>Finish</strong> to return to the virtual machine summary page.</p>
<p style="text-align: center;"><a href="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-summary.png"><img class="aligncenter" title="Create VM - Summary" src="http://jasonpbrown.com/wp-content/uploads/2010/01/createvm-summary-300x227.png" alt="Create VM - Summary" width="300" height="227" /></a></p>
<p>Review, and when ready, click <strong>Finish</strong> there too.</p>
<p>Need a break?  Take one, otherwise you can continue on to <a href="http://jasonpbrown.com/development/dev-platform-2/">Part 2 &#8211; Installing Ubuntu</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jasonpbrown.com/development/building-an-ubuntu-dev-platform-part-1-virtualbox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
