<?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>Hoketronics - Mike Hochanadel &#187; Development</title>
	<atom:link href="http://hoketronics.net/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://hoketronics.net</link>
	<description>Spiraled out of the Mind of Mike</description>
	<lastBuildDate>Mon, 30 Aug 2010 05:01:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<script type="text/javascript">

Meebo=function(){(Meebo._=Meebo._||[]).push(arguments)};
(function(q){

	var args = arguments;
	if (!document.body) { return setTimeout(function(){ args.callee.apply(this, args) }, 100); }
	var d=document, b=d.body, m=b.insertBefore(d.createElement('div'), b.firstChild); s=d.createElement('script');
	m.id='meebo'; m.style.display='none'; m.innerHTML='<iframe id="meebo-iframe"></iframe>';
	s.src='http'+(q.https?'s':'')+'://'+(q.stage?'stage-':'')+'cim.meebo.com/cim/cim.php?network='+q.network;
	b.insertBefore(s, b.firstChild);

})({network:'hoketronics_xu13ye'});	</script>	<item>
		<title>Subversion Install Swankiness Part 2</title>
		<link>http://hoketronics.net/2008/12/08/subversion-install-swankiness-part-2/</link>
		<comments>http://hoketronics.net/2008/12/08/subversion-install-swankiness-part-2/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 00:16:37 +0000</pubDate>
		<dc:creator>mike.hochanadel</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Revision Control]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[revision control]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[worpress]]></category>

		<guid isPermaLink="false">http://hoketronics.net/?p=53</guid>
		<description><![CDATA[Welcome back to part 2 of my Subversion install series.  What we are going to go over is developing the right structure for the repository, importing a website, updating a website, then testing and deploying the website using some of Subversion's command sets.  There were some road blocks along the way and I will talk [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_57" class="wp-caption aligncenter" style="width: 510px"><a href="http://hoketronics.net/wp-content/uploads/2008/12/subversionpart2.png"><img class="size-full wp-image-57" title="Subersion Repository Snapshot" src="/wp-content/uploads/2008/12/subversionpart2.png" alt="Nothing Like A Fresh Subversion Import" width="500" height="350" /></a><p class="wp-caption-text">Nothing Like A Fresh Subversion Import</p></div>
<p>Welcome back to part 2 of my Subversion install series.  What we are going to go over is developing the right structure for the repository, importing a website, updating a website, then testing and deploying the website using some of Subversion's command sets.  There were some road blocks along the way and I will talk about that as well as some other thoughts about the process.  After that I'll talk about what's next but first let's setup and deploy some code.</p>
<p><span id="more-53"></span></p>
<p>The first step in molding the fresh install of Subversion into something workable, was to decide on what kind of structure I wanted to keep.  <a title="Setting Up Subversion for One or Multiple=">Articles</a> <a title="One SVN repository or many?" href="http://stackoverflow.com/questions/252459/one-svn-repository-or-many" target="_blank">online</a> <a title="One svn repo for multiple=">discussed</a> whether or not to keep multiple repositories for projects or maintain a single repository to house multiple projects.  In thinking of how I wanted it implemented, the simplicity of maintaining a single repository won over the cleanliness of revision management in multiple repositories.  Perhaps at a later date I can split it out or even incorporate Git, but for the purpose of getting started I'm going with one repository.</p>
<p>I decided to follow the <a title="Choosing Repository Setup" href="http://svnbook.red-bean.com/en/1.0/ch05s04.html#svn-ch-5-sect-6.1" target="_blank">svnbook's advice</a> of a creating a temporary directory structure to setup the initial framework of the repository.  In my case, there are three major areas I will develop in:  websites, scripts, and home related projects.  I created the structure and imported them in to Subversion using the <code>svn import</code> command.  After which, I deleted the temp directories and verified the structure below.  Here's the output:</p>
<p><code>hokey@tardis:~/tempdir$ sudo svn import . file:///var/svn/ --message 'Initial Repository Layout'<br />
[sudo] password for hokey:<br />
Adding         scripts<br />
Adding         headquarters<br />
Adding         web<br />
Adding         web/gonzoguys.com<br />
Adding         web/gonzoguys.com/trunk<br />
Adding         web/gonzoguys.com/branches<br />
Adding         web/gonzoguys.com/tags<br />
Adding         web/h0key.net<br />
Adding         web/h0key.net/trunk<br />
Adding         web/h0key.net/branches<br />
Adding         web/h0key.net/tags<br />
Adding         web/hoketronics.net<br />
Adding         web/hoketronics.net/trunk<br />
Adding         web/hoketronics.net/branches<br />
Adding         web/hoketronics.net/tags<br />
Adding         web/kccollegegameday.com<br />
Adding         web/kccollegegameday.com/trunk<br />
Adding         web/kccollegegameday.com/branches<br />
Adding         web/kccollegegameday.com/tags</code></p>
<p><code>Committed revision 1.<br />
hokey@tardis:~/tempdir$ svn list --verbose file:///var/svn<br />
1 root                  Nov 18 08:44 headquarters/<br />
1 root                  Nov 18 08:44 scripts/<br />
1 root                  Nov 18 08:44 web/<br />
hokey@tardis:~/tempdir$</code></p>
<p>It was time to work with local install of my website.  I copied the production code to my home folder on my local webserver.  After setting up the database and changing root path directives, I set about verifying the local page.   It looked good so I then downloaded the latest WordPress package.  Following the directions, I copied the updated code and again verified the website.  The recent point releases didn't affect the database schema, so I was good on that end.</p>
<p>Now that I updated my code to the latest WordPress point release, I imported the website into the Subversion repository.  Using <code>svn add</code>, I recursively added all of the new files from my website.  When it successfully added the file set, I committed the change using svn commit, complete with the initial import message.  Subversion pulls from CVS alot and these two commands reflect that.  It almost felt like I was greasing the code revision bicycle gears and getting back to the smooth ride of code management.</p>
<p>So now that I added the website files to the repository, I did it twice because of another point release in WordPress, it was time to test and deploy the code.  Using the <code>svn export</code> command, I copied the code to the web docs directory on my local webserver.  I decided on doing that instead of checking out the repository on the live site because I'm on a shared hosting platform for production and I didn't want trailing '.svn' folders eating up space.  Plus it adds the benefit of greater security.</p>
<p><code>hokey@tardis:/var/www/hoketronics.net$ sudo svn export http://localhost/svn/web/hoketronics.net/trunk ./hoketronics.net</code></p>
<p>The code exported to the local server.  This is where I ran into some issues.  The code portion of the website works well in different directories, but I need to come up with a way to manage dev/test/prod databases for link resolution.  The logon screen for the local test install pointed to the local dev install.  Regardless of that little issue, the code tested out well.  Now it was time to deploy the website to my shared host, minus the config file.</p>
<p>The other issue I ran into was the process of updating my shared host with the new code.  I run Linux on the webserver locally but my workstation runs Windows XP.  The best way, I thought at the time, to copy the update was to compress the test folder, copy it to my workstation, and then use Filezilla to copy it up to my shared host.  This proved laborious and it ended up taking more time than I expected due to two reasons: remembering the correct compression one liner and not taking advantage of a command line ftp client on the local webserver.</p>
<p>That said, the production site on the shared host updated with no breaks.  I logged on, verified the version, and inspected both the UI and and the backend files for any issues.  The Subversion process was almost complete.  After I updated the code, I made note to change the initial work flow for updating my site to handle updates from the local webserver to the shared host.  Also, I'll take some time to flesh out different configs for my environments to avoid any path issues the next time around.  Lastly, I'm going to make sure I centralize my one liners for easier access, maybe even using the repository to keep track of additions.</p>
<p>Subversion seems like a great centralized source code management tool.  With my CVS experience under the belt, much of the commands feel familiar and comforting when I invoke them.  Now that I have the repository live, <a title="KC College Gameday" href="http://kccollegegameday.com" target="_blank">kccollegegameday.com</a> is getting some work.  I'm looking forward to checking the 'diffs' when modifying pages and themes.  Chances are you'll see me talk about that on top of a couple of article ideas due to the roadblocks experienced with this project.</p>
<img style='display:none' id="post-53-blankimage" onload="Meebo('discoverSharable', {element: this.parentNode,url:'http://hoketronics.net/2008/12/08/subversion-install-swankiness-part-2/',title:'Subversion Install Swankiness Part 2',tweet:'[caption id=\"attachment_57\" align=\"aligncenter\" width=\"500\" caption=\"Nothing Like A Fresh Subversion',description:'[caption id=\"attachment_57\" align=\"aligncenter\" width=\"500\" caption=\"Nothing Like A Fresh Subversion'})"><script type='text/javascript'>document.getElementById("post-53-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://hoketronics.net/2008/12/08/subversion-install-swankiness-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#039;m as Free as a Songbird 1.0 Now</title>
		<link>http://hoketronics.net/2008/12/03/im-as-free-as-a-songbird-10-now/</link>
		<comments>http://hoketronics.net/2008/12/03/im-as-free-as-a-songbird-10-now/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 17:50:08 +0000</pubDate>
		<dc:creator>mike.hochanadel</dc:creator>
				<category><![CDATA[Media]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[songbird]]></category>

		<guid isPermaLink="false">http://hoketronics.net/?p=45</guid>
		<description><![CDATA[After a Thanksgiving hiatus, I'm back and while you are a recovering from the holidays and from my tacky headline, I want to talk about the Songbird 1.0 release.  A lot of other media outlets have covered this release so far, but I wanted to give my take on the media player.  I first found [...]]]></description>
			<content:encoded><![CDATA[<p>After a Thanksgiving hiatus, I'm back and while you are a recovering from the holidays and from my tacky headline, I want to talk about the <a title="Songbird 1.0" href="http://blog.songbirdnest.com/2008/12/02/songbird-10-is-here/" target="_blank">Songbird 1.0 release</a>.  A lot of <a title="Ars Technica Songbird 1.0" href="http://arstechnica.com/news.ars/post/20081202-first-look-can-songbird-1-0-replace-itunes-wmp.html" target="_blank">other</a> <a title="CNet Songbird 1.0" href="http://www.download.com/8301-2007_4-10111947-12.html?part=rss&amp;subj=news&amp;tag=2547-1_3-0-20" target="_blank">media</a> <a title="OStatic Songbird 1.0" href="http://ostatic.com/blog/songbird-1-0-flies-flock-of-new-features-on-the-horizon" target="_blank">outlets</a> have <a title="Lifehacker Songbird 1.0" href="http://lifehacker.com/5100579/songbird-10-release-official-fixes-bugs-plays-itunes-purchases" target="_blank">covered</a> this <a title="TechCrunch Songbird 1.0" href="http://www.techcrunch.com/2008/12/02/songbird-takes-flight-with-10-release/" target="_blank">release so far</a>, but I wanted to give my take on the media player.  I first found out about Songbird 1.0 since it was announced way back in 2005.  Since then, with each new point release, I've downloaded and played with its features.  It's great to see the evolution of what it was to where it is today.  But some of the issues I've had with seem to persist.</p>
<p>The Songbird bird project kicked off in response to the closed sourced media players dominating the choices serious music fans could make.  In the spirit of Firefox, they developed (using Mozilla's rendering engine) a media player that also browses the web much like Firefox.  What that introduced were new channels of music discovery and collaboration.  It was a good idea to start with and we're now starting to see a solid base with which other services can build from Songbird.</p>
<div id="attachment_49" class="wp-caption aligncenter" style="width: 504px"><img class="size-full wp-image-49" title="Importing Into Library" src="/wp-content/uploads/2008/12/importing-itunes.png" alt="This took forever on my 300,000+ catalog" width="494" height="133" /><p class="wp-caption-text">This took forever on my 300,000+ catalog</p></div>
<p>Songbird still has some work left, however.  It seems the goal for the project is to get to the heavy music enthusiasts first and let it float on down to casual music fans.  Importing large libraries and working with them should be a top priority.  For each point release, it seems with my library, which tops 3 digits in gigabytes, Songbird struggles during the initial import and thereafter.  Yes it's a lot of media to work with but if they want to top my current use of Winamp, they need to resolve that real soon.</p>
<p>The other issues I've experienced are somewhat trivial but nagging nonetheless.  They dropped PPC support for the Mac after the 0.7 release, which hinders me because of the Macs I still have running around at home.  Songbird has issues switching between the main view and the mini player view.  Lastly, podcast support is absent in the 1.0 release.  The only, seriously the ONLY, reason I use iTunes is for the podcast support.  If Songbird can champion that, I'll abandon iTunes.</p>
<div id="attachment_50" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-50" title="Media at the Bottom" src="/wp-content/uploads/2008/12/search-the-web.png" alt="Not Only is Skreemr Integrated, But I Can Download Direct at the Bottom" width="500" height="353" /><p class="wp-caption-text">Not Only is Skreemr Integrated, But I Can Download Direct at the Bottom</p></div>
<p>There are some great things about Songbird that make it a contender in the media player market.  The one that most appeals to me is how it displays all media on the bottom of a web page you are browsing.  Say you are hitting up your favorite music blog.  Usually there's media floating around on the page and you have to scroll around to find it.  This feature collects all of the media at the bottom and allows you to work directly with the files.</p>
<p>Songbird also has some developmental and extensibility features that put it head and shoulders above the rest.  Around the 0.5 release they split out development of Songbird into four factions: Themes, Extensions, Web Development, and Core Development.  This provided a clear path for all different types of coders to contribute to the project.  The most exciting one to me is the Web Development portion because of the API they provide.  You can use the API to setup your own 'store' to sell music as opposed to the store that iTunes locks you into.  The other development factions mirrors that of the Firefox community and I think we all know how well that put Firefox ahead in terms of browser potential.</p>
<p>It's great to see Songbird hit 1.0 and I look forward to finally getting in there and digging around in the code.  Somebody needs to improve super large library performance.  I've downloaded the source and compiled it, also setting up the dev kit for extensions, but that's been in the days of TRAC as it now looks like to they switched to Deki Community Edition form <a title="Mind Touch" href="http://www.mindtouch.com" target="_blank">Mindtouch</a>.  Hello, Songbird, it's time we meet again, now that your finally out of your shell.</p>
<img style='display:none' id="post-45-blankimage" onload="Meebo('discoverSharable', {element: this.parentNode,url:'http://hoketronics.net/2008/12/03/im-as-free-as-a-songbird-10-now/',title:'I\'m as Free as a Songbird 1.0 Now',tweet:'After a Thanksgiving hiatus, I\'m back and while you are a recovering from the holidays and from my t',description:'After a Thanksgiving hiatus, I\'m back and while you are a recovering from the holidays and from my t'})"><script type='text/javascript'>document.getElementById("post-45-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://hoketronics.net/2008/12/03/im-as-free-as-a-songbird-10-now/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Xampp&#039;ed Up But Turned Off To Portability</title>
		<link>http://hoketronics.net/2008/10/24/xampped-up-but-turned-off-to-portability/</link>
		<comments>http://hoketronics.net/2008/10/24/xampped-up-but-turned-off-to-portability/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 19:03:59 +0000</pubDate>
		<dc:creator>mike.hochanadel</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://hoketronics.net/?p=11</guid>
		<description><![CDATA[Before I rolled out the relaunch, I spent a good month trying to figure out the right kind of development environment for tools the I had available.  I have three laptops but all of the batteries are toast and the motherboard on one of them has gone the way of the dodo.  I convinced myself [...]]]></description>
			<content:encoded><![CDATA[<p>Before I rolled out the relaunch, I spent a good month trying to figure out the right kind of development environment for tools the I had available.  I have three laptops but all of the batteries are toast and the motherboard on one of them has gone the way of the dodo.  I convinced myself to develop exclusively off of a big ole Western Digital 80 GB Passport USB external drive.  First step done.  After doing some research I decided on XAMMP to drive my environment.  It was nice but there were some issues.</p>
<p>My real focus for this development environment setup was to be able to plug in the hard drive and code directly off of it.  I work off of multiple platforms at home and at the office.  Almost all of the apps do not have a single application to launch.  I already run some portable apps that support clients in Windows, Mac, and Linux flavors, like <a title="KeePass Password Manager" href="http://keepass.info/" target="_blank">KeePass</a>.  XAMMP advertised clients for each platform so I decided to give it a try.</p>
<p><a title="Xammp" href="http://www.apachefriends.org/en/xampp.html" target="_blank">XAMMP</a> is a fully integrated web application development server.  The purpose of XAMMP is to roll out a fully workable, out of the box *AMP stack.  The packages include an Apache2 server, PHP version 4 or 5, MySQL 5, and a torrent of management utilities and open soruce libraries/modules.  There are some differences between platforms for the package set, however.  The beauty behind it is that you can pick and choose what you want and start work within minutes.</p>
<p>At first, I wanted to setup all of the platform packages on the flash drive.  Due to the desire for cleanliness on the drive, however, I tried to install the software locally on all of my workstations.  Most of my time is spent on these machines anyway.  Linux was the easiest to turn out, mainly because it just dropped everything into the '/opt' directory.  I could change the doc and database links and move forward from there.  Windows was also a snap as I could modify configuration and turn services on and off with the included XAMMP control panel.  The Mac OS X client was not so easy.</p>
<p>The installer package for the Mac does not allow for choice.  It scans you computer to see if it's okay to run on and then drops it straight to the Applications folder.  The folder it installs to is not entirely encapsulated.  When the configuration points to the database files on the flash drive,  the service will crash upon startup.  I've already been exposed to issues on lock file management on Mac OS X Server, and the workaround didn't work for this issue.  The Apple puts the lock file in a directory other than the MySQL default setup.  When I symbolically linked the lock file, the database would start up.  This was not working with XAMMP.</p>
<p>After spending some small time here and there for about two weeks on it, I ended up just letting it go.  Attempts to find out on <a title="Portable?" href="http://www.apachefriends.org/f/viewtopic.php?t=30006&amp;highlight=portable" target="_blank">their forums page led me nowhere</a>.  Also in my research on this topic, I discovered a <a title="Portable Apps Xammp" href="http://portableapps.com/apps/development/xampp" target="_blank">Portable Apps version of Xammp</a> but it is Windows only.  Not much help there.  Maybe one day the devs on the project will look for better portable support.  Until then, I'm focusing on version management and working off my lil server in my apartment.</p>
<p>I'm still coming to terms with getting distracted on small setup roadblocks.  I really didn't need to waste the time figuring this out when what I really needed to do was to turn out this blog and other projects.  Struggling with Xammp taught me that sometimes the perfect environment will trickle down from actually working on things first rather than focusing on a perfect setup for work that hasn't started yet.  Plus it's alot more fun when you actually have projects in progress instead of dreaming of working on projects.</p>
<img style='display:none' id="post-11-blankimage" onload="Meebo('discoverSharable', {element: this.parentNode,url:'http://hoketronics.net/2008/10/24/xampped-up-but-turned-off-to-portability/',title:'Xampp\'ed Up But Turned Off To Portability',tweet:'Before I rolled out the relaunch, I spent a good month trying to figure out the right kind of develo',description:'Before I rolled out the relaunch, I spent a good month trying to figure out the right kind of develo'})"><script type='text/javascript'>document.getElementById("post-11-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://hoketronics.net/2008/10/24/xampped-up-but-turned-off-to-portability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
