<?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/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://hoketronics.net</link>
	<description>Spiraled out of the Mind of Mike</description>
	<lastBuildDate>Sat, 17 Apr 2010 22:47:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<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>What&#039;s left @todo</title>
		<link>http://hoketronics.net/2009/03/10/whats-left-todo/</link>
		<comments>http://hoketronics.net/2009/03/10/whats-left-todo/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 08:00:50 +0000</pubDate>
		<dc:creator>mike.hochanadel</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[@ symbol]]></category>
		<category><![CDATA[@todo]]></category>
		<category><![CDATA[PHPDoc]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://hoketronics.net/?p=86</guid>
		<description><![CDATA[A couple of different developments cropped up in the last couple of months that's pulled me away from the blog.  One of them was a job change.  The company I'm working on a contract to hire basis is great and I've had the opportunity to learn many things in my short time there.  I do [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of different developments cropped up in the last couple of months that's pulled me away from the blog.  One of them was a job change.  The company I'm working on a contract to hire basis is great and I've had the opportunity to learn many things in my short time there.  I do PHP programming and I had the opportunity to freshen up on PHPDoc.  <a title="PHPDoc" href="http://www.phpdoc.org/" target="_blank">PHPDoc</a> is a documentation standard much like JavaDoc where you can comment code and drop in identifiers to help with the status of a certain function or class.  One of the identifiers is '@todo.'  After working with the <a title="The Monkey Tail is @ the Paradigm Shift" href="http://hoketronics.net/?p=89" target="_self">history of the '@' symbol</a> and how it relates in context, especially with GTD,  I came to realize how much this 5 character identifier has affected my life.</p>
<p>The '@todo' identifier states one thing clearly:  The following information is what's left or what's next to do.  It can be compared to the @NextAction context in GTD.  Once that action is completed, there may be another one next and subsequently a '@todo' identifier with that information will be listed.  The difference between that and GTD is that it's left in the code.  But, with a good IDE or a simple awk command, you can compile the list of @todo's for a project thus returning it to a GTD like state.</p>
<p>I'm the kind of person who's insane attention to detail will leave me always uncovering a rock or looking at a problem from all perspectives.  Some people call this being a pefectionist.  One of the major problems with being a perefectionist is that they will refine and tweak themselves into never getting anything done.  Analysis through paralysis is a common phrase for the problem.   And yes, I have that problem.</p>
<p>As some of you may know, a couple of years ago I hit rock bottom in paralysis and have somehow climbed my way step by step by implementing the GTD mehtod (as well as making other life changes).  The perfectionist in me still lives.  The initial mind dump and inbox organization took me about 3 days.  One of the hardest things to do while implementing the methodology was not being sure I was doing it right.  The common voice of the perfectionist.</p>
<p>So I'm slowly learning ot become an almost-perfectionist.  I still do my tweaks and twinges, but set a time limit before sending the product off.  Whenever I do so, there's that voice that doubts whether or not I've done right.  Even when I use a time limit, it reaches out and pulls me down to make sure I double check and triple check everything.  It's going to be with me forever.</p>
<p>Last month, an 'ah-ha' moment came.  And no I'm not talking about jumping up and singing 'Take on Me.'   What I'm talking about is when I started brushing up on PHPDoc, I realized that the '@todo' was the trademark for the perfectionist.  I can roll some code out but appease the perefectionist in me with the simple 5 letter incantonation.  The code is out and I can always come back to it to tweak and twinge.</p>
<p>I've accepted the fact that I will never be happy with my work.  I've also accepted that I will always find something wrong with it and attempt to fix it on the spot.  But with the '@todo' action I can drop the noted fix and move on.  I feel much more relieved and am producing more now that I've left @todo's not only in my code, but also in my other projects, my friends, my family, and my life.</p>
<img style='display:none' id="post-86-blankimage" onload="Meebo('discoverSharable', {element: this.parentNode,url:'http://hoketronics.net/2009/03/10/whats-left-todo/',title:'What\'s left @todo',tweet:'A couple of different developments cropped up in the last couple of months that\'s pulled me away fro',description:'A couple of different developments cropped up in the last couple of months that\'s pulled me away fro'})"><script type='text/javascript'>document.getElementById("post-86-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://hoketronics.net/2009/03/10/whats-left-todo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<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="/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>Subversion Install Swankiness Part I</title>
		<link>http://hoketronics.net/2008/11/08/subversion-install-swankiness-part-i/</link>
		<comments>http://hoketronics.net/2008/11/08/subversion-install-swankiness-part-i/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 17:42:56 +0000</pubDate>
		<dc:creator>mike.hochanadel</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Revision Control]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[revision control]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://hoketronics.net/?p=36</guid>
		<description><![CDATA[Here we go with the newly decided first part of my Subversion install series.  I decided to break it up into smaller chunks of articles as the first part really is the installation/setup part and the second is the integration/deploying part.  So with this first part we're gonna talk about downloading, verification, repository setup, and [...]]]></description>
			<content:encoded><![CDATA[<p>Here we go with the newly decided first part of my Subversion install series.  I decided to break it up into smaller chunks of articles as the first part really is the installation/setup part and the second is the integration/deploying part.  So with this first part we're gonna talk about downloading, verification, repository setup, and Apache integration.  I'll make it short and sweet as possible but grab a cup of joe so we can get started.</p>
<p>When figuring out how I should download Subversion, I weighed many options.  I could either grab the source from their <a href="http://subversion.tigris.org">website at Tigris</a> or install from Ubuntu's repository.  The hardcore geek in me wanted to compile from source, but I really wanted to roll out the software quick so I can focus on the blog code.  Also  updates trickle down from Ubuntu with relative automation, so I went with acquiring the binary from Ubuntu.  It really makes sense to knock out the binaries for tools surrounding a project and focus on source for project related code.  Why waste your time setting up a utility when it's the poject you should be working on?</p>
<p><span id="more-36"></span></p>
<p>After some research, I decided to follow the steps <a title="Install Subversion with Web Access on Ubuntu" href="http://www.howtogeek.com/howto/ubuntu/install-subversion-with-web-access-on-ubuntu/" target="_blank">provided by How-To Geek</a>.  I updated my repository and installed Subversion.  After the packages were downloaded, unpacked, and installed, I verified that it had indeed been setup on my system.  Here's how it happened:</p>
<p><code>hokey@tardis:~$ sudo apt-get install subversion<br />
Reading package lists... Done<br />
Building dependency tree<br />
Reading state information... Done<br />
The following extra packages will be installed:<br />
libneon26 libsvn1<br />
Suggested packages:<br />
subversion-tools db4.4-util<br />
The following NEW packages will be installed:<br />
libneon26 libsvn1 subversion<br />
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.<br />
Need to get 964kB of archives.<br />
After unpacking 5128kB of additional disk space will be used.<br />
Do you want to continue [Y/n]?</code></p>
<p><code>hokey@tardis:~$ svn --version<br />
svn, version 1.4.4 (r25188)<br />
compiled Sep 28 2007, 10:50:44</code></p>
<p><code>Copyright (C) 2000-2006 CollabNet.<br />
Subversion is open source software, see http://subversion.tigris.org/<br />
This product includes software developed by CollabNet (http://www.Collab.Net/).</code></p>
<p><code>The following repository access (RA) modules are available:</code></p>
<p><code>* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.<br />
- handles 'http' scheme<br />
- handles 'https' scheme<br />
* ra_svn : Module for accessing a repository using the svn network protocol.<br />
- handles 'svn' scheme<br />
* ra_local : Module for accessing a repository on local disk.<br />
- handles 'file' scheme</code></p>
<p>So after verification it was time to decide on where to create my new repository and setup web access.  Now with anything Linux-wise, you are pretty much left to your own notions as to where to drop a directory for installs.  Companies like Adobe use <code>/opt</code> for their application installs and some programs use <code>/var</code> to store data separate from program files.  I figured <code>/var/svn</code> was reasonable enough so I had at it, creating the directory and using the Subversion command <code>create</code> to setup the files:</p>
<p><code>hokey@tardis:/var$ sudo mkdir svn</code></p>
<p><code>hokey@tardis:/var$ sudo svnadmin create /var/svn/</code></p>
<p><code>hokey@tardis:/var$ cd svn<br />
hokey@tardis:/var/svn$ ls -lat<br />
total 36<br />
drwxr-xr-x  7 root root 4096 2008-11-07 17:54 .<br />
drwxr-xr-x  2 root root 4096 2008-11-07 17:54 conf<br />
drwxr-xr-x  2 root root 4096 2008-11-07 17:54 dav<br />
drwxr-sr-x  5 root root 4096 2008-11-07 17:54 db<br />
-r--r--r--  1 root root    2 2008-11-07 17:54 format<br />
drwxr-xr-x  2 root root 4096 2008-11-07 17:54 hooks<br />
drwxr-xr-x  2 root root 4096 2008-11-07 17:54 locks<br />
-rw-r--r--  1 root root  229 2008-11-07 17:54 README.txt<br />
drwxr-xr-x 15 root root 4096 2008-11-07 17:47 ..</code></p>
<p>Now that the repository was created, I needed to figure out how to get web access up.  Welp, thanks to the How-To Geek and the original coders of the module, there was one available to tie it all together.  Using <code>libapache2_svn</code>, a client can connect via Apache to a Subversion repository and write to it using DAV.  This was a perfect setup, even though the security isn't the greatest, for me to develop locally before deploying my sites to my host.  So here's how I did it:</p>
<p><code>hokey@tardis:/etc/apache2/mods-available$ sudo apt-get install libapache2-svn<br />
Reading package lists... Done<br />
Building dependency tree<br />
Reading state information... Done<br />
Suggested packages:<br />
db4.4-util<br />
The following NEW packages will be installed:<br />
libapache2-svn<br />
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 136kB of archives.<br />
After unpacking 344kB of additional disk space will be used.<br />
Get:1 http://us.archive.ubuntu.com gutsy/main libapache2-svn 1.4.4dfsg1-1ubuntu3 [136kB]<br />
Fetched 136kB in 1s (126kB/s)<br />
Selecting previously deselected package libapache2-svn.<br />
(Reading database ... 30761 files and directories currently installed.)<br />
Unpacking libapache2-svn (from .../libapache2-svn_1.4.4dfsg1-1ubuntu3_i386.deb) ...<br />
Setting up libapache2-svn (1.4.4dfsg1-1ubuntu3) ...<br />
Enabling dav as a dependency<br />
Module dav installed; run /etc/init.d/apache2 force-reload to enable.<br />
Module dav_svn installed; run /etc/init.d/apache2 force-reload to enable.</code></p>
<p>After I installed the module, I had to edit the <code>dav_svn.conf</code> file to point to my settings.  Following the instructions, I removed the comments for configuration which included:</p>
<ul>
<li>Setting the repository location:<code>Location /var/svn</code></li>
<li>Uncommenting <code>DAV svn</code></li>
<li>Setting the SVNPath: <code>SVNPath /var/svn</code></li>
<li>And ucommenting the authority settings:<br />
<code>AuthType Basic<br />
AuthName "Subversion Repository"<br />
AuthUserFile <em>XXXXXX</em><br />
Require valid-user</code></li>
</ul>
<p>I then setup the authentication:<br />
<code>hokey@tardis:/etc/apache2/mods-enabled$sudo htpasswd -cm /etc/apache2/dav_svn.passwd hokey<br />
New password:<br />
Re-type new password:<br />
Adding password for user hokey</code></p>
<p>After doing a quick restart: <code>hokey@tardis:/etc/apache2/mods-enabled$ sudo apache2ctl restart</code>, I got this:</p>
<div id="attachment_37" class="wp-caption aligncenter" style="width: 478px"><a href="http://hoketronics.net/~/html/hoketronics.net/wp-content/uploads/2008/11/subversionwrong.png"><img class="size-full wp-image-37" title="subversionwrong" src="http://hoketronics.net/~/html/hoketronics.net/wp-content/uploads/2008/11/subversionwrong.png" alt="The wrong Location" width="468" height="374" /></a><p class="wp-caption-text">The wrong Location</p></div>
<p>What was wrong?  I set the Location for Apache as <code>/var/svn</code>.  What I was shooting for was to have <code>/svn</code> as the root.  Doh!  The SVNPath already tells Apache where to look for the repository.  The Location tag and attribute in the configuration tell Apache where to display it on the web server.  So I made the change and restarted.   After testing authentication, I was ready to rock.  Stay tuned for Part 2 of my swankiness as I look to integrate Subversion with a project and deploy it back to my host.</p>
<img style='display:none' id="post-36-blankimage" onload="Meebo('discoverSharable', {element: this.parentNode,url:'http://hoketronics.net/2008/11/08/subversion-install-swankiness-part-i/',title:'Subversion Install Swankiness Part I',tweet:'Here we go with the newly decided first part of my Subversion install series.  I decided to break i',description:'Here we go with the newly decided first part of my Subversion install series.  I decided to break i'})"><script type='text/javascript'>document.getElementById("post-36-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://hoketronics.net/2008/11/08/subversion-install-swankiness-part-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java Redux</title>
		<link>http://hoketronics.net/2008/10/30/java-redux/</link>
		<comments>http://hoketronics.net/2008/10/30/java-redux/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 02:00:12 +0000</pubDate>
		<dc:creator>mike.hochanadel</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[IcedTea]]></category>
		<category><![CDATA[JDK]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://hoketronics.net/?p=25</guid>
		<description><![CDATA[It's been awhile since I worked with Java.  Well, more specifically, I last seriously worked with Java around the beginning of the century.  I figured, well why not set it up on the server and see what's going on nowadays?  I knew that the package install for the Java platform is sticky on linux machines.  [...]]]></description>
			<content:encoded><![CDATA[<p>It's been awhile since I worked with Java.  Well, more specifically, I last seriously worked with Java around the beginning of the century.  I figured, well why not set it up on the server and see what's going on nowadays?  I knew that the package install for the Java platform is sticky on linux machines.  So a quick cache search yielded me lots of results, with Iced Tea being the most interesting one.</p>
<p>As I was eyeballing the search results, <a title="IcedTea" href="http://icedtea.classpath.org/wiki//Main_Page" target="_blank">IcedTea</a> stuck out in my head.  I remembered over the summer an episode of <a title="FLOSS talks about IcedTea" href="http://twit.tv/floss33" target="_blank">FLOSS Weekly briefly touching upon IcedTead</a>.  Dalibor Topic and Bruno Souza from OpenJDK were interviewed about IcedTea and the satus of OpenJDK altogether.  It was very nice to see a fully open sourced implementation of the Sun Java platform.</p>
<p><a title="OpenJDK" href="http://openjdk.java.net/" target="_blank">OpenJDK</a> is an open sourced implementation the Java Platform, Standard Edition.  <a title="Open Source Java" href="http://www.builderau.com.au/news/soa/Java-will-be-free-this-year-says-Sun/0,339028227,339290004,00.htm" target="_blank">Sun just in 2006 decided to open source Java</a> and this year some traction took hold.  IcedTea (and OpenJDK) is the first to pass the <a title="Technology Compatibility Kit" href="http://en.wikipedia.org/wiki/Technology_Compatibility_Kit" target="_blank">Technology Compatibility Kit</a> tests and can claim to be a fully compatible Java 6 implementation.  It <a title="Fedora's Iced Tea" href="http://fedoraproject.org/wiki/Features/IcedTea" target="_blank">showed up on Fedora</a> but I forgot that it was on Ubuntu too.</p>
<p>I went the one liner route and installed IcedTea the quick and easy route:</p>
<p><code>hokey@tardis:~$ sudo apt-get install icedtea-java7-jdk</code></p>
<p>Which yielded me a bunch of other recommended packages, which I'll revisit later, but I was ready to hit the big 'Y':</p>
<p><code>Reading package lists... Done<br />
Building dependency tree<br />
Reading state information... Done<br />
The following extra packages will be installed:<br />
icedtea-java7-bin icedtea-java7-jre<br />
Suggested packages:<br />
binfmt-support icedtea-java7-demo icedtea-java7-source icedtea-java7-plugin sun-java6-fonts ttf-baekmuk ttf-unfonts ttf-unfonts-core<br />
ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho ttf-sazanami-mincho ttf-arphic-uming<br />
Recommended packages:<br />
liblcms1 lesstif2 libgnome2-0 libgnomevfs2-0 libgconf2-4 libgl1-mesa-glx<br />
The following NEW packages will be installed:<br />
icedtea-java7-bin icedtea-java7-jdk icedtea-java7-jre<br />
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.<br />
Need to get 36.8MB of archives.<br />
After unpacking 117MB of additional disk space will be used.</code></p>
<p>After installing the package a quick test verified its install:</p>
<p><code>hokey@tardis:~$ java -version<br />
java version "1.7.0"<br />
IcedTea Runtime Environment (build 1.7.0-b21)<br />
IcedTea Client VM (build 1.7.0-b21, mixed mode, sharing)</code></p>
<p>It's nice to get back to my Java roots using something completely open source and Java 6 compatible.  I've read up on a couple of things like JavaFX that I play around with and this is a good first step.  Plus, it's helping me dust some cobwebs that have been lurking in my head for a couple of years.  Who knows?  Once I get knuckle deep back into Java I might turn out some projects or maybe even something enterprise for headquaters.   At any rate, the Java mixes well with my morning coffee addiction and IcedTea mixes will with my afternoon green tea addiction.</p>
<img style='display:none' id="post-25-blankimage" onload="Meebo('discoverSharable', {element: this.parentNode,url:'http://hoketronics.net/2008/10/30/java-redux/',title:'Java Redux',tweet:'It\'s been awhile since I worked with Java.  Well, more specifically, I last seriously worked with J',description:'It\'s been awhile since I worked with Java.  Well, more specifically, I last seriously worked with J'})"><script type='text/javascript'>document.getElementById("post-25-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://hoketronics.net/2008/10/30/java-redux/feed/</wfw:commentRss>
		<slash:comments>0</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>
		<item>
		<title>While We Get Settled In, Let&#039;s Git Down To Business</title>
		<link>http://hoketronics.net/2008/10/21/while-we-get-settled-in-lets-git-down-to-business/</link>
		<comments>http://hoketronics.net/2008/10/21/while-we-get-settled-in-lets-git-down-to-business/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 13:59:14 +0000</pubDate>
		<dc:creator>mike.hochanadel</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Version]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://hoketronics.net/?p=9</guid>
		<description><![CDATA[I'm still working with what to bang out here at hoketronics.net.  Long term wise, I'm looking to integrate some social media profiles I have floating around in the name of consolidation.  Also, I'll look into implementing Open ID using hopefully some WordPress plugin magic. The content needs to be filled in as well.  Look for [...]]]></description>
			<content:encoded><![CDATA[<p>I'm still working with what to bang out here at hoketronics.net.  Long term wise, I'm looking to integrate some social media profiles I have floating around in the name of consolidation.  Also, I'll look into implementing Open ID using hopefully some WordPress plugin magic. The content needs to be filled in as well.  Look for some pages to crop up.  Also, I'll be testing out designs on the fly so if it breaks, please be patient, it will be all good real soon. But that's for this site.</p>
<p>I'm working on another site, <a title="KC College Gameday" href="http://kccollegegameday.com" target="_blank">http://www.kccollegegameday.com</a>, to help show my love for college football.  I first turned it out last year when a friend of mine and myself needed a reason to go watch college football every week out at some sports bar establishment.  That idea quickly turned into a website.  By mean quickly, I mean I hit up GoDaddy, registered the name, did the one click install from their scripting site, setup emails/accounts, searched and installed a free template, and blasted out an announcement.  The site could use some refreshing almost as bad as this one does.</p>
<p>Really, it's just minor ticks that need improved.  I really dig the color scheme but some of the style is just not lining up correctly.  A great example is the bullet points.  If a big point lands, it will center in the middle and look off.  Chances are I'm going to customize the current template, much like this open source base one here.  So look for some additions at that.  There's also some rotating image header script that's piquing my interest.</p>
<p>Backend wise, I mentioned that it was a one click WordPress install.  Welp, working with the new release here, I've decided to begin work on upgrading WordPress on KCCGD.  Right now, I'm weighing two options.  First, I can roll out the complete package and run an update script to bring the old database/code up to the current release.  Or I can research about using one instance of code for multiple blogs.  I haven't figured out which one, but will talk about the decision and experience soon.</p>
<p>All of this work needs to be tracked and I'm in the middle of getting back into habit of revision control.  I used <a title="Concurrent Versioning System" href="http://ximbiot.com/cvs/cvshome/" target="_blank">CVS</a> way back in the day at one of my K-State jobs and have heard of <a title="Git" href="http://git.or.cz/" target="_blank">Git</a>, <a title="Subversion" href="http://subversion.tigris.org/" target="_blank">Subversion</a>, and <a title="Mercurial" href="http://www.selenic.com/mercurial/wiki/" target="_blank">Mercurial</a>.  I've used Git in a limited fashion at work for some Python projects, but have yet to taste Subversion or Mercurial.  More than likely, I'll be doing something other than Git as a reason to learn new software.  What is the best version control software for websites?  Maybe the first step is to see what WordPress uses for their version control.  At any rate, I'll be talking about what route I go with that in the near future.  Until then, check out <a title="KC College Gameday" href="http://kccollegegameday.com" target="_blank">KC College Gameday</a> and let me know what you think.</p>
<img style='display:none' id="post-9-blankimage" onload="Meebo('discoverSharable', {element: this.parentNode,url:'http://hoketronics.net/2008/10/21/while-we-get-settled-in-lets-git-down-to-business/',title:'While We Get Settled In, Let\'s Git Down To Business',tweet:'I\'m still working with what to bang out here at hoketronics.net.  Long term wise, I\'m looking to in',description:'I\'m still working with what to bang out here at hoketronics.net.  Long term wise, I\'m looking to in'})"><script type='text/javascript'>document.getElementById("post-9-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://hoketronics.net/2008/10/21/while-we-get-settled-in-lets-git-down-to-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
