<?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; Website</title>
	<atom:link href="http://hoketronics.net/category/website/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>Quick Book Review: Steve Krug&#039;s Don&#039;t Make Me Think</title>
		<link>http://hoketronics.net/2009/07/14/quick-book-review-steve-krugs-dont-make-me-think/</link>
		<comments>http://hoketronics.net/2009/07/14/quick-book-review-steve-krugs-dont-make-me-think/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 18:58:09 +0000</pubDate>
		<dc:creator>mike.hochanadel</dc:creator>
				<category><![CDATA[Website]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Don't Make Me Think]]></category>
		<category><![CDATA[Steve Krug]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://hoketronics.net/?p=154</guid>
		<description><![CDATA[
I just put down the second edition of Steve Krug's "Don't Make Me Think" so I'm putting down some quick thoughts about the book as a whole.  For those of you that don't know, web usability is a big topic when designing, developing, and marketing a website.  Steve Krug comes from a background [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-157   aligncenter" title="sk_dmmt" src="/wp-content/uploads/2009/07/sk_dmmt.jpg" alt="sk_dmmt" width="466" height="350" /></p>
<p style="text-align: left;">I just put down the second edition of Steve Krug's "Don't Make Me Think" so I'm putting down some quick thoughts about the book as a whole.  For those of you that don't know, web usability is a big topic when designing, developing, and marketing a website.  Steve Krug comes from a background of years of consulting in this field and put a condensed version of what he has learned in "Don't Make Me Think."  The book is divided into 3 main sections, usability on the whole site, usability on the home page, and how to test for usability.  All said Krug does a good job of summarizing what all it takes to increase website usability while leaving the door open for more exploration.</p>
<p style="text-align: left;">The title alone is what someone who reads this should walk away form this book.  "Don't Make Me Think" is more of a command than just a title.  When people blaze through websites, they move at a pace faster than normal conversation.  Where you should choose your words wisely while talking with someone (especially someone important), you don't have the luxury of choosing words on the fly when presenting a web page to someone.  It is the responsibility of the website to make it as easy as possible from the beginning to avoid any confusion.  Confusion slows people down, which will lead them to other websites.</p>
<p style="text-align: left;">The first part of the book talks about website usability as whole.  Krug breaks it down to about 6 different parts of the page where confusion can creep.  Some of them made sense and some of them were gotchas I haven't thought of.  I came away with two concepts.  First, keep things simple and consistent across the whole site.  Second, make the site look like some version of a tabbed catalog or book.  This makes more sense when developing a business site, but the concept can be used for other purposes.  Essentially, a crisp clean book with easy to search and indexed tabs will make the most of what your target audience wants.</p>
<p style="text-align: left;">We shoot on to the second part of the book where Krug throws that out of the window and talks about the home page.  Krug says that the home page can have a different look from the rest of the site because of its welcome mat mentality.  To me that meant it's the cover of the book or catalog to flip through, and then some.  You need tell them what it is and how to dive deeper, but give just enough shine to lure them away from other books.  Here Krug makes exceptions to the rules, making them good rules.</p>
<p style="text-align: left;">The last part of the book talks about how to perform duct tape usability testing.  From his experience, he maps out the hardcore way to sample a user base and record interactions with a web page for top notch results.  Then, much like this book, he runs over the quick and dirty way to get comparable results with just a camera and an office.  All that's really needed is to openly discern what type of natural browsing behavior someone exhibits when hitting the website the first time.  I haven't really thought about web usability testing before, so getting a glimpse of both sides of the spectrum really help in determining where I can apply usability testing to my projects.</p>
<p style="text-align: left;">Out of the whole book, the part where I most identify was the downright silly arguments bred from design suggestions or decisions.  Believe or not,  I have been privy to some absolutely ridiculous arguments.  The classic examples he provides, including the 'technical issue' trump card, have all been played out in front of me.  I may have even dealt some out myself.  The point that's made here applies to my trials and meeting tribulations.  The focus of the website should be geared toward the target audience and not one's own beliefs.  The context and content should always aim for the target audience.  This is where Krug uses usability test to figure out if the site works or not.  Leave it up to strangers, not someone who's had a hand in the whole development process.</p>
<p style="text-align: left;">Steve Krug's "Don't Make Me Think" is a great read if you into making you website super user friendly and therefore super cool.  If you have an afternoon pluck down and cull out the basics.   The concepts within will help catch any low hanging fruit (which he suggests throughout the whole book) while not wasting any of your time building a site.  Krug does gloss over some topics like Cascading Style Sheets, but that's a monster topic on its own.  Regardless, pick up this book if you want exposure to solid design principles, amateur or professional alike.</p>
<img style='display:none' id="post-154-blankimage" onload="Meebo('discoverSharable', {element: this.parentNode,url:'http://hoketronics.net/2009/07/14/quick-book-review-steve-krugs-dont-make-me-think/',title:'Quick Book Review: Steve Krug\'s Don\'t Make Me Think',tweet:' I just put down the second edition of Steve Krug\'s \"Don\'t Make Me Think\" so I\'m putting down some q',description:' I just put down the second edition of Steve Krug\'s \"Don\'t Make Me Think\" so I\'m putting down some q'})"><script type='text/javascript'>document.getElementById("post-154-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://hoketronics.net/2009/07/14/quick-book-review-steve-krugs-dont-make-me-think/feed/</wfw:commentRss>
		<slash:comments>2</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>Aligning Myself With Subversion Behavior</title>
		<link>http://hoketronics.net/2008/10/27/aligning-myself-with-subversion-behavior/</link>
		<comments>http://hoketronics.net/2008/10/27/aligning-myself-with-subversion-behavior/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 20:51:44 +0000</pubDate>
		<dc:creator>mike.hochanadel</dc:creator>
				<category><![CDATA[Website]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[KCCGD]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[revision control]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[songbird]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[TRAC]]></category>

		<guid isPermaLink="false">http://hoketronics.net/?p=19</guid>
		<description><![CDATA[After working through the development environment portability debacle and relaunching the website, it was time to figure out how to control the customizations I have planned.  There are big plans coming for the site and I want to template the changes for future identity management and blogging prospects.  I really didn't set much time on [...]]]></description>
			<content:encoded><![CDATA[<p>After working through the <a title=" « While We Get Settled In, Let’s Git Down To Business Xampp’ed Up But Turned Off To Portability" href="http://hoketronics.net/?p=11" target="_self">development environment portability debacle</a> and relaunching the website, it was time to figure out how to control the customizations I have planned.  There are big plans coming for the site and I want to template the changes for future identity management and blogging prospects.  I really didn't set much time on setting up a system by myself.  Time for me to re-introduce myself to revision control.</p>
<p><a title="Revision Control" href="http://en.wikipedia.org/wiki/Revision_control" target="_blank">Revision control</a> is the de facto standard way to manage code changes and bug fixes in a project.  From a single developer to a collaborative work environment,  it's the best way to keep the evolution of a project in steady hands.  With a little effort in between building the project, you can roll back, trace history, and work on new features without affecting the production code.  For what I have planned, I need this kind of system to handle the changes heading toward this current deployment of the WordPress blogging software package.</p>
<p>My first exposure to revision control started way back in college.  My role as a student worker included modifying the content management portion of the college's in house online course delivery system.  We used <a title="CVS Home" href="http://ximbiot.com/cvs/wiki/" target="_blank">CVS</a> as the motor for our revision control.  CVS was by all means not perfect and we had workarounds or hacks to help push projects along, but it was way better than nothing.  A couple of years ago, I felt the need to retrain myself on that but ended up deciding on Subversion as it was an evolution of the CVS mindset.  What ended up happening was a huge distraction of data backups and an implementation of <a title="Rsync" href="http://samba.anu.edu.au/rsync/" target="_blank">rsync</a> at headquarters.</p>
<p>Before deciding on what software to use, I felt the need to research the topic of revision control to see what changes came about in the last couple of years.  Due diligence is always near and dear to my heart.   I looked at <a title="Source Control Tools" href="http://www.thefreecountry.com/programming/versioncontrol.shtml" target="_blank">lists of many different types</a> of software.  There was a <a title="CVS Website Control" href="http://durak.org/cvswebsites/howto-cvs/index.html" target="_blank">CVS control system guideline for websites </a>that cnetnews.com follows.  <a title="Git Version Control" href="http://git.or.cz/" target="_blank">Git</a> was another up and coming software package that Linus Torvalds built which I used on a project at work.  And a <a title="DJango Reversion" href="http://code.google.com/p/django-reversion/" target="_blank">Django module</a> strictly developed for website control and rollback also came up in my searches.</p>
<p>After looking over the choices Sunday evening,  I decided to go with Subversion.  The biggest factor that won me over the other methods was the <a title="Codex WordPress for Subversion" href="http://codex.wordpress.org/Using_Subversion" target="_blank">WordPress development team's use</a> of Subversion.  Another big factor was my previous desire to use Subversion.  What I hope to gain is learning how to use a web server to update and manage code remotely.  This also opens the door for me to try out different IDE's because of plugin or internal support for Subversion.  Finally, further down the road I want to bang out some code for <a title="Songbird Music Player" href="http://getsongbird.com/" target="_blank">Songbird</a> and they use a documentation/wiki/code repository framework called <a title="TRAC" href="http://trac.edgewall.org/" target="_blank">TRAC</a>, which uses Subversion for its repository portion.</p>
<p>So this week I'll start figuring out how to implement Subversion on the website.  I'm not sure how long it will take, but I will report or update on its progress when necessary.   Once I nail down the process for code management,  I'll finally get to work on updating WordPress for <a title="KC College Gameday " href="http://kccollegegameday.com/2007/09/03/its-division-one-football-its-the-big-12-it-aint-intramurals/" target="_blank">kccollegegameday.com</a>.  Until then,  I'll pop in and out to pontificate when the urge fills me.</p>
<img style='display:none' id="post-19-blankimage" onload="Meebo('discoverSharable', {element: this.parentNode,url:'http://hoketronics.net/2008/10/27/aligning-myself-with-subversion-behavior/',title:'Aligning Myself With Subversion Behavior',tweet:'After working through the development environment portability debacle and relaunching the website, i',description:'After working through the development environment portability debacle and relaunching the website, i'})"><script type='text/javascript'>document.getElementById("post-19-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://hoketronics.net/2008/10/27/aligning-myself-with-subversion-behavior/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
