<?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>Jonathan Buys</title>
	<atom:link href="http://jonathanbuys.com/feed" rel="self" type="application/rss+xml" />
	<link>http://jonathanbuys.com</link>
	<description>Kinda Scruffy!</description>
	<lastBuildDate>Tue, 05 Jan 2010 03:06:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>This Should Be Default</title>
		<link>http://jonathanbuys.com/651</link>
		<comments>http://jonathanbuys.com/651#comments</comments>
		<pubDate>Wed, 30 Dec 2009 14:23:33 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[cocoa]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=651</guid>
		<description><![CDATA[I&#8217;m crawling out of my cave to make a quick point before I get back to coding.  In Cocoa, if you want to have your window shown when you click on its icon in the Dock, you need to add this method to the app delegate:


- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication
       [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m crawling out of my cave to make a quick point before I get back to coding.  In Cocoa, if you want to have your window shown when you click on its icon in the Dock, you need to add this method to the app delegate:</p>

<p><pre>
- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication
                    hasVisibleWindows:(BOOL)flag
{
    if( !flag )
        [window makeKeyAndOrderFront:nil];</p>

<pre><code>return YES;
</code></pre>

<p>}
</pre></p>

<p>Seriously, this should be included in the default app delegate template generated by Xcode.  I can&#8217;t think of a single reason why its not.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/574" title="Servers (June 12, 2009)">Servers</a> (1)</li>
	<li><a href="http://jonathanbuys.com/580" title="Ping from Cocoa (June 15, 2009)">Ping from Cocoa</a> (0)</li>
	<li><a href="http://jonathanbuys.com/587" title="Personal Rules for Cocoa Happiness (June 29, 2009)">Personal Rules for Cocoa Happiness</a> (0)</li>
	<li><a href="http://jonathanbuys.com/44" title="Learning to Fly (June 11, 2008)">Learning to Fly</a> (0)</li>
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/651/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Managing Nagios Configs</title>
		<link>http://jonathanbuys.com/647</link>
		<comments>http://jonathanbuys.com/647#comments</comments>
		<pubDate>Wed, 09 Dec 2009 16:43:12 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=647</guid>
		<description><![CDATA[We don&#8217;t have a very big Nagios installation, comparatively anyway, but it is big enough to find that the default layout for configurations is insane.  I tried using the provided layout, until I wound up with single text files with thousands of lines in them. This made it very hard to do individual customizations [...]]]></description>
			<content:encoded><![CDATA[<p>We don&#8217;t have a very big Nagios installation, comparatively anyway, but it is big enough to find that the default layout for configurations is insane.  I tried using the provided layout, until I wound up with single text files with thousands of lines in them. This made it very hard to do individual customizations for servers, and separating out who wants to be notified for what.  Here is what I came up with for managing our Nagios configs.</p>

<p>It seems that the repositories are always behind in Nagios, so it is one of the very few apps that I recommend installing from source.  I install Nagios in /usr/local/nagios, the default when compiling, I&#8217;ll just call it $nag.  The Nagios binary is in $nag/bin, the plugins in $nag/libexec, and the config files in $nag/etc. The easiest way to understand nagios is to follow its start up procedures.  I keep an /etc/init.d/nagios file for initialization, The file defines, among other things, where the home directory for Nagios is, what config file to use as its base, and where the Nagios binary and plugins are.  The important thing to understand is that this file is the first pointer in a long string of pointers that Nagios uses for configuration.</p>

<p>Inside the nagios.cfg file are the cfg_dir directives.  These are pointers that tell Nagios that it can find additional configurations inside the directories listed.   Once Nagios is given a directory to look at, it will read each file ending in .cfg inside of that directory.  The first directory that I have listed is $nag/etc/defaults.  I keep four files in this directory: commands.cfg, dependencies.cfg, generic.cfg, and timeperiods.cfg.</p>

<p>The file &#8220;commands.cfg&#8221; contains the definitions of all check commands that Nagios can understand.  They look like this:</p>

<pre><code> # 'check_local_load' command definition
 define command{
        command_name    check_local_load
        command_line    $USER1$/check_load -w $ARG1$ -c $ARG2$
        }
</code></pre>

<p>The file also contains the alert commands, or what Nagios will do when it finds something that it needs to let you know about:</p>

<pre><code>define command{
command_name notify-by-email
command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type:  $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress:  $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/   bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **"    $CONTACTEMAIL$
}
</code></pre>

<p>This allows us to call a command later in Nagios by it&#8217;s defined command_name,such as check_local_load, instead of having to call the entire command including arguments.  Keeps the configs clean.</p>

<p>The next file, &#8220;generic.cfg&#8221;, contains templates for host configurations.  This file allows us to do two things: list common options that are defined for all of the hosts, and separate hosts into notification groups.  The definitions look like this:</p>

<pre><code>define host{
        name                            generic-admin
        notifications_enabled           1
        event_handler_enabled           1
        flap_detection_enabled          1
        process_perf_data               1
        retain_status_information       1
        retain_nonstatus_information    1
        register                        0
        check_command           check-host-alive
        max_check_attempts      3
        notification_interval   120
        notification_period     24x7
        notification_options    d,u,r
                contact_groups          admin,admin_pager
        action_url /nagios/pnp/index.php?host=$HOSTNAME$
        }
</code></pre>

<p>There are two separate types of generic definitions, hosts and services, for the two types of monitoring that Nagios does.  The important section for most of my purposes above is the &#8220;contact_groups&#8221; line.  This allows me to group contacts with hosts, so it answers the question of &#8220;who gets notified if this server goes down?&#8221;.  The same thing applies to the service template below.</p>

<pre><code>define service{
        name                            generic-full    
        active_checks_enabled           1
        passive_checks_enabled          1
        parallelize_check               1
        obsess_over_service             1
        check_freshness                 0
        notifications_enabled           1
        event_handler_enabled           1
        flap_detection_enabled          1
        process_perf_data               1
        retain_status_information       1
        retain_nonstatus_information    1
        register                        0
        is_volatile                     0
        check_period                    24x7
        max_check_attempts              3
        normal_check_interval           5
        retry_check_interval            1
        notification_interval           120
        notification_period             24x7
        notification_options            w,c,r
    contact_groups                  admins,admin_pager,webmin
    process_perf_data 1
    action_url /nagios/pnp/index.php?host=$HOSTNAME$&amp;srv=$SERVICEDESC$
        }
</code></pre>

<p>The other two files, timeperiods.cfg and dependencies.cfg, I haven&#8217;t done a whole lot with yet.</p>

<p>The next directory parsed as defined in nagios.cfg is $nag/etc/users, which, surprisingly enough, is where all of the users are defined.  I keep two files in this directory, users.cfg and contactgroups,cfg.  The users.cfg file contains a list of every user, and since I have different needs for pagers and regular email alerts, each user is defined twice:</p>

<pre><code>define contact{
        contact_name                    Jon
        alias                           Jon Buys
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r
        host_notification_options       d,u,r
        service_notification_commands   service-notify-by-email
        host_notification_commands      host-notify-by-email
        email                           jbuys@dollarwork.com
        }

define contact{
        contact_name                    Jon_pager
        alias                           Jon Buys
      service_notification_period     24x7
      host_notification_period        24x7
      service_notification_options    u,c,r
      host_notification_options       d,u,r
      service_notification_commands   notify-for-disk
      host_notification_commands      host-notify-by-email
      email                 5555555555@my.phone.company.net
      }
</code></pre>

<p>This lets me group the users more effectively in the second file, contactgroups.cfg:</p>

<pre><code>define contactgroup{
        contactgroup_name admins
      alias           sysadmins
      members Jon,Gary,nagios_alerts
      }

define contactgroup{
        contactgroup_name admin_pager
        alias           sysadmin pagers
        members Jon_pager,Gary_pager,OSS_Primary_Phone,nagios_alerts
}
</code></pre>

<p>Now, check the definitions in the generic.cfg file above, and you&#8217;ll start to see the chain of config files coming together. The glue sticking it all together is the server definition files.  Each logical group of servers gets their own directory, defined in nagios.cfg.  For example, we have a  group of servers that provides a specific web service  (which I&#8217;ll call &#8220;mesh&#8221;), there are web servers, application servers, and database servers that I group together in one directory, named &#8220;mesh&#8221;.  Inside of this directory, each server has its own config file, named like $hostname.cfg.  There is also a mesh.cfg, which groups all of the servers together in a host group.  The $hostname.cfg files look like this:</p>

<pre><code> define host{
        use                     generic-host
      host_name                 m-app1 
      alias                   m-app1
      address                 10.10.10.1
      }

define service{
      use                             generic-full
      host_name                       m-app1
      service_description             PING
      check_command                   check_ping!100.0,20%!500.0,60%
      }

define service{
      use                             generic-full
      host_name                       m-app1
      service_description             DISKUSE
      check_command                   check_nrpe!check_df
      }
</code></pre>

<p>Each server has a host definition at the top, and all of the services that are monitored on that server at the bottom.  The first section&#8217;s line &#8220;use   generic-host&#8221; calls the &#8220;generic-host&#8221; template from the generic.cfg file above.  Each subsequent &#8220;define service&#8221; section has a &#8220;use&#8221; line that also calls the templates defined in generic.cfg.  Putting each server in its own file makes it very easy to add and remove servers from Nagios.  To remove them, just remove (or, safer, rename) the $hostname.cfg file and delete the name from the $groupname.cfg file.  It&#8217;s also very easy to script the creation of new hosts given a list of host names and IP addresses.</p>

<p>The mesh.cfg file contains the hostgroup configuration for the group:</p>

<pre><code>define hostgroup{
     hostgroup_name  mesh
     alias           Mesh Production
     members         mdbs1,mdbs2,mdbs3,mdbs4,mdbs5,mdbs6,mdbs7,m-app1,m-app2,m-app3,m-store1,m-store2,m-nfs1,m-nfs2
     }
</code></pre>

<p>This file is not as important, but it makes the Nagios web interface a little more helpful.</p>

<p>You&#8217;ll also notice that the check_command line above contains &#8220;check_nrpe!check_df&#8221;.  This means that I use the nrpe (Nagios Remote Plugin Execution) add-on to actually monitor the services on the remote hosts.  Each server has nrpe installed, and has one configuration file (/usr/local/nagios/etc/nrpe.cfg).  The nrpe.cfg file has a corresponding line that says</p>

<pre><code>command[check_df]=/usr/local/nagios/libexec/check_disk -e -L -w 6% -c 4%
</code></pre>

<p>This translates the check_df command sent by the check_nrpe command into the longer command defined above.  This makes it easy to install and configure nrpe once, then zip up the  /usr/local/nagios directory and unzip it on all new servers.</p>

<p>Nagios is nearly limitless in its abilities, but but because of the complexity of its configuration it can be daunting to newcomers.  This setup is designed to make it just a little bit easier to understand, and easier to script.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/419" title="Shell Script Style (February 25, 2009)">Shell Script Style</a> (0)</li>
	<li><a href="http://jonathanbuys.com/574" title="Servers (June 12, 2009)">Servers</a> (1)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/631" title="New SysAdmin Tips (December 4, 2009)">New SysAdmin Tips</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/647/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blizzard 2009</title>
		<link>http://jonathanbuys.com/646</link>
		<comments>http://jonathanbuys.com/646#comments</comments>
		<pubDate>Wed, 09 Dec 2009 15:30:43 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/646</guid>
		<description><![CDATA[


100_1931, originally uploaded by jonbuys.



Iowa got its first big storm of the winter season yesterday, and as of right now its still going on.  We couldn&#8217;t go anywhere even if we wanted to.  We got about 13&#8243; of snow so far, but the wind gusts up to 50mph are the big problem.  [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: left; padding: 3px;">
<a href="http://www.flickr.com/photos/42924570@N04/4172076482/" title="photo sharing"><img src="http://farm3.static.flickr.com/2574/4172076482_dbbc3ea714.jpg" style="border: solid 2px #000000;" alt="" /></a>
<br />
<span style="font-size: 0.8em; margin-top: 0px;"><a href="http://www.flickr.com/photos/42924570@N04/4172076482/">100_1931</a>, originally uploaded by <a href="http://www.flickr.com/people/42924570@N04/">jonbuys</a>.</span>
</div>

<p>
Iowa got its first big storm of the winter season yesterday, and as of right now its still going on.  We couldn&#8217;t go anywhere even if we wanted to.  We got about 13&#8243; of snow so far, but the wind gusts up to 50mph are the big problem.  Just about everything is shut down, schools, work places, and even some of the larger roads.<br />
<br />
Good day to get caught up on somethings I&#8217;ve been meaning to get done.
</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li>No related posts.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/646/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New SysAdmin Tips</title>
		<link>http://jonathanbuys.com/631</link>
		<comments>http://jonathanbuys.com/631#comments</comments>
		<pubDate>Fri, 04 Dec 2009 21:55:22 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[eating]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[sad]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=631</guid>
		<description><![CDATA[My answer to a great question over at serverfault.

First off, find your logs.  Most Linux distros log to /var/log/messages, although I&#8217;ve seen a couple log to /var/log/syslog.  If something is wrong, most likely there will be some relevant information in the logs.  Also, if you are dealing with email at all, don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>My answer to a <a href="http://serverfault.com/questions/75476/toolkit-habits-for-linux-network-system-administration">great question</a> over at serverfault.</p>

<p>First off, find your logs.  Most Linux distros log to /var/log/messages, although I&#8217;ve seen a couple log to /var/log/syslog.  If something is wrong, most likely there will be some relevant information in the logs.  Also, if you are dealing with email at all, don&#8217;t forget /var/log/mail.  Double-check your applications, find out if any of them log somewhere ridiculous, outside of syslog.</p>

<p>Brush up on your vi skills.  Nano might be what all the cool kids are using these days, but experience has taught me that vi is the only text editor that is guaranteed to be on the system.  Once you get used to the keyboard shortcuts, and start creating your own triggers, vi will be like second nature to you.</p>

<p>Read the man page, and then run the following commands on each machine, and copy the results into your documentation:</p>

<p><pre class="prettyprint"><code>hostname<br />cat /etc/<em>release</em><br />cat /etc/hosts<br />cat /etc/resolv.conf<br />cat /etc/nsswitch<br />df -h<br />ifconfig -a<br />free -m<br />crontab -l<br />ls /etc/cron.d<br />echo $SHELL<br /></code></pre></p>

<p>That will serve as the beginnings of your documentation.  Those commands let you know your environment, and can help narrow down problems later on.</p>

<p>Grep through your logs and search for &#8220;error&#8221; or &#8220;failed&#8221;.  That will give you an idea of what&#8217;s not working as it should.  Your users will give you their opinion on whats wrong, listen closely to what they have to say.  They don&#8217;t understand the system, but they see it in a different way than you do.</p>

<p>When you have a problem, check things in this order:</p>

<ol>
<li>
<p>Disk Space (df -h):  Linux, and some apps that run on Linux, do some very strange things when disk space runs out.  It may seem unrelated, until you check and find a filesystem 100% full.</p>
</li>
<li>
<p>Top:  Top will let you know if you&#8217;ve got some process that&#8217;s stuck out there eating up all of your available CPU cycles.  Nothing should consume 99% CPU for any extended period of time.  If its a legitimate process, it should probably fluctuate up and down.  While you are in top, check&#8230;</p>
</li>
<li>
<p>System Load:  The system load should normally be below 3 on a standard server or workstation.  The system load is based on CPU, memory, and I/O.</p>
</li>
<li>
<p>Memory (free -m): RAM use in Linux is a little different.  It&#8217;s not uncommon to see a server with nearly all of its RAM used up.  Don&#8217;t Panic, if you see this, it&#8217;s mostly just cache, and will be cleared out as needed.  However, pay close attention to the amount of swap in use.  If possible, keep this as close to zero as you can.  Insufficient memory can lead to all kinds of performance problems.</p>
</li>
<li>
<p>Logs: Go back to your logs, run tail -500 /var/log/messages | more and start reading through and seeing what&#8217;s been going on.  Hopefully, the logs will be able to point you in the direction you need to go next.</p>
</li>
</ol>

<p>A well maintained Linux server can run for years without problems.  We just shut one down that had been running for 748 days, and we only shut it down because we had migrated the application over to new hardware.  Hopefully, this will help you get your feet wet, and get you off to a good start.</p>

<p>One last thing, always make a copy of a config file you intend to change, and always copy the line you are changing, and comment out the original, adding your reason for changing it.  This will get you into the habit of documenting as you go, and may save your hide 9 months down the road.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/419" title="Shell Script Style (February 25, 2009)">Shell Script Style</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/276" title="Open Formats (May 31, 2008)">Open Formats</a> (0)</li>
	<li><a href="http://jonathanbuys.com/302" title="Linux Hidden ARP (December 4, 2008)">Linux Hidden ARP</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/631/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SLES and RHEL</title>
		<link>http://jonathanbuys.com/629</link>
		<comments>http://jonathanbuys.com/629#comments</comments>
		<pubDate>Fri, 04 Dec 2009 21:54:48 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[sles]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[yast]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=629</guid>
		<description><![CDATA[Comparing two server operating systems, like SuSE Linux Enterprise Server (SLES) and RedHat Enterprise Linux (RHEL), needs to answer one question, &#8220;what do we want to do with the overall system&#8221;? The version of Linux running underneath the application is immaterial, as long as the application supports that version. It is my opinion that we [...]]]></description>
			<content:encoded><![CDATA[<p>Comparing two server operating systems, like SuSE Linux Enterprise Server (SLES) and RedHat Enterprise Linux (RHEL), needs to answer one question, &#8220;what do we want to do with the overall system&#8221;? The version of Linux running underneath the application is immaterial, as long as the application supports that version. It is my opinion that we should choose the OS that supports all of our applications, and gives us the best value for our money.<br /><br /><b>Price</b><br /><br />RHEL advertises &#8220;Unlimited Virtual Machines&#8221;, but what they put in the small print is that the number of virtual machines you can run is unlimited only if you are using their Xen virtualization. We already have a significant investment in both money and knowledge in VMWare, so the RHEL license doesn&#8217;t apply, and we have to purchase a new license for each virtual machine. There is an option to purchase a RHEL for VMWare license, but it is expensive, and still limits you to a maximum of 10 virtual machines per-server.<br /><br />SLES allows unlimited virtual machines regardless of the virtualization technology used. SLES also has a special license for an entire blade center, which (and I&#8217;d have to double check on this fact) may let us license the blade center, and purchase additional blades without having to license those blades separately. This license would allow us to run unlimited virtual machines and add physical capacity to the blade center as needed. This is the license we have for one of our blade centers, and I believe it cost $4500 for a three year contract. As I understand it, that means that for the 9 blades we have in it now, we spent $500 each for a three year license, which equates to $167 per blade per year. We also have the ability to add an additional five blades to this blade center, which would also be covered under the agreement. Doing so would bring our total per blade per year cost down to $108, for unlimited virtual machines.<br /><br />For a comparison, right now, if we want to bring up a new RHEL server in our environment, we have to purchase another minimal RHEL license for $350, more if we actually want support and not just patches.<br /><br />Even without the special blade center pricing (which may be IBM only), a single license for SLES priced by <a>CDW</a> costs $910 for three years. So, for $304 per blade per year, we can license two blade centers for $6,080 annually, which will cover all virtual machines. That price is off-the-shelf, so I&#8217;m sure our vendors could lower the price even more. In another pre-production environment, which resides on three physical servers running VMWare, there are 40 virtual machines, which, if we migrate them to REHL, would cost $14,000 annually.<br /><br />Related to base price is what is included with the base price. SLES gives you the option to create a local patching mirror and synchronize regularly with their servers. This same functionality is available for RHEL as the &#8220;<a>RHN Satellite Server</a>&#8221; at a cost of $13,500, annually.<br /><br /><b>Performance</b><br /><br />As far as I can tell, neither RHEL or SLES have a significant performance advantage. However, SLES has the option to do a very bare-bones, minimal install with no reliance on a graphical user interface. RHEL requires either a remote or local X windows session running to access its management tools. There are versions of the management tools in the command line, but they are either marked as depreciated, or do not offer all of the options of the GUI. <br /><br />One of our environments is run on SLES 9, and another ran on SLES 8 for several years and all systems have had excellent performance. <br /><br /><b>Elsewheres</b><br /><br />RHEL has no YaST equivalent, and the individual command line configuration tools do not have all of the options of their GUI counterparts. To effectively manage RHEL, we either have to keep an X server running locally and tunnel X, or use the old school Unix tools, and edit text files. Also, RedHat keeps its text files in several different places, and it has taken us a lot of trial and error to find out which one is right. Admittedly, that&#8217;s more of an annoyance than anything, but it still takes time.<br /><br />RHEL has major problems with LDAP. We had an outage on a database server that was a result of an improper LDAP configuration, the same LDAP config we have on all of the other servers. RHEL was attempting to authenticate a local daemon that inspects hardware against LDAP, before the NIC card was even discovered, much less started. I can think of no good reason that would ever be an option. <br /><br />I&#8217;m not sure how RedHat is competing these days.  Cent OS and Scientific Linux distribute the source of RHEL for free, Oracle has a lower price option, and Novell&#8217;s SLES kills RedHat in pricing.  It almost seems to me that RedHat is living on it&#8217;s name alone.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/colophon" title="Colophon (December 24, 2008)">Colophon</a> (0)</li>
	<li><a href="http://jonathanbuys.com/13" title="System P (December 19, 2008)">System P</a> (0)</li>
	<li><a href="http://jonathanbuys.com/600" title="Regarding OS Zealotry (July 9, 2009)">Regarding OS Zealotry</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/41" title="The Coffee Cup (December 24, 2008)">The Coffee Cup</a> (6)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/629/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Writing about Jekyll</title>
		<link>http://jonathanbuys.com/621</link>
		<comments>http://jonathanbuys.com/621#comments</comments>
		<pubDate>Tue, 25 Aug 2009 20:38:20 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[daringfireball]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=621</guid>
		<description><![CDATA[I&#8217;m writing an article for TAB about my new blogging engine, Jekyll.  I&#8217;ve taken most of the reliance on the command line out of dealing with Jekyll on a day to day basis, and instead have a few Automator workflows in the scripts menu in the Mac menubar.  It&#8217;s a great setup, I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m writing an article for <a href="http://theappleblog.com" title="The Apple Blog">TAB</a> about my new blogging engine, <a href="http://jekyllrb.com/" title="Jekyll">Jekyll</a>.  I&#8217;ve taken most of the reliance on the command line out of dealing with Jekyll on a day to day basis, and instead have a few Automator workflows in the scripts menu in the Mac menubar.  It&#8217;s a great setup, I&#8217;m really enjoying it.  I&#8217;m sure there will be quite a bit of enhancement yet to come, but my initial workflow looks like this:</p>

<ol>
<li>Click &#8220;New Blog Post&#8221;</li>
<li>Write the article</li>
<li>Click &#8220;Run Jekyll&#8221;</li>
<li>Make sure everything worked using the local <a href="http://www.webrick.org/" title="WEBrick">webrick</a> web server.</li>
<li>Click &#8220;Kill Jekyll&#8221;</li>
<li>Click &#8220;Sync Site&#8221;</li>
</ol>

<p>Here&#8217;s what I&#8217;ve got so far in the automator workflows:</p>

<h3>New Blog Post</h3>

<p>First, I run the &#8220;Ask for Text&#8221; action to get the name of the post. Then, I run this script:</p>

<p><pre><code>NAME=<code>echo $1 | sed s/\ /-/g</code>
USERNAME=<code>whoami</code>
POSTNAME=<code>date "+%Y-%m-%d"-$NAME</code>
POST_FQN=/Users/$USERNAME/Sites/_posts/$POSTNAME.markdown
touch $POST_FQN
echo "---" &gt;&gt; $POST_FQN
echo "layout: post" &gt;&gt; $POST_FQN
echo "title: $1" &gt;&gt; $POST_FQN
echo "---" &gt;&gt; $POST_FQN
/usr/bin/mate $POST_FQN
</code></pre></p>

<h3>Run Jekyll</h3>

<p>First, I run this script:</p>

<p><pre><code>USERNAME=<code>whoami</code>
cd /Users/$USERNAME/Sites
/usr/bin/jekyll &gt; /dev/null
/usr/bin/jekyll --server  &gt; /dev/null 2&gt;&amp;1 &amp;
/usr/local/bin/growlnotify --appIcon Automator Jekyll is Done -m 'And there was much rejoicing.'
echo "http://localhost:4000"
</code></pre></p>

<p>Followed by the &#8220;New Safari Document&#8221; Automator action.  This runs Jekyll which converts the blog post I just wrote in <a href="http://daringfireball.net/projects/markdown/" title="Markdown">markdown</a> syntax to html, updates the site navigation, starts the local web server and opens the site in Safari to preview.<br/>
</p>

<h3>Kill Jekyll</h3>

<p>Since I start the local server in the last step, I need to kill it in this step.  This action does just that.</p>

<p><pre><code>PID=<code>ps -eaf | grep "jekyll --server" | grep -v grep | awk '{ print $2 }'</code>
kill $PID
/usr/local/bin/growlnotify --appIcon Automator Jekyll is Dead -m 'Long Live Jekyll.'
</code></pre></p>

<p>This is entered in as a shell script action, and is the only action in this workflow.</p>

<h3>Sync Site</h3>

<p>Once I&#8217;m certain everything looks good, I run the final Automator action to upload the site:</p>

<p><pre><code>cd /Users/USERNAME/Sites/_site/
rsync -avz -e ssh . USERNAME@jonathanbuys.com:/home/USERNAME/jonathanbuys.com/ &gt; /dev/null
/usr/local/bin/growlnotify --appIcon Automator Site Sync Complete -m 'Check it out.'
</code></pre></p>

<p>This is also a single Automator action workflow.  You&#8217;ll notice that I use <a href="http://growl.info/" title="Growl">Growl</a> to notify me that the script is finished.  This is also not really necessary, but it&#8217;s fun anyway.<br/>
</p>

<p>Like I said, there&#8217;s a lot of improvement yet to go, but I think it&#8217;s a solid start.  I&#8217;m at a point now where I&#8217;m tempted to start writing a Wordpress import feature, which seems to be the only major piece missing from the Jekyll puzzle.  I&#8217;m not sure what this would take just yet, but I&#8217;ve got a few ideas.  I haven&#8217;t tried uploading any images or media yet, but since everything is static, I assume it would just be a matter of placing the image in a /images folder and embedding it in html.  So far, I&#8217;m having a lot of fun, and that&#8217;s what blogging is really all about.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/32" title="Creative Uses for Wordpress (May 7, 2008)">Creative Uses for Wordpress</a> (6)</li>
	<li><a href="http://jonathanbuys.com/23" title="Creative Uses for Wordpress (December 24, 2008)">Creative Uses for Wordpress</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/621/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Unix Love Affair</title>
		<link>http://jonathanbuys.com/614</link>
		<comments>http://jonathanbuys.com/614#comments</comments>
		<pubDate>Tue, 11 Aug 2009 03:04:42 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[aix]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=614</guid>
		<description><![CDATA[There&#8217;s been times when I&#8217;ve walked away from the command line, times when I&#8217;ve thought about doing something else for a living.  There&#8217;s even been brief periods of time when I&#8217;ve flirted with Windows servers.  However, I&#8217;ve always come back to Unix, in one form or another.  Starting with Solaris, then OpenBSD, [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been times when I&#8217;ve walked away from the command line, times when I&#8217;ve thought about doing something else for a living.  There&#8217;s even been brief periods of time when I&#8217;ve flirted with Windows servers.  However, I&#8217;ve always come back to Unix, in one form or another.  Starting with Solaris, then OpenBSD, then every flavor of Linux under the sun, to AIX, and back to Linux.  Unix is something that I understand, something that makes sense.</p>

<p>Back in &#8216;96 when I started in the tech field, I discovered that I have a knack for understanding technology.  Back then it was HF receivers and transmitters, circuit flow and 9600 baud circuits.  Now I&#8217;m binding dual gigabit NICs together for additional bandwidth and failover in Red Hat.  The process, the flow of logic, and the basics of troubleshooting still remain the same.</p>

<p>To troubleshoot a system effectively, you need to do more than just follow a list of pre-defined steps.  You need to understand the system, you need to know the deep internals of not only <em>how</em> it works, but <em>why</em>.  In the past 13 years of working in technology, I&#8217;ve found that learning the why is vastly more valuable.</p>

<p>Which brings me back to why I love working with Unix systems again.  I understand why they act the way that they do, I understand the nature of the behavior.  I find the layout of the filesystem to be elegant, and a minimally configured system to be best.  I know that there are a lot of problems with the FSH, and I know that it&#8217;s been mangled more than once, but still.  In Unix, everything is configured with a text file somewhere, normally in /etc, but from time to time somewhere else.  Everything is a file, which is why tools like lsof work so well.</p>

<p>Yes, Unix can be frustrating, and yes, there are things that other operating systems do better.  It is far from perfect, and has many faults.  But, in the end, there is so much more to love about Unix then there is to hate.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/13" title="System P (December 19, 2008)">System P</a> (0)</li>
	<li><a href="http://jonathanbuys.com/colophon" title="Colophon (December 24, 2008)">Colophon</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/614/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slowly Evolving an IT System</title>
		<link>http://jonathanbuys.com/605</link>
		<comments>http://jonathanbuys.com/605#comments</comments>
		<pubDate>Sun, 19 Jul 2009 04:28:03 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[load balance]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=605</guid>
		<description><![CDATA[We are going through a major migration at work, upgrading our four and a half year old IBM blades to brand spanking new HP BL460 G6&#8217;s.  We run a web infrastructure, and the current plan is to put our F5&#8217;s, application servers, and databases in place, test them all out, and then take a [...]]]></description>
			<content:encoded><![CDATA[<p>We are going through a major migration at work, upgrading our four and a half year old IBM blades to brand spanking new HP BL460 G6&#8217;s.  We run a web infrastructure, and the current plan is to put our F5&#8217;s, application servers, and databases in place, test them all out, and then take a downtime to swing IPs over and bring up the new system.  It&#8217;s a great plan, it&#8217;s going to work perfectly, and we will have the least amount of downtime with this plan.  Also&#8230; I hate it.</p>

<p>The reason I hate it has more to do with technical philosophy then with actual hard facts.  I prefer a slow and steady evolution, a recognition that we are not putting in a static system, but a living organism who&#8217;s parts are made up of bits and silicone.  What I&#8217;d like to do is put in the database servers first, then swing over the application servers, and then the F5, which is going to replace our external web servers and load balancers.  One part at a time, and if we really did it right, we could do each part with very little downtime at all.  However, I can see the point in putting in everything at once, you test the entire system from top to bottom, make sure it works, and when everyone is absolutely certain that all the parts work together, flip the switch and go live.  But&#8230; then what.</p>

<p>What about six months down the road when we are ready to add capacity to the system, what about adding another database server, what about adding additional application servers to spread out the load, what about patches?</p>

<p>Operating systems are not something that you put into place and never touch again.  IT systems made up of multiple servers should not be viewed as fragile, breakable things that should not be touched.  We can&#8217;t set this system up and expect it to be the same three years from now when the lease on the hardware is up.  God willing, it&#8217;s going to grow, flourish, change.</p>

<p>Our problems are less about technology, and more about our corporate culture.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/colophon" title="Colophon (December 24, 2008)">Colophon</a> (0)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/264" title="Shackles and Chains (February 17, 2008)">Shackles and Chains</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/605/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teach A Man To Fish</title>
		<link>http://jonathanbuys.com/602</link>
		<comments>http://jonathanbuys.com/602#comments</comments>
		<pubDate>Mon, 13 Jul 2009 11:13:24 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[cheap]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[navy]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=602</guid>
		<description><![CDATA[As a general rule, I really don&#8217;t like consultants.  Not that I have anything against any of them personally, it&#8217;s just that as a whole, most consultants I&#8217;ve worked with are no better than our own engineers and administrators.  The exception that proves this rule is our recent VMWare consultant, who was both [...]]]></description>
			<content:encoded><![CDATA[<p>As a general rule, I really don&#8217;t like consultants.  Not that I have anything against any of them personally, it&#8217;s just that as a whole, most consultants I&#8217;ve worked with are no better than our own engineers and administrators.  The exception that proves this rule is our recent VMWare consultant, who was both knowledgeable and willing to teach.  Bringing in an outside technical consultant to design, install, or configure a software system is admitting that not only do we as a company not know enough about the software, we don&#8217;t plan on learning enough about it either.  Bringing in a consultant is investing in that companies knowledge, and not investing in our own.</p>

<p>It costs quite a bit of money to bring in a consultant, they do not come cheap.  For one, if there is no one local you have to pay for travel and lodging.  Most consultants charge by the hour, so you have  billable time bringing them up to speed on what you new system is and what you are trying to accomplish with it so they can start helping you.  If you are bringing in a consultant for an IBM product, you need to be prepared to sit on the phone with him and put in several PMRs.</p>

<p>I would rather spend the equivalent amount of money on sending employees to training than on a consultant.  Once a consultant leaves after performing their task, the regular employees who maintain the system are on their own, and without the appropriate training they are often lost.  When the consultant leaves, he takes all of his expertise with him.  Expertise that was used to set up a system that he has no personal stake in, other than his reputation as a consultant, which may or may not matter depending on the relationship between the two companies.  When you send employees to training on a new software product or technology, you are building that same expertise internally.  Initially, the internal expertise will not be on the same level as that of the consultants, but over time as the employees administer the system that they built, their expertise grows deeper and stronger.</p>

<p>Teams that are experts on the systems they are in charge of can build on that system.  They can recognize shortcomings and bottlenecks, and troubleshoot problems faster than on systems that they simply maintain.  They know the internal architecture of the system, not only how it works, but why it works.</p>

<p>In the Navy, I was lucky enough to work for a Senior Chief who believed that we needed to be experts on the systems we managed, because once we were out to sea, no one was going to come out to help us.  He sent us to training, or brought training in, two or three times a year, for one to two week sessions on everything from Unix to Exchange.  This same mindset could apply equally as well to companies who operate 24&#215;7 infrastructures.  Once the system crashes at 2AM, there&#8217;s not going to be anyone there to help you, your team will be on their own, and if you have not invested in the team, it&#8217;s going to be a very long night.</p>

<p>If your company is not going to invest in you, you need to invest in yourself.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/252" title="Consulting in Coralville (January 27, 2009)">Consulting in Coralville</a> (1)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/279" title="On Graduation Day (September 10, 2008)">On Graduation Day</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/602/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Regarding OS Zealotry</title>
		<link>http://jonathanbuys.com/600</link>
		<comments>http://jonathanbuys.com/600#comments</comments>
		<pubDate>Fri, 10 Jul 2009 03:36:24 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[aix]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[sles]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=600</guid>
		<description><![CDATA[Today I found myself in the unfortunate situation of defending Linux to a man I think I can honestly describe as a Windows zealot.  I hate doing this, as it leads to religious wars that are ultimately of no use, but it&#8217;s really my own fault for letting myself be sucked into it.  [...]]]></description>
			<content:encoded><![CDATA[<p>Today I found myself in the unfortunate situation of defending Linux to a man I think I can honestly describe as a Windows zealot.  I hate doing this, as it leads to religious wars that are ultimately of no use, but it&#8217;s really my own fault for letting myself be sucked into it.  It started when we were attempting to increase the size of a disk image in vmware, while Red Hat guest was running.  It didn&#8217;t work, and we couldn&#8217;t find any tools to rescan the scsi bus, or anything else to get Linux to recognize that the disk was bigger.  I was getting frustrated, and the zealot began to laugh, saying how easy this task was in Windows.  Obviously, I felt slighted since I&#8217;m one of the *nix admins at $work, and decided I needed to defend the operating system and set of skills that pays the bills here at home.  And so, we started trading snide remarks back and forth about Linux and Windows.</p>

<p>At one point, I told him that since Windows was so easy, MCSE&#8217;s were a dime a dozen.  This is probably wrong, I don&#8217;t have anything to back it up with.  Really, the entire argument was wrong, and I was dragged down to the level of grade school arguing about who&#8217;s OS was &#8220;better&#8221;.  The entire thing was pointless, and wound up costing more time and effort that should have been spent on the task at hand.  After giving it some thought while doing yard work this evening, I&#8217;ve decided to get out of OS debates all  together.</p>

<p>I&#8217;ve worked as a Windows admin in the past, I even took a few tests and earned the MCSA certification back in 2002.  I don&#8217;t have anything against Windows, but I don&#8217;t personally feel that it&#8217;s a technically superior server to Linux or even AIX.  Windows has some administrative tools that make me drool in envy.  I wish I could set up group policy, I wish I could get a Linux host to authenticate centrally as easy as it is to have a Windows server join a domain, and evidently disk management is extremely easy now.  However, the real strengths of Linux are not that it is easy to use, or easy to administer.  The strengths of Linux is in its stability and security.</p>

<p>Case in point: I&#8217;ve personally seen web hosting environments built on a default install of SLES 8 that were not patched for four and a half years, and never had a problem.  Best practice?  Of course not, but it worked.  I&#8217;m not sure I could say the same for Windows in that same situation.  Another example, another place I worked had a Linux web server who&#8217;s root partition was 100% full.  This particular server was not built with LVM, so we couldn&#8217;t just extend the disk, and we also couldn&#8217;t just delete data, since we didn&#8217;t know what was needed and what was not.  This server kept up and running for at least a year, and may still be running now, happily serving up web pages with a full root partition.  What happens if you fill up the C:\ drive of a Windows server?  I&#8217;m thinking that it crashes, but I&#8217;m not sure.</p>

<p>So, is a Linux server &#8220;better&#8221; than a Windows server?  Is Windows &#8220;better&#8221;?  In this, as in most things, the answer is: it depends.  Both systems come at things from a different direction, and each show their strengths and weaknesses differently.  In my experience, I&#8217;ve gained a respect for both.  I <em>prefer</em> Linux, because honestly, I think it&#8217;s more fun.</p>

<p>I&#8217;ve really only worked with one other Windows zealot, and we used to argue over the use of Linux on the desktop.  Linux on the desktop and Linux on the server are two totally different animals.  Sure, they use the same kernel, and same basic userland apps in the shell, but other than that, they have different purposes.  Arguments against using Linux on the desktop are more often than not aimed at Gnome or KDE, and not at the actual Linux OS underneath.  I come to the same conclusion there as well though, certainly some things do not work as well in Linux as they do in Windows.  Some things work better, but all in all, I just think Linux is more <em>interesting</em>.</p>

<p>I think what our argument came down to today was that he doesn&#8217;t understand why anyone would use Linux, since Windows, in his opinion, is so much better at everything than Linux.  I think a little bit of professional courtesy would have gone a long ways here, but its just as much my fault for continuing the argument as it was his.  My position on the comparison is this:  yes, some things are much, much harder in Linux than in Windows&#8230; but, it&#8217;s so much more <em>fun</em> managing Linux.  A stripped down, well oiled Linux server can be a screamer for performance and reliability.  Is it easy getting there?  No, but it&#8217;s worth the extra effort.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/271" title="Linux is not for MacBooks (April 10, 2008)">Linux is not for MacBooks</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/600/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design and Flattery</title>
		<link>http://jonathanbuys.com/594</link>
		<comments>http://jonathanbuys.com/594#comments</comments>
		<pubDate>Sun, 05 Jul 2009 17:30:41 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[daringfireball]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=594</guid>
		<description><![CDATA[I&#8217;ve changed the theme of my site here, and it&#8217;s possible that the design might look familiar to you.  Its intentional, it should remind you of Daring Fireball.  I&#8217;m using the &#8220;Plane Jane&#8221; theme from Jim Mitchell Design, and it&#8217;s described as &#8220;A nice grey theme with a very small amount of inspiration [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve changed the theme of my site here, and it&#8217;s possible that the design might look familiar to you.  Its intentional, it should remind you of <a href="http://daringfireball.net" title="Daring Fireball">Daring Fireball</a>.  I&#8217;m using the &#8220;Plane Jane&#8221; theme from <a href="href=&quot;http://jimmitchelldesign.com/projects/plane_jane">Jim Mitchell</a> Design, and it&#8217;s described as <em>&#8220;A nice grey theme with a very small amount of inspiration from a well known Mac pundit thown in for good measure.&#8221;</em>  A while ago I set about to design my own Wordpress theme, and succeeded in coming up with the jb{ theme I&#8217;ve been sporting since.  However, after reading my site and reading Daring Fireball, I&#8217;ve decided that I&#8217;m really not all that great at web design.  I&#8217;ll accept that with a bit of relief actually, it frees me to use a nice theme (again).</p>

<p>So, when deciding on a theme to use, I thought that imitation might really be the greatest form of flattery, and went for a theme that borrowed heavily from DF.  Now, I can go back to concentrating on <em>writing</em>, like it should be.  For the two, possibly three, people who actually read this blog, this should come as a relief.</p>

<p>I keep a blog to write, not to advertise my design skills.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/621" title="Writing about Jekyll (August 25, 2009)">Writing about Jekyll</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/594/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personal Rules for Cocoa Happiness</title>
		<link>http://jonathanbuys.com/587</link>
		<comments>http://jonathanbuys.com/587#comments</comments>
		<pubDate>Mon, 29 Jun 2009 11:09:53 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[happyness]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rules]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=587</guid>
		<description><![CDATA[
Understand every line of code written in my apps
Do not use frameworks (see rule 1).
Do not copy and paste code (see rule 1).
Add lots of comments so I remember what I was doing at any given time.
Manage memory as I go, don&#8217;t wait until I&#8217;m nearly finished and then go and &#8220;clean it up&#8221;.
Roadmap the [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>Understand every line of code written in my apps</li>
<li>Do not use <a href="http://www.wilshipley.com/blog/2005/11/frameworks-are-teh-suck-err.html">frameworks</a> (see rule 1).</li>
<li>Do not copy and paste code (see rule 1).</li>
<li>Add lots of comments so I remember what I was doing at any given time.</li>
<li>Manage memory as I go, don&#8217;t wait until I&#8217;m nearly finished and then go and &#8220;clean it up&#8221;.</li>
<li>Roadmap the application before writing a single line of code.</li>
<li>Search Apple&#8217;s documentation, CocoaDev mailing list archives, Google, and anything else I can think of before asking for help.</li>
<li>When programming, quit Mail, Twitter, NetNewsWire, and IM.  Turn on some non-distracting music in iTunes.</li>
<li>Get a cup of coffee.</li>
<li>Remember, &#8220;<a href="http://theocacao.com/comment/5515">This is hard, you are not stupid</a>.&#8221;</li>
</ol>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
	<li><a href="http://jonathanbuys.com/282" title="Development Environments and Software Quality (September 16, 2008)">Development Environments and Software Quality</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/185" title="Cocoa (January 24, 2009)">Cocoa</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/587/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ping from Cocoa</title>
		<link>http://jonathanbuys.com/580</link>
		<comments>http://jonathanbuys.com/580#comments</comments>
		<pubDate>Mon, 15 Jun 2009 20:54:04 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[C code]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[digg]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=580</guid>
		<description><![CDATA[One of the features of Servers.app is that it pings the host and shows a little indicator for it&#8217;s status: green is good, red is dead.  Getting that little feature in here was not quite as easy as I thought it would be.  After searching the Apple documentation for what seemed like years, [...]]]></description>
			<content:encoded><![CDATA[<p>One of the features of <a href="http://jonathanbuys.com/574">Servers.app</a> is that it pings the host and shows a little indicator for it&#8217;s status: green is good, red is dead.  Getting that little feature in here was not quite as easy as I thought it would be.  After searching the Apple documentation for what seemed like years, I stumbled across SimplePing.  It was perfect, exactly what I was looking for.  I dropped the two source code files into into my project, read through the documentation commented out in the header file and added the code to call SimplePing.  It worked, and everything seemed fine.  Except that it kept working, even when I knew for certain that the host did not exist.</p>

<p>So, I started digging through the source code for SimplePing.c, and found that instead of calling a standard error message, it called <a href="http://www.opengroup.org/onlinepubs/000095399/functions/perror.html">perror</a>, which, according to the documentation, doesn&#8217;t return a value.  This is fine if you want to log the ping results, but I wanted to ping the server and make a decision based on code.  So, I changed a couple of lines of code from this:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="c" style="font-family:monospace;">            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>error <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">//was able to wait for reply successfully (whether we got a reply or not)</span>
            <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>gotResponse <span style="color: #339933;">==</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
                    <span style="color: #009900;">&#123;</span>numberPacketsReceived <span style="color: #339933;">=</span> numberPacketsReceived <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #b1b100;">else</span>
                <span style="color: #009900;">&#123;</span>perror<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Error: Error waiting for packet response&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span></pre></td></tr></table></div>


<p>To this:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="c" style="font-family:monospace;">                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>gotResponse <span style="color: #339933;">==</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					<span style="color: #009900;">&#123;</span>numberPacketsReceived <span style="color: #339933;">=</span> numberPacketsReceived <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
					error <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
			<span style="color: #009900;">&#125;</span>
            <span style="color: #b1b100;">else</span>
                <span style="color: #009900;">&#123;</span>perror<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Error: Error waiting for packet response&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span></pre></td></tr></table></div>


<p>Simply adding an extra else statement in there to return an error code gave my application something to work with.  Now, from my application controller I can call SimplePing like this:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">int</span> systemUp<span style="color: #339933;">;</span>
systemUp <span style="color: #339933;">=</span> SimplePing<span style="color: #009900;">&#40;</span>cString<span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>


<p>After that, I can make decisions based on the value of the systemUp int.   Now, it&#8217;s entirely possible that I&#8217;m doing this wrong, all I can say is that it works for me now, and it didn&#8217;t before.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/185" title="Cocoa (January 24, 2009)">Cocoa</a> (2)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
	<li><a href="http://jonathanbuys.com/409" title="A Work in Progress (February 19, 2009)">A Work in Progress</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/580/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Servers</title>
		<link>http://jonathanbuys.com/574</link>
		<comments>http://jonathanbuys.com/574#comments</comments>
		<pubDate>Fri, 12 Jun 2009 19:47:15 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[cocoaheads]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=574</guid>
		<description><![CDATA[I thought I&#8217;d share a little about the hows and whys of the application I&#8217;m developing for the Mac.  As I&#8217;ve said before, I&#8217;m a systems administrator during my day job, where I work in a cloth covered box.  The box is very nice, it&#8217;s quiet, and I have plenty of opportunity to [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I&#8217;d share a little about the hows and whys of the application I&#8217;m developing for the Mac.  As I&#8217;ve said before, I&#8217;m a <a href="http://jonathanbuys.com/417">systems administrator</a> during my day job, where I work in a cloth covered box.  The box is very nice, it&#8217;s quiet, and I have plenty of opportunity to get my work done.  Maybe too much time&#8230; and maybe its too quiet.  For whatever the reason, I&#8217;m not satisfied in the box, and have been looking for ways out of it almost since I started.  I spent a good amount of time <a href="http://jonathanbuys.com/44">learning Cocoa</a> last year, only to become frustrated with the amount that I didn&#8217;t know after going to a <a href="http://jonathanbuys.com/283">local cocoaheads meeting</a>.  I dropped programming after that for a while, and have chased several other interests and possibilities over the past year.  Everything from web design to consulting to writing, if it had a chance of getting me out of the box, I looked at it.  Nothing worked for me.</p>

<p>I&#8217;ve now <a href="http://jonathanbuys.com/185">returned to Cocoa</a>, and have made my goals <a href="http://jonathanbuys.com/561">public</a>.  I&#8217;m planning on launching my application, named &#8220;Servers&#8221; at next years WWDC conference.  Everything after that is unknown, it all depends on how well the app does with the public.  So, that&#8217;s the introduction, now for the planned feature set.</p>

<p>Servers is an application for performing basic systems administration on Linux and Unix servers.  It uses a familiar iTunes-like interface to manage the details of your servers, with groups on the left, and a list of servers on the right.  You can find details like host name, IP address, CPU type and speed, hard drive size type and speed, operating system version, installed software, hardware lease details, etc&#8230;  Highlight a server, hit the hotkey (probably just return), and Terminal pops up with an ssh session to that server.  The main point of Servers is to be a database for all of the good to know information about a server farm.  It&#8217;s also a quick way to ssh to the servers.  I&#8217;m looking at RDP for Windows boxes, but that&#8217;s yet to be figured out.  VNC maybe as well.</p>

<p>Most of what I have above is done.  There are however a few features that need to be added before shipping 1.0.  The main thing I&#8217;d like to add is <a href="www.nagios.org">Nagios</a> integration.  Since Nagios doesn&#8217;t have a decent API, I&#8217;m not sure exactly how I&#8217;m going to go about this, but at a minimum, I&#8217;d like to see a visual indicator in Servers when Nagios detects a problem, and then be able to interact with Nagios from inside of Servers to fix the problem.</p>

<p>The second major feature I&#8217;m planning on adding is a gui to automate ssh key exchange.  Just a simple wizard that will generate a key-pair, prompt for the passphrase, and then distribute the public key to all of the hosts in Servers.  This is something I always do on the command line, so it only makes sense to bring it into Servers.</p>

<p>Finally, I think it&#8217;s going to be expected by this time next year to include an iPhone version of Servers.  So, that&#8217;s in the plans, not started, but in the plans.  I&#8217;d imagine most of the features of Servers on the desktop should move over to the iPhone, wiht the exception of ssh/vnc/rdp connections.  Personally, I think it&#8217;d be handy to be able to walk through the data center with the iPhone in hand and enter data on hosts as you are looking at them.</p>

<p>The price is yet to be determined, but I think there&#8217;s a sweet spot somewhere <a href="http://en.wikipedia.org/wiki/List_of_systems_management_systems">between</a> the massive commercial offerings and the massive open source products that install on the server and access through a web browser.  Since Snow Leopard is making it easier for Macs to integrate into the business, I think there is a niche market for systems administration tools that take advantage of the beauty and the power of the Mac.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/282" title="Development Environments and Software Quality (September 16, 2008)">Development Environments and Software Quality</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/574/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Last Year</title>
		<link>http://jonathanbuys.com/561</link>
		<comments>http://jonathanbuys.com/561#comments</comments>
		<pubDate>Thu, 11 Jun 2009 13:39:55 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=561</guid>
		<description><![CDATA[I&#8217;ve had it.  I&#8217;m fed up, and I&#8217;ve had enough.  This is the last year.  This is the last year I wonder what I&#8217;m going to do with my life.


     This is the last year I watch on the side lines as others, people I know, live the life [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had it.  I&#8217;m fed up, and I&#8217;ve had enough.  This is the last year.  This is the last year I wonder what I&#8217;m going to do with my life.</p>

<ul>
    <li> This is the last year I watch on the side lines as others, people I know, live the life of their dreams</li>
    <li> This is the last year I work in a box.</li>
    <li> This is the last year I run from one possible idea to the next, never chasing one down to the end.</li>
    <li> This is the last year I accept my fate as it is.</li>
    <li> This is the last year I don&#8217;t live up to who my kids think I am.</li>
    <li> This is the last year I give up because its <em>too hard</em>.</li>
</ul>

<p>
<center>
<img class="aligncenter size-full wp-image-563" title="Screenshot-1" src="http://jonathanbuys.com/wp-content/uploads/2009/06/Screenshot-1.png" alt="Screenshot-1" width="195" height="292" />
</center>
</p>

<p>This year I&#8217;m finishing my application.  One year from now, I&#8217;m going to launch at <a href="http://developer.apple.com/WWDC/">WWDC</a>.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/574" title="Servers (June 12, 2009)">Servers</a> (1)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/185" title="Cocoa (January 24, 2009)">Cocoa</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/561/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Macs, Netbooks, and Education</title>
		<link>http://jonathanbuys.com/554</link>
		<comments>http://jonathanbuys.com/554#comments</comments>
		<pubDate>Wed, 20 May 2009 02:47:23 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=554</guid>
		<description><![CDATA[What does it mean when an entire community springs up around hacking together a product that is not otherwise available?  Apple has been adamant that it is not interested in the netbook market, but according to the many users who are breaking Apple&#8217;s EULA and installing OS X on Dell Minis, the market is [...]]]></description>
			<content:encoded><![CDATA[<p>What does it mean when an <a href="http://gizmodo.com/5156903/how-to-hackintosh-a-dell-mini-9-into-the-ultimate-os-x-netbook">entire</a> <a href="http://uneasysilence.com/archive/2008/10/13519/">community</a> <a href="http://blogs.zdnet.com/Apple/?p=3258">springs</a> up around hacking together a product that is not otherwise available?  Apple has been <a href="http://theappleblog.com/2009/04/23/apple-says-no-to-netbook-quietly-nods-yes-to-tablet/">adamant</a> that it is not interested in the netbook market, but according to the many users who are breaking Apple&#8217;s EULA and installing OS X on Dell Minis, the market is there, and waiting.</p>

<p>Rumors have been circulating for <a href="http://theappleblog.com/tag/netbook/">some time now</a> that Apple is working on a netbook.  I wish I had some special insight or access to Apple&#8217;s inner-workings so I could confirm or deny those rumors, but all I can say is <i>I hope so</i>.  To get everyone on the same page here, let me explain exactly what I mean when I say an Apple netbook.  I&#8217;m talking about a small device with a ten inch (or smaller) screen, small physical keyboard, reduced hardware specs, running a legal, full copy of OS X.  I&#8217;m not talking about an iPhone, or some kind of iPhone/MacBook hybrid.  While its not clear if Apple would consider such a device or not, what is clear is that people would buy a $500 MacBook Nano (or NetMac?) in droves.</p>

<p>Part of the problem here is that this was thought up by someone other than Apple.  Apple likes being the innovator in whatever it does, and it seems to me that they don&#8217;t like following where someone else has already gone.  Fair enough, but by not offering what people are asking for, Apple is, in a round-about way, promoting the download of illegitimate hacked versions of OS X.  They know that people want it, but they don&#8217;t know how to give it to them.</p>

<p>One of the <a href="http://www.newsfactor.com/story.xhtml?story_id=02200295RFBE">arguments I&#8217;ve read</a> against a Mac netbook is that offering such a device would cannibalize sales of their other notebook offerings.  However, what that argument misses is that netbook sales are in a different sector than regular notebook sales. All of the <a href="http://pulse2.com/2009/04/23/tim-cook-says-netbooks-dont-deserve-apple-brand/">traditional arguments</a> against netbooks still apply, and are still just as valid.  Cramped keyboard, small screen, underpowered hardware.  The people who are buying netbooks are not trying to decide between a notebook or a netbook, they are not going to buy a notebook at all.  The decision would not be whether to buy a Mac netbook or a MacBook, it would be whether to buy a Mac netbook or some other brand of netbook.</p>

<p>Traditionally, Apple has been <a href="http://www.pcworld.com/article/139371/kansas_city_public_schools_distribute_macbooks.html">strong in the education market</a>.  Netbooks are perfectly suited for use by students.  The smaller keyboards fit their hands, and the small size and light weight of the netbooks make them easy to bring between classes, sit on a desk with room for writing, and tote back and forth from home.  Without an Apple offering in this market, I would not be surprised at all to hear of increasing numbers of schools purchasing nine inch Acer netbooks.</p>

<p>The bottom line in the Mac netbook debate is that the market is ready for the product to appear, and willing to purchase it when it does arrive.  What Apple needs to figure out is how to make a <a href="http://news.cnet.com/8301-13579_3-10072393-37.html">$500 computer that&#8217;s not junk</a>.  Dell, Sony, and HP seem to have figured it out.  When, and if, Apple does release a netbook one thing is clear, they will make sure that it redefines the entire netbook market.  Then, I&#8217;d imagine the little &#8220;NetMacs&#8221; selling by the truckload.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/621" title="Writing about Jekyll (August 25, 2009)">Writing about Jekyll</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/554/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jim Sanford</title>
		<link>http://jonathanbuys.com/552</link>
		<comments>http://jonathanbuys.com/552#comments</comments>
		<pubDate>Thu, 14 May 2009 02:33:32 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[style]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=552</guid>
		<description><![CDATA[
               My Mama said if I’d be good, she’d send me to the store.
               She said she’d bake some gingerbread if I would sweep the floor.
  [...]]]></description>
			<content:encoded><![CDATA[<blockquote><pre>
               My Mama said if I’d be good, she’d send me to the store.
               She said she’d bake some gingerbread if I would sweep the floor.
               She said if I would make the beds and watch the telephone,
               She would send me out to buy a chocolate ice cream cone.
 
               And so I did, the things she said
               And she made me some gingerbread.
               Then I went out, just me alone
               And I bought me a chocolate ice cream cone.
 
               Now on the way home, I stubbed my toe upon a big ol’ stone.
               Need I tell you that I dropped my chocolate ice cream cone.
               A little doggy came along and took a great big lick.
               So I hit that little doggy with a great big stick.
               And he bit me, where I sit down.
               And he chased me all over town.
               And now I’m lost…can’t find my home.
               All because of a chocolate ice cream cone!
</pre></blockquote>

<p><a href="http://www.missoulian.com/articles/2009/05/13/obits/04wed/10_may13.txt">Good night</a> Papa, we love you.</p>

<div style="text-align:center;"><img src="http://jonathanbuys.com/wp-content/uploads/2009/05/papa-us.jpg" alt="papa_us.jpg" border="0" width="640" height="465" /></div>

<p><center>
Jan. 26, 1929 &#8211; May 9, 2009
</center></p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/290" title="Writing and Mail Annoyances (October 17, 2008)">Writing and Mail Annoyances</a> (0)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/279" title="On Graduation Day (September 10, 2008)">On Graduation Day</a> (2)</li>
	<li><a href="http://jonathanbuys.com/274" title="My Optimized Windows Workflow (May 6, 2008)">My Optimized Windows Workflow</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/552/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DiggBar This</title>
		<link>http://jonathanbuys.com/547</link>
		<comments>http://jonathanbuys.com/547#comments</comments>
		<pubDate>Fri, 10 Apr 2009 11:25:51 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[daringfireball]]></category>
		<category><![CDATA[digg]]></category>
		<category><![CDATA[diggbar]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=547</guid>
		<description><![CDATA[I&#8217;ve put a lot of work into this site.  I&#8217;ve put thought into how I want the URLs to look, how the layout should feel, and since the site has my name on it, I wanted it to be good.  I created a custom theme for the site which will purposefully only work [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve put a lot of work into this site.  I&#8217;ve put thought into how I want the URLs to look, how the layout should feel, and since the site has my name on it, I wanted it to be good.  I created a custom theme for the site which will purposefully only work here, and I&#8217;ve even done a bit of personal &#8220;branding&#8221; I suppose with the jb{ logo.</p>

<p>So, when I saw that Digg had decided to take a page out of 1999&#8217;s web play book and start framing sites inside of their DiggBar, I was more than a little annoyed.  There may be only six people who read this site on a regular basis (Thanks guys!), but this site is entirely mine.  The DiggBar removes the URL from the site you are reading and adds it&#8217;s own custom shortened URL, making it hard to bookmark, or really even remember where you are.</p>

<p>John Gruber, from Daring Fireball fame and who&#8217;s work I admire, evidently shares the same feelings I have about the DiggBar, and posted some <a href="http://daringfireball.net/2009/04/how_to_block_the_diggbar">php code to block it</a>.  I have taken his example code, and created a tiny Wordpress plugin that places his code in the correct spot in the site.  The goal is to make it super easy for the the thousands of wordpress installs to remove this particular menace.</p>

<p>You can download the plugin <a href="http://jonathanbuys.com/download/diggbarblock.php.zip">here</a>.</p>

<p>Please let me know in the comments if you have any problems.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/621" title="Writing about Jekyll (August 25, 2009)">Writing about Jekyll</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/547/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NKOTB</title>
		<link>http://jonathanbuys.com/545</link>
		<comments>http://jonathanbuys.com/545#comments</comments>
		<pubDate>Fri, 10 Apr 2009 04:09:23 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=545</guid>
		<description><![CDATA[When I was younger, 20 years ago or so I suppose, the New Kids On The Block (NKOTB) were synonymous with cheesy pop music that was taking over our airwaves.  They weren&#8217;t just a pop boy band, they were The pop boy band.  I remember the thing was that if you were a [...]]]></description>
			<content:encoded><![CDATA[<p>When I was younger, 20 years ago or so I suppose, the New Kids On The Block (NKOTB) were synonymous with cheesy pop music that was taking over our airwaves.  They weren&#8217;t just a pop boy band, they were The pop boy band.  I remember the thing was that if you were a guy and you were a NKOTB fan, it instantly meant you were gay.  Which, for an adolescent boy just before his teens, that meant there was absolutely no way that this band&#8217;s music would ever willingly land on his ears.  Rumors circulated regularly about the NKOTB being caught, red-handed no less, in one disgusting sexual tryst or another.  One in particular that I remember was that one of the members had to have his stomach pumped because he was sick, and they found that it was full of sperm.  That was the stigma attached to this band.</p>

<p>So, I grew, and I found that I much rather enjoyed classic rock and grunge more than anything else.  As I&#8217;ve grown I&#8217;ve learned to appreciate many different types of music, everything from classical to the Beastie Boys.  My iPod will shuffle from the Grateful Dead to an old Prodigy mix.  However, I&#8217;ve never been a fan of pop music.  Boy bands went away for a while, and for the most part I forgot all about them.</p>

<p>I was kind of surprised when my wife told me this blast from the past was coming to Des Moines.  When she later told me that she wasn&#8217;t going because couldn&#8217;t find anyone to go with her, I felt bad for her, and told her that I&#8217;d take her.  What I found at the concert surprised me.</p>

<p>The NKOTB are five guys from Boston who work really hard to put on a good show.  They are talented singers and dancers, and they know how to keep the crowd entertained.  They really are a great band, and when I look back at what they had to go through, I think that they were probably unfairly ridiculed.  We were lucky enough to get seats on the (nearly empty) stadium, and were able to get within six feet of the band as they performed a few of their songs in the center on a rising platform. Getting that close to a person, being able to look in their eyes and have them look back at you, it&#8217;s hard to be critical.  Much harder than listening to something on the radio or seeing something on MTV.  I had an important revelation as I watched my wife go nuts over these guys.</p>

<p>I can&#8217;t do what they do.</p>

<p>I can neither sing, nor dance.  I&#8217;m fairly certain that if I ripped off my shirt in front of a crowd I&#8217;d be politely asked to put it back on again.  How can I be so extremely prejudiced against a group of guys that can do things that I cannot.  I really can&#8217;t.  The only thing that I can say is that I&#8217;m not a fan of their pop-sugary style of music.  I can&#8217;t say that any of them are any less of a man than I am, and to be honest, in some ways much more for having the guts to do what they do in the first place.  The public eye can be vicious.</p>

<p>So, what did I do that night?  I looked a legend of the past in the eye, and gave them my respect.  I don&#8217;t know if they are going to have a lot of success with this comeback, but I hope that things work out for them.</p>

<p>I also take it as a sign that I have grown to overcome the adolescent prejudices of my past.  I can appreciate the work and talent that goes into making the music and the shows, even if I don&#8217;t care for the style of music itself.  I&#8217;m not about to replace my collection of bootlegged Dead music for pop, but I&#8217;m glad that I&#8217;ve grown to the point where I feel that I&#8217;ve come into my own.  My own preferences for my own reasons.</p>

<p>Hey, life&#8217;s too short for hate.  And, just as proof, here I am with the beautiful woman who brought me, who loved the show so much she started screaming like she was twelve years old again:</p>

<p><img src="http://jonathanbuys.com/wp-content/uploads/2009/04/nkotb.png" alt="nkotb.png" border="0" width="800" height="711" /></p>

<p>Happy Birthday, babe.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/290" title="Writing and Mail Annoyances (October 17, 2008)">Writing and Mail Annoyances</a> (0)</li>
	<li><a href="http://jonathanbuys.com/459" title="Tough to Turn Down (March 22, 2009)">Tough to Turn Down</a> (0)</li>
	<li><a href="http://jonathanbuys.com/561" title="The Last Year (June 11, 2009)">The Last Year</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/545/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spit and Polish</title>
		<link>http://jonathanbuys.com/463</link>
		<comments>http://jonathanbuys.com/463#comments</comments>
		<pubDate>Tue, 31 Mar 2009 10:56:04 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[indexed]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[spotlight]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[tracker]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=463</guid>
		<description><![CDATA[After spending a week with Linux as my sole computer, I find it very refreshing to come back home to my Mac.  FedEx says my wife&#8217;s PC should be here tomorrow, so she can go back to Word 2007 and I can have Mactimus Prime back.  It&#8217;s not that I didn&#8217;t enjoy working [...]]]></description>
			<content:encoded><![CDATA[<p>After spending a week with <a href="http://www.ubuntu.com/">Linux</a> as my sole computer, I find it very refreshing to come back home to my Mac.  FedEx says my wife&#8217;s PC should be here tomorrow, so she can go back to Word 2007 and I can have Mactimus Prime back.  It&#8217;s not that I didn&#8217;t enjoy working with Linux, I did, but I&#8217;ve found that once the geeky pleasure of discovering something new wears off, there are problems.</p>

<p>I gave up on using Lotus Notes as any type of information manager a few months ago, so anything that comes in as an email is treated either as a to-do or as reference material.  To-dos are deleted when they are finished, and reference material is printed to PDF for indexing by the operating system.  Or, they would be indexed if Linux had a decent indexing system.  <a href="http://projects.gnome.org/tracker/">Tracker</a>, the default installed with Ubuntu seems incapable of properly indexing the large PDF files that I accumulate.  I&#8217;ve done quite a bit of research lately concerning high availability, especially when it deals with DB2, but a search for the term &#8220;<a href="http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/core/c0011585.htm">HADR</a>&#8221; in tracker finds nothing.  Maybe there&#8217;s a setting that needs tweaking, maybe I need to read the man page a little deeper, but all I know is that it doesn&#8217;t work quite right yet.</p>

<p>Google desktop search finds everything, but then there&#8217;s the strange need that it has to look and act like Gnome-Do.  That bothers me to the point that I wind up uninstalling Google Desktop, the only tool that actually works.  I just can&#8217;t have two applications performing the same function.  If <a href="http://do.davebsd.com/">Gnome-Do</a> would actually index the contents of the files, it&#8217;d be perfect.  Google Desktop just looks and acts out of place.  I like tracker because it looks like it belongs in Gnome, but looking like it belongs and actually performing its intended tasks are two different things.  Google Desktop finds what I&#8217;m looking for, but it opens Firefox and I feel like I&#8217;m browsing the web, not my personal files.  The conceptual model just doesn&#8217;t work&#8230; not for me.</p>

<p>Contrast this to my Mac.  Every file that is written to the hard drive is automatically indexed by <a href="http://arstechnica.com/apple/reviews/2005/04/macosx-10-4.ars/9">spotlight</a>, and is immediately available from search.  Spotlight is written into the kernel, deeply ingrained in the OS X operating system.  Linux (and Windows, I believe?) search and indexing systems are add on applications that search for new and updated files to add to their index on a schedule.  There&#8217;s no integration, no unification of the application an the operating environment.</p>

<p>Desktop search is only one area that needs attention.  Another is the location and organization of the menus.  In Gnome, there are two task bars, top and bottom.  The top menu bar contains the three main menus for finding and launching installed applications, bookmarks and file system manipulation actions, and settings for personal preferences and systems administrative tasks.  In OS X, the nested menus have been replaced with applications.  The Finder is an application for locating and launching applications and manipulating the filesystem.  On the surface, it seems like Finder is on par with Nautilus, the Gnome file manager, but this is not the case.  The Finder, for all its faults, is a one stop shop for finding and launching applications, documents, music, pictures, and anything else that you can think of.  Gnome uses a menu to launch applications, and Nautilus for finding and launching documents.  Gnome also uses a pair of menus to change system and personal preferences.  OS X has the system preferences application, which is also integrated into spotlight with a clever highlighting feature that &#8220;spotlights&#8221; the preference you are looking for.</p>

<p>Finder and System Preferences are two applications that highlight the focus on simplicity that is inherent in the design of OSX.  It comes down to limiting choices.  If I want to change something, I need to change a preference, in OS X I launch System Preferences.  In Gnome, I launch&#8230;. well, it depends on what I want to change.  I need to spend some time reading through the menu options to find the appropriate application that will change the preference I&#8217;m thinking of.</p>

<p>Then there&#8217;s the rest of the top Gnome task bar, which absolutely drives me nuts.  For one, Gnome allows you to add applications shortcuts to the task bar, and ships with Firefox, Evolution,and the Gnome help application there by default.  So now, you have both drop down menus and applications to launch side by side.  Gnome allows you to &#8220;Lock&#8221; a menu item in place, assumedly so that when other options are added, they must be added around the item that is locked.  This has the unfortunate effect of causing some menu bar options to be completely in the wrong order when moving from the 13&#8243; laptop screen to the docked 22&#8243; monitor.   The menu items that are locked in place are still in the same place relative to the smaller screen size, while the menu items that are not locked in place have expanded with the larger screen and are now on the opposite side.  So, to remedy this, I have to go to each item and unlock it, and then drag them to where they are supposed to be.</p>

<p>Of course, this raises another interesting question&#8230; just where <em>are</em> they supposed to be?</p>

<p>I normally remove the item with my name on it, since it duplicates functionality available under the System menu.  I leave the calendar where it is, and love the weather available there.  The volume is next to the weather, as is the network manager item, which both seem perfectly at home.  Then there &#8217;s the notification area, which I&#8217;m never sure what will show up in this area.  Pidgin lives there, as does the <a href="http://projects.gnome.org/rhythmbox/">Rhythmbox</a>  music player, and occasionally Gnome-Do pops up there long enough to let me know about some new tweets on Twitter.  The new <a href="http://arstechnica.com/open-source/news/2008/12/canonical-linux-notification-system.ars">unified notification system</a> reminds me of <a href="http://brainstorm.ubuntu.com/idea/7018/">Growl</a>, and I love that it is included in the operating system by default now.  However, when I launch Pidgin now, I&#8217;m given yet another icon on the task bar, and I have no idea what it does.  It looks like a small envelope, and seems to be there simply to annoy me.</p>

<p>Most of the things in the top right hand side of the task bar seem perfectly at home there, but the notification area doesn&#8217;t.  I might move it down to the bottom right task bar, in the place now occupied by the trash and the desktop switcher, but I&#8217;m afraid it might clutter up that area too.  In the end, the notification area is more clutter than anything else.</p>

<p>The bottom task bar includes the trash, desktop manager, and an icon to click if you want to minimize all of the open windows to see the desktop.  That button must come from Windows.  The rest of the bottom task bar is used for window management, with an icon for each open window much like the Windows task bar.  This bothers me because I have a notification area where applications can live, and I have the window management task bar where applications can also live.  So, when I want an application, at times I have to stop long enough to check both the top and the bottom of the screen.  Or, Alt-Tab, or Super-Tab, or, if it&#8217;s not in there maybe it&#8217;s a daemon, or maybe it crashed.</p>

<p>Personally, I&#8217;d like to see a more interactive bottom task bar, one that incorporates both notification capabilities and window management.  Eliminate choices so I don&#8217;t have to make choices and decisions about my computer when I should be thinking about what I&#8217;m doing.  I have to stop using my tool at times to interact with the tool, instead of simply using the tool to accomplish my intended task.</p>

<p>Gnome has some things that I&#8217;ve really enjoyed.  I love <a href="http://projects.gnome.org/tomboy/">TomBoy</a>.  I love how Gnome has built in ability to mount nearly any connection and browse it as a filesystem.  I love, love, love Gnome-Do, and I wish it wouldn&#8217;t have tried to be something its not with that <a href="http://do.davebsd.com/wiki/index.php?title=Docky">ridiculous dock theme</a>.  Gnome-Do, you excel at being a keyboard application launcher for Linux, where I spend all my time in the terminal.  Be what you are!</p>

<p>I&#8217;m looking forward to getting my Mac back in the next couple of days, and I&#8217;m really looking forward to firing up Xcode and getting to work on my app again.  I may talk to my boss about using my Mac at work as well, that would solve so many problems for me.  For now, I&#8217;ll keep using Linux.  The major problems have been overcome; stability and capability.  Now, it&#8217;s time to concentrate on spit, polish, and deep integration for a cleaner, less cluttered user experience.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/31" title="How to Fix Linux (December 24, 2008)">How to Fix Linux</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/463/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tough to Turn Down</title>
		<link>http://jonathanbuys.com/459</link>
		<comments>http://jonathanbuys.com/459#comments</comments>
		<pubDate>Sun, 22 Mar 2009 21:57:41 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[navy]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/2009/03/tough-to-turn-down/</guid>
		<description><![CDATA[I&#8217;ve been using Linux for nearly a decade now.  I first had a guy I met in a Navy school install it on my old IBM desktop.  Back then, it was very hard to find the right drivers, and just about impossible to get on the Internet, seeing how almost every modem that shipped with [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Linux for nearly a decade now.  I first had a guy I met in a Navy school install it on my old IBM desktop.  Back then, it was very hard to find the right drivers, and just about impossible to get on the Internet, seeing how almost every modem that shipped with a PC was a <a title="WinModem" href="http://en.wikipedia.org/wiki/Softmodem" id="ilzd">WinModem</a>.  X11 configuration was error prone to say the least, drivers for the sound card were hard to come by, and out in the rural English countryside where we lived, broadband was almost unheard of.  Installing software could be a nightmare.  Say I wanted to install a music player to listen to my CDs.  The music player would have dependencies, certain libraries that needed to be installed, so I&#8217;d go and download the dependencies and try to install them, only to find out that the dependencies had dependencies!  So, I&#8217;d download further dependencies, and eventually I&#8217;d be able to listen to my music.  And then I&#8217;d try to launch something else, only to find out that in fulfilling the dependencies of the music player, I&#8217;d broken the dependencies of the other application that <i>used</i> to be installed and working.   <br /><br />However, on the rare occasions when it did work, Linux was fascinating.  It&#8217;s been amazing to watch Linux grow over the years, and even more amazing to see the leaps and bounds in the user interface and usefulness.  To say that right now, I&#8217;m writing this on my laptop, wirelessly connected to the Internet on my WPA2 secured network, listening to my Grateful Dead collection shuffle, while keeping four other virtual desktops open with several other applications running is nothing short of amazing.  I&#8217;ve been <a title="critical" href="http://jonathanbuys.com/2008/12/the-coffee-cup/" id="yq4v">critical </a><a title="of" href="http://jonathanbuys.com/2008/12/how-to-fix-linux/" id="kcgq">of </a><a title="Linux" href="http://jonathanbuys.com/2008/04/linux-is-not-for-macbooks/" id="aqjc">Linux </a><a title="in" href="http://jonathanbuys.com/2008/04/5-things-windows-does-better-than-linux/" id="muo6">in</a>  the past, but within the past six months, Linux on the desktop has really brought it all together.  <br /><br />For example, I&#8217;ve got an Airport Express on my home wireless network, with an HP PSC 1500 attached to its usb port.  Ubuntu automatically detected the printer, downloaded and installed the drivers, and allowed me to print a test page just now with no frustration at all.  I can&#8217;t even do that with OS X, not unless I&#8217;ve installed several gigs of printer drivers I don&#8217;t need beforehand.  Scanning <a title="works much the same way" href="http://jonathanbuys.com/2008/09/ubuntu-scanning/" id="xk7b">works much the same way</a> &#8230; plug it in and use it, that&#8217;s it.<br /><br />Ubuntu has finally fixed the dual-monitors problem that bugged me for so long, and Mint (an Ubuntu derivitive) sleeps and wakes up almost as seamlessly as my Mac.  Looking at my desktop now I&#8217;ve got a ton of free software, in a system that works like I want it to.  Given that all of the software I&#8217;m using now (with the exception of the IBM apps I need for work) is free, going back to my Mac when Rhonda&#8217;s Dell comes back may be harder than initally thought.  Time will tell, but the free Linux desktop is becoming harder and harder to turn down.<br /><br /><br /><br /><br /></p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/459/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adamo: Apple Pushes the Industry Forward</title>
		<link>http://jonathanbuys.com/457</link>
		<comments>http://jonathanbuys.com/457#comments</comments>
		<pubDate>Wed, 18 Mar 2009 14:38:15 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[64bit]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=457</guid>
		<description><![CDATA[I almost feel sorry for the other hardware manufacturers.  No matter what they do, no matter what they come out with, they seem to be forever following in Apple&#8217;s footsteps.  Such is the case with Adamo from Dell, a clear shot at the MacBook Air.  

Adamo uses the same machined aluminum manufacturing [...]]]></description>
			<content:encoded><![CDATA[<p>I almost feel sorry for the other hardware manufacturers.  No matter what they do, no matter what they come out with, they seem to be forever following in Apple&#8217;s footsteps.  Such is the case with <a href="http://www.adamobydell.com/" title="Adamo by Dell">Adamo from Dell</a>, a clear shot at the <a href="http://theappleblog.com/2008/01/15/macbook-air-the-worlds-thinnest-notebook/" title="MacBook Air">MacBook Air</a>.  </p>

<p>Adamo uses the same <a href="http://www.apple.com/macbook/the-new-macbook/" title="Manufacturing Process">machined aluminum manufacturing</a> process introduced by Apple with the Air, which has since spread very successfully to the rest of the Mac laptop line.  Adamo markets itself as very thin, and very light, and has an artistic feel to their advertising that seems out of place with &#8220;cookie cutter&#8221; Dell.  In fact, the marketing is almost too artistic, almost like they are trying <em>too</em> hard to shed their old image.  </p>

<p>The specifications between the two lines are very similar.</p>

<table border="0" cellspacing="5" cellpadding="5">
    <tr><th>  </th><th>Adamo</th><th>MacBook Air</th></tr>
    <tr><td>CPU</td><td>1.2Ghz Core 2 Duo</td><td>1.6Ghz Core 2 Duo</td></tr>
    <tr><td>RAM</td><td>2GB</td><td>2GB</td></tr>
    <tr><td>Display</td><td>13.4&#8221;</td><td>13.3&#8221;</td></tr>
    <tr><td>GPU</td><td>Intel GMX 4500</td><td>NVIDIA GeForce 9400M</td></tr>
    <tr><td>Storage</td><td>128GB SSD</td><td>128GB SSD</td></tr>
    <tr><td>Weight</td><td>4 Pounds</td><td>3 Pounds</td></tr>
    <tr><td>Price</td><td>$1999</td><td>$2299</td></tr>
</table>

<p>As you can tell, this is not truly an apples to apples (pardon the pun) comparison.  At this price point, the major difference between the Air and the Adamo is the $500 optional SSD. Configured with the 120GB SATA drive, the Air comes in at $1799. The Air is faster and lighter than the Adamo, and includes a dedicated <a href="http://www.apple.com/macbookair/features.html" title="Graphics Boost">NVIDIA graphics card</a>.  </p>

<p>A more accurate comparison may be with the MacBook, also configured with a 128GB SSD.</p>

<table border="0" cellspacing="5" cellpadding="5">
    <tr><th>  </th><th>Adamo</th><th>MacBook</th></tr>
    <tr><td>CPU</td><td>1.2Ghz Core 2 Duo</td><td>2.0Ghz Core 2 Duo</td></tr>
    <tr><td>RAM</td><td>2GB</td><td>2GB</td></tr>
    <tr><td>Display</td><td>13.4&#8221;</td><td>13.3&#8221;</td></tr>
    <tr><td>GPU</td><td>Intel GMX 4500</td><td>NVIDIA GeForce 9400M</td></tr>
    <tr><td>Storage</td><td>128GB SSD</td><td>128GB SSD</td></tr>
    <tr><td>Weight</td><td>4 Pounds</td><td>4.5 Pounds</td></tr>
    <tr><td>Price</td><td>$1999</td><td>$1749</td></tr>
</table>

<p>The MacBook case is larger and heavier.  With the MacBook there is a half a pound difference in weight, but there is a big difference in the 2.0Ghz speed boost in the CPU.  Fortunately for Dell, the Adamo is not about hardware internal hardware specs.  It&#8217;s about trying to catch up with Apple in industrial design.  </p>

<p>The screen looks gorgeous, I love the edge to edge glass design.  The Adamo screen has a slightly different resolution from the standard 1280&#215;800, coming in at 1366&#215;768.  Dell has done a great job with the Adamo.  Unfortunately, its still not a MacBook killer, simply because its still not a Mac.  Great industrial design is only one part of the puzzle of what makes a Mac a Mac.  The other vital piece is OS X.  With OS X and the Mac Apple has created a machine that drifts into the background, gets out of your way, and lets you do what you set out to do.  Adamo <a href="http://www.dell.com/content/topics/topic.aspx/global/products/adamo/topics/en/us/adamo-pearl?c=us&amp;l=en&amp;s=dhs&amp;cs=19" title="Vista">ships</a> with Windows Vista Home Premium 64bit.  No matter how great the hardware is, if the software is not intimately tied to it the way only a company that creates both the hardware <em>and</em> the software can do, it&#8217;s still <a href="http://www.apple.com/getamac/ads/" title="Mac vs PC">just another PC</a>.  </p>

<p>People may initially buy their first Mac because of the design, or the halo effect of the iPod.  They buy their second Mac because of the experience.  </p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/13" title="System P (December 19, 2008)">System P</a> (0)</li>
	<li><a href="http://jonathanbuys.com/459" title="Tough to Turn Down (March 22, 2009)">Tough to Turn Down</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/457/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communications</title>
		<link>http://jonathanbuys.com/443</link>
		<comments>http://jonathanbuys.com/443#comments</comments>
		<pubDate>Thu, 05 Mar 2009 14:32:07 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[eating]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[office]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[organize]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[Shared]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=443</guid>
		<description><![CDATA[Ask any mechanic, machinist, or carpenter what the single most important thing that contributes to their success is, and what they are bound to tell you is &#8220;having the right tool for the job&#8221;.  Humans excel in creating physical tools to accomplish a certain task.  From hammers to drive a nail to the [...]]]></description>
			<content:encoded><![CDATA[<p>Ask any mechanic, machinist, or carpenter what the single most important thing that contributes to their success is, and what they are bound to tell you is &#8220;having the right tool for the job&#8221;.  Humans excel in creating physical tools to accomplish a certain task.  From hammers to drive a nail to the Jaws of Life to pry open a car, the right tool will save time, money, and frustration.  It&#8217;s interesting to note the contrast that people have such a hard time with <em>conceptual</em> tools.  Software designed to accomplish a specific task, or several tasks, is often forced into a role that it may not fit into, making the experience kludgy, like walking through knee deep mud.</p>

<p>I&#8217;ve found this problem to be especially prevalent in business environments, where the drive to &#8220;collaborate&#8221; brings many varied and sundry applications into the mix.  While hurrying to the next great collaboration tool they forget to ask the absolute most important question: <em>What do we need this software to do?</em></p>

<p>To communicate effectively in a business environment, it is imperative to use the right tool for the job.  To determine what the right tool for the job is, you first have to ask yourself exactly what the job is.  Do you need ask a quick, immediate question from a co-worker?  Is there a more detailed project question that you need to ask, and maybe get the opinions of a few others too?  Do you have something that you need to let a large group of people know, maybe even the entire company?  Each of these tasks is best suited to a different tool.  Unfortunately, I&#8217;ve most often seen each of these tasks shoe-horned into email.</p>

<p>Email is a personal communications medium, best suited for projects or questions that you do not need immediate responses to.  There have been many times when I&#8217;ve gone through my inbox and found something that didn&#8217;t grab my attention when it was needed, and by the time I looked at it was past due.  Email is asynchronous, ask a question, and wait for a response whenever the receiving party has time.</p>

<p>If you do need immediate response, the best tool would be instant messaging.  IM pops up and demands the receiving person&#8217;s attention.  When requesting something via IM, the person on the other end has to make a decision either to ignore you or to answer your question.  Long explanations are not a good fit for IM, but short, two or or three sentence conversations are perfect or it.</p>

<p>When considering sending something out to the entire company, keep in mind that email is a <em>personal</em> communications medium.  Company wide email blasts are impersonal, and for the most part require no action on the part of the receiver other than to eventually read it.  A better tool for this job is an internal company blog, accompanied by an RSS feed.  RSS is built into all major browsers now, and could be built into the base operating system build for PCs.  Every single time I get something from our company green team or an announcement from the CEO, I can&#8217;t help but think that a blog would be the best place for such formal, impersonal communications.  A blog could be archived for searching, new announcements broadcast through RSS, and best of all accessible when the intended receiver has the time and attention to best appreciate the content.  To me, company wide email is the same thing as spam, and for the most part, is treated as such.</p>

<p>One other form of internal communications which is far, far too often maligned beyond recognition is shared documentation.  Technical documentation especially suffers from document syndrome, which is having a separate (often) Word file for each piece of documentation, spread out through several different directories on Windows shares, or worse on the local hard drive of whoever wrote it.  Such documentation should be converted to a wiki as soon as possible.  If you are writing a book, I hear Word is a fairly good tool to use.  If you are writing a business letter, again, great tool.  If you are documenting the configuration of a server, a word processor should not be launched.  Word (or OpenOffice) documents have a tendency to drift, and are difficult to access unless you are on the internal network.  Trying to access a windows share from my Mac at home through the VPN is something that I&#8217;ve never even considered trying.  A wiki, is perfectly suited for internal documentation.  They are a single central place to organize all documents in a way that makes sense, is accessible from a web browser, easy to keep up to date, and most importantly, searchable.  Need to know how to set up Postfix?  Search the internal wiki.  Need to know why this script creates a certain file?  Search the internal wiki.  Everything should be instantly searchable.  Perhaps search is not the most important feature of a wiki, perhaps the most important is the ability to link to other topics according to context.  I can get lost in Wikipedia at times, jumping from one link to another as I explore a topic.  The same thing can happen to internal documentation.  This script creates this document for this project, which is linked to an explanation of the project, which contains links to other scripts and further explanation.  Creating the documentation can seem time consuming, until you are there at 2AM trying to figure out why a script stopped working.  Then the hour spent writing the explanation at 2PM doesn&#8217;t seem so bad.</p>

<p>One of the first things I did when starting my job was to set up both a personal, internal blog and a shared wiki for documentation.  I used Wordpress for the blog, and MediaWiki for the wiki.  Both are excellent tools, and very well suited for their purpose.  If I were a manager, I&#8217;d encourage my team to spend 15 minutes or so at the end of the day posting what they did for the day in their personal blog.  Could you imagine the gold mine you&#8217;d have at the end of a year or so?  Or the resources for  justifying raises.  Solid documented experience with products and procedures, what works and what doesn&#8217;t.  The employee&#8217;s brain laid out.</p>

<p>Internal moderated forums is something that I haven&#8217;t tried yet, but I can see benefits to this as well.  They&#8217;ve been used on the Internet for years, and I can imagine great possibilities there, especially for problem resolution.  How about a forum dedicated to the standard OS build of PCs?  Or one for discussing corporate policies?</p>

<p>Blogs, wikis, forums, and IM are tools who&#8217;s tasks are far too often wedged into email.  If an entire organization begins to leverage using the right tool for the job, the benefits would soon become apparent.  Then you&#8217;d wonder why you ever did it the other way at all.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/443/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Macs and Cats</title>
		<link>http://jonathanbuys.com/439</link>
		<comments>http://jonathanbuys.com/439#comments</comments>
		<pubDate>Sun, 01 Mar 2009 00:39:27 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[pets]]></category>
		<category><![CDATA[spotlight]]></category>
		<category><![CDATA[style]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=439</guid>
		<description><![CDATA[Or, never leave your MacBook open while there are cats around who would like nothing better than to sleep on your keyboard.  You&#8217;ll come back to find your Mac speaking every item you select, Spotlight beachballed, and strange double options in the Finder menu:



A reboot seems to have cleared everything up, but I&#8217;ve no [...]]]></description>
			<content:encoded><![CDATA[<p>Or, never leave your MacBook open while there are cats around who would like nothing better than to sleep on your keyboard.  You&#8217;ll come back to find your Mac speaking every item you select, Spotlight beachballed, and strange double options in the Finder menu:</p>

<div style="text-align:center;"><img src="http://jonathanbuys.com/wp-content/uploads/2009/02/screen-capture.png" alt="screen-capture.png" border="0" width="285" height="428" /></div>

<p>A reboot seems to have cleared everything up, but I&#8217;ve no idea what strange key combinations the cats must have pressed to cause this.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/290" title="Writing and Mail Annoyances (October 17, 2008)">Writing and Mail Annoyances</a> (0)</li>
	<li><a href="http://jonathanbuys.com/13" title="System P (December 19, 2008)">System P</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/439/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hopes and Dreams</title>
		<link>http://jonathanbuys.com/435</link>
		<comments>http://jonathanbuys.com/435#comments</comments>
		<pubDate>Fri, 27 Feb 2009 03:35:43 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[photography]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=435</guid>
		<description><![CDATA[[singlepic=84,320,240,,center]

When you are ten years old, the world is massive, unimaginably gigantic, full of wonder and mystery, full of magic and hope.  Scary at times, brilliant at others.  She wants to be a ballerina, a dance teacher, a scientist, an archeologist, an astronomer, to find the lost ark, to save sick animals.

She wants [...]]]></description>
			<content:encoded><![CDATA[<p>[singlepic=84,320,240,,center]</p>

<p>When you are ten years old, the world is massive, unimaginably gigantic, full of wonder and mystery, full of magic and hope.  Scary at times, brilliant at others.  She wants to be a ballerina, a dance teacher, a scientist, an archeologist, an astronomer, to find the lost ark, to save sick animals.</p>

<p>She wants to save the world.</p>

<p>I tell her she can.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/391" title="Wallpaper (February 7, 2009)">Wallpaper</a> (0)</li>
	<li><a href="http://jonathanbuys.com/281" title="Moving to Ubuntu: F-Spot (September 16, 2008)">Moving to Ubuntu: F-Spot</a> (2)</li>
	<li><a href="http://jonathanbuys.com/9" title="Account Pruning (December 19, 2008)">Account Pruning</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/435/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shell Script Style</title>
		<link>http://jonathanbuys.com/419</link>
		<comments>http://jonathanbuys.com/419#comments</comments>
		<pubDate>Wed, 25 Feb 2009 12:06:51 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[eating]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[rules]]></category>
		<category><![CDATA[sad]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=419</guid>
		<description><![CDATA[My co-worker and I spent the better part of yesterday afternoon going through a former employee&#8217;s shell scripts to try to determine what they were and what he was trying to do.  The script worked, for a while, but there were several mistakes.  The mistakes were not in strict syntax, they were in [...]]]></description>
			<content:encoded><![CDATA[<p>My co-worker and I spent the better part of yesterday afternoon going through a former employee&#8217;s shell scripts to try to determine what they were and what he was trying to do.  The script worked, for a while, but there were several mistakes.  The mistakes were not in strict syntax, they were in style.  Here are a few simple rules to follow to write great scripts:</p>

<ol>
<li><p>Always, always, always start off each and every script with a shbang line: <code>#!/bin/sh</code>.  Starting off your script with this line tells your shell where to find the interpreter for the commands in the script.  Without this line, the script is using your user&#8217;s existing shell, the one you are typing in at the moment. This is bad because you are sharing environmental variables, and maybe changing environmental variables outside of your script, and not keeping it self contained and portable.  </p></li>
<li><p>Keep your script self contained:  If at all possible, try to avoid writing files in different directories.  Or, even better, try to avoid writing files at all.  Use variables when you can, write files when you have to.  </p></li>
<li><p>Avoid sourcing other scripts or files containing functions:  I read about this method in <a href="http://www.intuitive.com/wicked/" title="Wicked Cool Shell Scripts">Wicked Cool Shell Scripts</a>, but I disagree that it is as useful as they say.  Writing a custom function to send an email is a great idea.  separating it out of the script you are working on at the time is not.  Again, keep the script self contained.  There are obvious exceptions to this rule.  If your function is over 50 lines of code, and reused in multiple other scripts, then by all means, source it.  If your function is 10 lines, create a <a href="http://grox.net/doc/unix/exrc.php" title="Dave's .exrc file">vi shortcut for it</a> and add it to the top of the script.  </p></li>
<li><p>Comment tasks:  Each block of code in your shell script is meant for a specific task.  Add a comment for this block.  Make it easy to read, and simple to understand.  Assume that you will not work there forever, and someone else will need to read your code and make sense out of it.  Also assume that in a year, you will forget everything you did and why you did it and need a reminder.</p></li>
<li><p>Keep it simple:  Scripts should flow logically from top to bottom.  If you are creating functions, make it obvious using a comment.  Reading a script should be as easy as reading a book, if it&#8217;s not, then you are intentionally making things overly complicated and difficult to read.  </p></li>
<li><p>End each script with <code>#EOF</code>:  This is purely a matter of taste, but I find it adds a nice closure to the script.  </p></li>
</ol>

<p>The easiest thing to do is to create another script who&#8217;s purpose in life is to create new scripts.  Couple this script with a vi shortcut (mine is ,t) to create the skeleton of the script and you can quickly create powerful, well formatted, easy to read scripts.  Here&#8217;s an example of mine:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #666666; font-style: italic;"># </span>
<span style="color: #666666; font-style: italic;"># scripty.sh: This script creates other scripts</span>
<span style="color: #666666; font-style: italic;"># Created: 25 Feb. 2009 -- jonbuys@me.com</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">##############################################################</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># A place for variables</span>
<span style="color: #007800;">VAR1</span>=<span style="color: #ff0000;">&quot;Set any variables at the top&quot;</span>
<span style="color: #007800;">DATE</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">ANDTHEN</span>=<span style="color: #ff0000;">&quot;Whatever&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># A place for functions</span>
some_func<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span><span style="color: #000000; font-weight: bold;">`</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Whatever's Clever!&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Get down to writing the script</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$VAR1</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$DATE</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$ANDTHEN</span>
some_func
<span style="color: #666666; font-style: italic;"># etc...</span>
&nbsp;
<span style="color: #666666; font-style: italic;">##############################################################</span>
<span style="color: #666666; font-style: italic;">#EOF</span></pre></div></div>


<p>This article doesn&#8217;t talk about syntax, only style.  There&#8217;s plenty of help with syntax available on the Intertubes.  Also, this is <em>my</em> style, as you progress as a sysadmin or scripter of some sort or another, you are bound to come up with your own style that suits you.  My style is based on the documentation at grox.net.  My style has evolved over time, as will yours, but this is a good place to start.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/631" title="New SysAdmin Tips (December 4, 2009)">New SysAdmin Tips</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
	<li><a href="http://jonathanbuys.com/32" title="Creative Uses for Wordpress (May 7, 2008)">Creative Uses for Wordpress</a> (6)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/419/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Systems Administrator</title>
		<link>http://jonathanbuys.com/417</link>
		<comments>http://jonathanbuys.com/417#comments</comments>
		<pubDate>Tue, 24 Feb 2009 15:43:29 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[aix]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[rules]]></category>
		<category><![CDATA[sad]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=417</guid>
		<description><![CDATA[From time to time I&#8217;m asked by members of my family or friends of mine outside the tech industry what it is that I do for a living.  When I respond that I&#8217;m a sysadmin, or systems administrator for Linux and UNIX servers, more times than not I get the &#8220;deer in the headlights&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>From time to time I&#8217;m asked by members of my family or friends of mine outside the tech industry what it is that I do for a living.  When I respond that I&#8217;m a sysadmin, or <a href="http://en.wikipedia.org/wiki/Systems_administrator">systems administrator</a> for <a href="http://www.ubuntu.com/">Linux</a> and <a href="http://www-03.ibm.com/systems/power/software/aix/index.html">UNIX</a> servers, more times than not I get the &#8220;deer in the headlights&#8221; look that says I may as well be speaking Greek.  So, for a while, I&#8217;ve taken to saying &#8220;I work in IT&#8221;, or &#8220;I work with computers, really big computers&#8221; or even &#8220;I&#8217;m a computer programmer&#8221;, which isn&#8217;t exactly accurate.  Although I do write scripts, or even some moderate <a href="http://en.wikipedia.org/wiki/Perl">perl</a>, I&#8217;m still not officially a programmer.  I&#8217;m a systems administrator, so, let me try to explain, my dear friends and family, what it is I do in my little box all day.</p>

<p>First, some basics, let&#8217;s start at square one.  Computers are comprised of two parts, hardware and software.  Sort of like the body and soul of a person.  Without hardware, software is useless, and vice-versa.  The most basic parts of the hardware are the <a href="http://en.wikipedia.org/wiki/Cpu">CPU</a>, which is the brain, the <a href="http://en.wikipedia.org/wiki/RAM">RAM</a>, which is the memory, the <a href="http://en.wikipedia.org/wiki/Hard_drive">disk</a>, which is a place to put things, and the <a href="http://en.wikipedia.org/wiki/Network_interface_card">network card</a>, which lets you talk to other computers.  For each of these pieces of hardware there needs to be some way to tell them how to do what they are intended to do.  Software tells the hardware what to do.  I forgot two important pieces of hardware: the screen and the keyboard/mouse.  They let us interact with the computer, at least until I can just tell it what to do <a href="http://www.youtube.com/watch?v=VUbZ8CHVCSE&#038;feature=related">Star Trek</a> style.</p>

<p>Getting all of these pieces of hardware doing the right thing at the right time is complicated, and requires a structured system, along with rules that govern how people can interact with the computer.  This system is the <a href="http://en.wikipedia.org/wiki/Operating_system">Operating System</a> (OS).  There are many popular operating systems: Windows, <a href="http://www.apple.com">OS X</a>, and Linux are the big three right now.  The OS tells the hardware what to do, and allows the user to add other applications (programs) to the computer.</p>

<p>Smaller computers, like your home desktop or laptop have network cards to get on the Internet.  The network card will be either wired or wireless, that doesn&#8217;t really matter.  When you get on the Internet, you can send and receive information to and from other computers.  This information could be an email, a web page, music, or lots of other media.  Most of the time, you are getting this information from a large computer, or large group of computers that give out information to lots of home computers just like yours.  Since these computers &#8220;serve&#8221; information, they are referred to as Servers.</p>

<p>Large servers are much like your home computer.  They have CPU, RAM, disk, etc&#8230;  They just have more of it.  The basics still apply though.  Servers have their own operating system, normally either Windows, Linux or UNIX.  Some web sites or web services (like email) can live on lots of different servers, each server having its own job to do to make sure that you can load a web page in your browser.  To manage, or &#8220;administer&#8221; these servers is my job.  I administer the system that ensures the servers are doing what they are supposed to do.  I am a systems administrator.  It is my responsibility to make sure that the servers are physically where they are supposed to be (a <a href="http://en.wikipedia.org/wiki/Data_center">data center</a>, in a rack), that they have power and networking, that the OS is installed and up to date, and that the OS is properly configured to do its job, whatever that job may be.</p>

<p>I am specifically a <a href="http://en.wikipedia.org/wiki/The_UNIX-HATERS_Handbook">UNIX sysadmin</a>, which means that I&#8217;ve spent time learning the UNIX interface, which is mostly text typed into a terminal, and it looks a lot like code.  This differs from Windows sysadmins, who spend most of their time in an interface that looks similar to a Windows desktop computer.  UNIX has evolved into Linux, which is more user friendly and flexible, and also where I spend most of my time.</p>

<p>Being a sysadmin is a good job in a tech driven economy.  I&#8217;ve got my <a href="http://jonathanbuys.com/2008/10/end-of-an-era-2/">reservations about its future</a>, but I may be wrong.  Even if I&#8217;m not, the IT field changes so rapidly that I&#8217;m sure what I&#8217;m doing now is not what I&#8217;ll be doing 5-10 years from now.  One of these days, maybe I&#8217;ll open a coffee shop or a restaurant, or I&#8217;ll finally write a book.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/31" title="How to Fix Linux (December 24, 2008)">How to Fix Linux</a> (1)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/colophon" title="Colophon (December 24, 2008)">Colophon</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/417/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Work in Progress</title>
		<link>http://jonathanbuys.com/409</link>
		<comments>http://jonathanbuys.com/409#comments</comments>
		<pubDate>Fri, 20 Feb 2009 04:43:20 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=409</guid>
		<description><![CDATA[A few days ago I decided that I was not going to use anyone else&#8217;s theme on my site.  It happened after I stumbled across another site using the exact same theme as mine.  Unavoidable really, as long as you are using someone else&#8217;s theme.  So, the decision was to either stop [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago I decided that I was not going to use anyone else&#8217;s theme on my site.  It happened after I stumbled across another site using the exact same theme as mine.  Unavoidable really, as long as you are using someone else&#8217;s theme.  So, the decision was to either stop using Wordpress, or to design my own theme.  I love Wordpress, so I decided to go with the latter.</p>

<p>Designing a web site is a strange mix of code and graphic design.  In my case, I&#8217;ve had to go back to php, a language I left a long time ago, and start learning CSS.  Since I&#8217;ve been fooling around in Cocoa for quite a while, going back to php is just <em>painful</em>.  Objective-C is a beautiful programming language.  Mixing php and html&#8230; well, that&#8217;s just plain ugly.  However, that being said, it&#8217;s familiar territory, so I almost feel like I&#8217;m coming home.  One concept that I&#8217;ve learned with Cocoa is the Modal-View-Controller method, basically separating out the presentation code from the application code (yes, I know there is a lot, lot, lot more to it than that&#8230; no I&#8217;m not going to get into it here), using CSS kind of reminds me of the MVC method, in your php/xhtml code you define what objects are going to be displayed, and in CSS you define where and how to display them.  I like the separation&#8230; keeps it clean.</p>

<p>At any rate, I&#8217;ve been busy coming up with the overall look and feel of the site.  One thing I believe about software is that simplicity always wins.  At least where I&#8217;m concerned it does, that&#8217;s why I use a lot of the apps that I use, because they are simple to use.  Think about the Google home page.  Simple, and it wins.  So, I&#8217;m going for simple, straight and to the point:</p>

<div style="text-align:center;">[nggallery id=2]</div>

<p>I&#8217;d appreciate any comments on the design, and please keep in mind this is only a very early mockup.  Also, I&#8217;m going to be using this as my avatar for everywhere that I&#8217;ve got an account online:</p>

<div style="text-align:center;"><img class="aligncenter size-full wp-image-408" title="my-logo-without-black-background.png" src="http://jonathanbuys.com/wp-content/uploads/2009/02/my-logo-without-black-background.png" alt="my-logo-without-black-background.png" width="321" height="395" /></div>

<p>A <a href="http://www.johnmparks.com/">friend</a> of mine, who actually is a designer, laughed when I told him about the tools I&#8217;ve been using to do the design so far.  First, the initial concept was created in <a href="http://www.omnigroup.com/applications/OmniGraffle/">OmniGraffle</a>.  From OmniGraffle, I&#8217;d export it as a Photoshop file and open it in <a href="http://www.pixelmator.com/">Pixelmator</a> to add the leaves and other touch ups.</p>

<p>Right now, that&#8217;s as far as I&#8217;ve got.  I&#8217;ll finish the design in the next couple of days, and then move into chopping the file up and getting deep into some code.  Hopefully, I&#8217;ll have this finished in two or three weeks.<span id="more-409"></span></p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/282" title="Development Environments and Software Quality (September 16, 2008)">Development Environments and Software Quality</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/409/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wallpaper</title>
		<link>http://jonathanbuys.com/391</link>
		<comments>http://jonathanbuys.com/391#comments</comments>
		<pubDate>Sun, 08 Feb 2009 02:32:48 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[wallpaper]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=391</guid>
		<description><![CDATA[[singlepic=78,320,240,,center]


[singlepic=80,320,240,,center]



[singlepic=79,320,240,,center]


I went for a walk with the kids today, and found some really nice leaves and water in the runoffs.

	Possibly Related posts
	
	Moving to Ubuntu: F-Spot (2)
	Hopes and Dreams (0)
	Account Pruning (0)


]]></description>
			<content:encoded><![CDATA[<p>[singlepic=78,320,240,,center]</p>

<p>
[singlepic=80,320,240,,center]
</p>

<p>
[singlepic=79,320,240,,center]
</p>

<p>I went for a walk with the kids today, and found some really nice leaves and water in the runoffs.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/281" title="Moving to Ubuntu: F-Spot (September 16, 2008)">Moving to Ubuntu: F-Spot</a> (2)</li>
	<li><a href="http://jonathanbuys.com/435" title="Hopes and Dreams (February 26, 2009)">Hopes and Dreams</a> (0)</li>
	<li><a href="http://jonathanbuys.com/9" title="Account Pruning (December 19, 2008)">Account Pruning</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/391/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JeOS</title>
		<link>http://jonathanbuys.com/384</link>
		<comments>http://jonathanbuys.com/384#comments</comments>
		<pubDate>Fri, 06 Feb 2009 11:55:24 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[jeos]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[sles]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[tracker]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/2009/02/jeos/</guid>
		<description><![CDATA[For better or worse, we are starting to put Ubuntu JeOS images into production in our network.  Starting off, we will only put these systems in for our non-IBM services, no WebSphere or DB2, as IBM doesn&#8217;t officially support this configuration yet, but for everything else, JeOS looks like a perfect fit.

Most of our [...]]]></description>
			<content:encoded><![CDATA[<p>For better or worse, we are starting to put Ubuntu JeOS images into production in our network.  Starting off, we will only put these systems in for our non-IBM services, no WebSphere or DB2, as IBM doesn&#8217;t officially support this configuration yet, but for everything else, JeOS looks like a perfect fit.</p>

<p>Most of our production systems currently use SuSE Linux Enterprise Server (SLES), which is an excellent OS, but requires you to purchase  a license in order to download patches and updates.  This is fine for the majority of our production systems, but as the number of our virtual systems grows, so does the complexity of management overhead that goes along with it.  We can quickly put a new SLES box into production if needed, but, will it be licensed?  Will it be able to download the latest patches?  SLES 8 and 9 were fairly lenient about it, SLES 10 is not.  With Ubuntu, we never have to worry about if we are going to be able to download the latest security patches, they are always freely available, which brings me to my next point:</p>

<p>There is very little installed with the default JeOS image, there truly is &#8220;just enough&#8221; to get up and running.  Reminds me of the bare-bones OpenBSD installs I used to do 7 or 8 (9?) years ago.  Follow up with &#8220;sudo apt-get install ufw clamav&#8221; and you&#8217;ve got a very secure, firewalled, anti-virus scanned system.  Yes, clam and ufw both need more configuration, but even that is dead easy.  Also, I really like the concept of not having a root user, and having to use sudo to accomplish anything.</p>

<p>The final thing I enjoy about Ubuntu is that it&#8217;s just easy to use.  Today, I set up Request Tracker (better known as RT) from Best Practical.  It was so easy, the 3.6 version is in the repositories, so installing it was a quick apt-get away.  Comparatively, using SLES, I had to run their &#8220;make testdeps&#8221; and &#8220;make testdeps&#8221; scripts to try and download and compile all of the perl prerequisites, not to mention Apache, MySQL, and mod_perl.</p>

<p>RT is the first app that I&#8217;m moving over to an Ubuntu JeOS.  It will be quickly followed by Nagios, Webmin, and then Postfix and an Apache web server hosting our company web site.  The idea is to make each of these services a virtual appliance, so we could move them around easily, and work on one without affecting the others.<span id="more-384"></span></p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/277" title="The Linux Box and Upgrading Java (July 15, 2008)">The Linux Box and Upgrading Java</a> (0)</li>
	<li><a href="http://jonathanbuys.com/29" title="The Linux Box and Upgrading Java (December 24, 2008)">The Linux Box and Upgrading Java</a> (0)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/384/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rota</title>
		<link>http://jonathanbuys.com/372</link>
		<comments>http://jonathanbuys.com/372#comments</comments>
		<pubDate>Mon, 02 Feb 2009 01:04:44 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[montana]]></category>
		<category><![CDATA[navy]]></category>
		<category><![CDATA[office]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[spain]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=372</guid>
		<description><![CDATA[It was June of 1996 when I arrived in Rota. The Spanish sun was bright as I stepped off the creaky military aircraft, and I realized that this day would hold a lot of firsts for me.  Today, I was going to meet my ship.

This was the day for which I had been preparing [...]]]></description>
			<content:encoded><![CDATA[<p>It was June of 1996 when I arrived in Rota. The Spanish sun was bright as I stepped off the creaky military aircraft, and I realized that this day would hold a lot of firsts for me.  Today, I was going to meet my ship.</p>

<p>This was the day for which I had been preparing for the last year; U.S. Navy boot camp in Chicago, followed by engineering common core, (a school designed to teach us young recruits about the basics of engineering, like, how to turn a valve), then a class A school in San Diego where the curriculum taught how to create machinery parts out of metal stock using a lathe and mill, and where I learned how to stick a twenty in my sock in Tijuana to pay off the crooked cops.  That whirlwind of confused order was designed to prepare me for this experience, this day, when I begin to earn the title that the United States government has given me.  Today when I set foot on the ship, I will earn the name Sailor.</p>

<p>After twelve hours of being cramped up in the suffocating small cabin of the plane, suffering through the tiny, dry in-flight meals, and two movies that I could neither see clearly through the array of heads in my line of sight, or hear through the headphones that did not fit properly on my head, I was relieved to be out in the fresh air again.  But my reprise was short lived, as the airport staff soon herded us into the airport to collect our baggage.  Only one bag for me, the Navy seabag, packed tight with everything that I owned in the world, except what was boxed up at my parents house in Montana.  I reached down and grabbed my seabag, and hefted it up to my shoulders.  As I turned around, a stocky Hispanic man with thick glasses and tight black hair wearing Navy dungarees asked me, “You fireman Buys?” he asked.  “Yes”, I replied, “Fireman Recruit Buys.”  A broad grin stretched out across his face as he laughed and said, “Ok, Fireman Recruit Buys, I’m Petty Officer Garcia.  Welcome aboard, and follow me.”</p>

<p>Why was he welcoming me aboard, I wondered, I’m not on the ship yet.  I brushed my trivial concerns behind me and followed him to his plain white government issue van.  We had only a short drive until we stopped in a gravel parking lot in front of a long concrete pier.  I hauled out my seabag and followed Petty Officer Garcia up the pier.  It smelled of salt water and fuel, the breeze light on my skin.  It was then that I got my first good look at the ship I would be calling home for the next few years.  Haze gray paint covered the hull of the oiler named USS Platte.  The ship was smaller, and less impressive than I thought it would be.  Still, it was a good sized ship, approximately two football fields long.  The first two thirds of the ship were dominated by seven kingposts, metal towers bearing large black hoses.  The last third was split; half was the house, at the top of which was the bridge.  At the aft end of the ship was a small flight deck, large enough for one helicopter.</p>

<p>As Petty Officer Garcia led me up the metal brow, I pulled out my military ID.  At the top of the brow I reached the quarter deck.  Before stepping foot on the metal deck, I faced the American Flag, stood at attention for a moment to pay respect.  Then I turned to the officer of the deck, stood at attention and presented my ID.  “Permission to come aboard.” I requested.  “Very well.” Came the reply.  I then set foot on the deck of the ship, a sailor at last.  Yes, it was very well indeed.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
	<li><a href="http://jonathanbuys.com/459" title="Tough to Turn Down (March 22, 2009)">Tough to Turn Down</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/279" title="On Graduation Day (September 10, 2008)">On Graduation Day</a> (2)</li>
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/372/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The GI Hole</title>
		<link>http://jonathanbuys.com/367</link>
		<comments>http://jonathanbuys.com/367#comments</comments>
		<pubDate>Sun, 01 Feb 2009 03:17:11 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[bootcamp]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[navy]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=367</guid>
		<description><![CDATA[In December 1995 I was halfway through boot camp, a time called service week.  Service week was when the recruits went to work in the galley.  Some served food, other mopped the floor, and still others handed out miniature boxes of cereal.  My name was chosen alphabetically for assignment to the GI [...]]]></description>
			<content:encoded><![CDATA[<p>In December 1995 I was halfway through boot camp, a time called service week.  Service week was when the recruits went to work in the galley.  Some served food, other mopped the floor, and still others handed out miniature boxes of cereal.  <br /><br />My name was chosen alphabetically for assignment to the GI Hole.  There were six of us; our job was to wash the big pots and pans that the food was cooked in and to get rid of leftovers.  Approaching the hole from the glistening clean galley, the walls would grow continually darker, the air thicker and warmer, and the odor more pungent.  The hole itself was a very large room; with pots and pans stacked six feet high along three of the four walls.  <br /><br />We would work at a feverous pitch, trying desperately to finish at a decent hour.  I was nearly deafened by the sound of the metal pans flying down the metal trough.  One person would scrub a little, and then pass, scrub then pass.  In the morning, the butcher would come with his gigantic cauldron the size of a wheelbarrow and dump the blood on the floor so it would run down the drain in the middle of the floor.  <br /><br />The problem was, the blood didn&#8217;t drain.  <br /><br />The screen covering the drain would clog up, and the water we used to spray the pans with would begin to collect on the ground.  By noon, we were standing in two inches of warm water, rotten food, and blood.  Over the course of the day, scraps of food build up, and we would dump them in a large metal bin three feet long and a foot deep.  When the bin was full of leftover scraps of food, it was time to feed Igor.  <br /><br />Igor was the industrial strength garbage disposal in the center of our shallow gutter that we used to wash the pans in.  We would scoop the food out with our hands, spread it out on the counter and look for peas.  Igor didn&#8217;t like peas because they would cause him to choke.  Then we would push the food into Igor&#8217;s mouth.  Igor would churn and spit, and swallow, and tiny bits of food would spray out of his mouth.  <br /><br />The food would get everywhere, in my hair, in my eyebrows, in my nose, and in my mouth.  Tiny bits of bloody rotting food were getting everywhere, and I couldn&#8217;t get it off!  Some of my co-workers developed rashes in their arms from the big black rubber gloves that they wore.  These gloves were never washed, and they came up over the elbow.  Little bits of Igor&#8217;s snacks would get inside the gloves and fester for months.  <br /><br />Sometimes I ask if anyone remembers the GI Hole, but it seems very few do.  <br /><br />The hole was shut down soon after I left, for sanitary reasons.<br /><br /></p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
	<li><a href="http://jonathanbuys.com/621" title="Writing about Jekyll (August 25, 2009)">Writing about Jekyll</a> (0)</li>
	<li><a href="http://jonathanbuys.com/459" title="Tough to Turn Down (March 22, 2009)">Tough to Turn Down</a> (0)</li>
	<li><a href="http://jonathanbuys.com/574" title="Servers (June 12, 2009)">Servers</a> (1)</li>
	<li><a href="http://jonathanbuys.com/587" title="Personal Rules for Cocoa Happiness (June 29, 2009)">Personal Rules for Cocoa Happiness</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/367/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consulting in Coralville</title>
		<link>http://jonathanbuys.com/252</link>
		<comments>http://jonathanbuys.com/252#comments</comments>
		<pubDate>Tue, 27 Jan 2009 12:58:56 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[England]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[health]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[navy]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[recession]]></category>
		<category><![CDATA[salary]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=252</guid>
		<description><![CDATA[In 2007 I spent two months working as a network engineer for a small tech consulting company. The work there was amazing. They had built a long range, city-wide wireless network, and were providing broadband to rural areas. They were also providing a &#8220;one stop shop&#8221; for everything IT for small businesses in town. The [...]]]></description>
			<content:encoded><![CDATA[<p>In 2007 I spent two months working as a network engineer for a small tech consulting company. The work there was amazing. They had built a long range, city-wide wireless network, and were providing broadband to rural areas. They were also providing a &#8220;one stop shop&#8221; for everything IT for small businesses in town. The people who built this business were energetic and bright, and I was lucky to have worked there. I could have stayed there longer, made a career out of it, or perhaps launched my own solo career from there. That&#8217;s not what happened, I left after two months. The reason: I was scared to death.</p>

<p>I was in the Navy for 11 years. Being in the Military for that long, it starts to feel like a nice, warm cocoon. In the Navy, I never had to worry about what we were going to eat that day, or where my family was going to live. Basic needs were taken care of. After my first four years were almost up, I was planning on getting out and going to college. My wife and I were newly married, and we had our first child, so we decided that now was probably not the best time. I reenlisted again, and luckily, went to England for four years. While in England, the Senior Chief who was in charge of my area moonlighted in the UK as a security consultant. He taught us everything he knew, and pointed us down the right track. He&#8217;s the reason I learned UNIX to begin with. After that tour was over, I was going to get out and start my own consulting business. However, my wife and I had two kids now, and we were overseas, and we weren&#8217;t sure how long our savings would last, etc, etc, etc&#8230; So, I reenlisted a third time, for three years, and went to New Mexico. In New Mexico, I did a lot of networking, and network cabling, and felt like my skills were good enough to get out and give it a go in the real world. But, my wife and I had three kids now, and I had been in for a long time, so we thought about staying in and making a career out of the Navy, and retiring after 20 years. Then the Navy told me that I was going back out to sea, which meant months, and months, and months away from the family that I had grown to love being with. I believe that kids need their father around, so despite the tough times that we knew might lay ahead, I left the Navy.</p>

<p>The original plan was to stay in New Mexico. We had a house, and had started to put some money away in savings. We had connections in the local area, and I had a clearance that may have landed a nice government job. Talking with my wife, it became increasingly clear that Iowa was calling. Her father was ill, the schools were better, and New Mexico was becoming increasingly violent. When the convenience store down the street was the focus of some gang related activity, we decided it was time to go. So, against all odds, we left everything that we knew, and went to Iowa, where we knew almost no one, had no connections, had no home, and no job&#8230; and we were expecting our fourth child.</p>

<p>We first lived with my wife&#8217;s family for a couple of months. That nearly drove me nuts. We finally found a place to rent, a tiny little shack with a decent yard in Coralville, between Iowa City and Cedar Rapids. On top of this, we had taken a loss selling our home in New Mexico, and due to some paperwork snafu, we had lost thousands in the move to Iowa. The Navy will move you, but we decided to move ourselves and try to make a little money through reimbursement. The government calls it a DITY move. That idea went horribly wrong. It was against this backdrop that I met the owner of the consulting company that I would work for briefly.</p>

<p>I went knocking on doors. Asking everyone I knew if they knew a business looking for the skills that I had. I boasted a combination of UNIX, Windows, networking, and security. I also had no idea how I was going to put food on the table. I met the owner of the business wearing a suit and tie. We went into the back and talked for a while, and he explained that he might have an opening in a few months for someone with my skills that he would hire as a network engineer. I was excited. The atmosphere of the place reminded me of my aspirations to own a small business of my own. We agreed to stay in touch, and he would let me know when the position opened up.</p>

<p>That didn&#8217;t help for paying the rent at the time though. I was still technically on leave from the Navy, and was getting the last couple of months worth of my paycheck, but that was rapidly running out, and I didn&#8217;t have time to wait for that position to open up. However, a position did open up at Yellowbook in Coralville, where I worked as a UNIX systems administrator for four months as a contractor. Towards the end of the four month contract, the owner of the consulting company and myself agreed that I would come and work for him after the contract expired.</p>

<p>That&#8217;s a lot of back story to lead up to the main idea. My family and I were still living in the shack in Coralville, my wife was getting close to delivering, and I realized that I was not going to be able to afford everything.
The work there was very, very interesting, and also very stressful. I was coming into a network that had grown organically over time, and had some very unique constraints. Working with wireless adds an entirely new level of complexity to the system. The owner sat right behind me, and set about to training me. The first day, I was so overwhelmed by the amount that I didn&#8217;t know that I nearly cried when I went home. This was a small business, with all of the network complexity of an enterprise business. The owner had a goal of organizing the IP allocation of the network to make better sense and be easily managed, and also to eventually set up BGP between their two upstream connections. We had lots of routers, all over town and out in the countryside.</p>

<p>As time went on, the owner began to feel like I was making good progress and was becoming ready to take over without his needing to be involved as deeply as he was. I on the other hand, began to feel more and more sure that I was in over my head. I was not making enough money to pay all of my bills and buy groceries without dipping into credit at the end of the month, I was paying for COBRA because the small business did not have a health insurance plan, and on top of that, I felt like I was not earning the salary I was getting at work. So, while I may have been able to ask for a raise, I really didn&#8217;t feel like I deserved one. In the last couple of weeks of my wife&#8217;s pregnancy, right or wrong, I sent my resume off to a couple of places in Des Moines.</p>

<p>Another thing that I noticed about the consulting business, I learned after I started working there that all of the employees and the owner went to the same church. That&#8217;s not a bad thing, I go to church too, but since I didn&#8217;t go to the same church, I began to feel more and more like an outsider. I made mistakes, I tried to correct them, and I just couldn&#8217;t get my brain in gear. There was too much going on.</p>

<p>I was actually fairly certain that the owner regretted hiring me. So I was surprised at his shock when I gave him my two weeks notice. I joined the business to try to live out some fantasy of mine about working for a small business, and not in a gigantic enterprise. I wanted to make a difference. It turns out that it was just not the right time, and neither I nor my family were ready.</p>

<p>I&#8217;ve aged ten years in the three that I&#8217;ve been out of the Navy. My hair is turning gray and the lines in my face seem deeper, but mostly the age is in my eyes. The Navy can be a warm cocoon, but real life is hard and demanding. My family has been blessed by God. I have a steady job that&#8217;s poised to do well through the recession, and that I&#8217;m quite good at, we were able to buy a modest home that&#8217;s a perfect size for the family, and is in a perfect place, and I&#8217;m once again putting money away for a rainy day. There were a lot of ideas I had about life when I left the Navy that turned out to be fantasy, and it took a long time to get to a point where I understood that.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/279" title="On Graduation Day (September 10, 2008)">On Graduation Day</a> (2)</li>
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/252/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>First Things First</title>
		<link>http://jonathanbuys.com/201</link>
		<comments>http://jonathanbuys.com/201#comments</comments>
		<pubDate>Mon, 26 Jan 2009 21:51:33 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[accounts]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[basement]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[concentration]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Shared]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=201</guid>
		<description><![CDATA[My phone went through the wash today.  Turns out it happened first thing this morning.  I really should be more careful about cleaning out my pockets before throwing something in the washing machine, but to be honest, I never liked that phone to begin with.  It had a faulty battery, and a faulty USB charger, [...]]]></description>
			<content:encoded><![CDATA[<p>My phone went through the wash today.  Turns out it happened first thing this morning.  I really should be more careful about cleaning out my pockets before throwing something in the washing machine, but to be honest, I never liked that phone to begin with.  It had a faulty battery, and a faulty USB charger, so it would almost never fully charge and when it did, it would drain quickly.  The Bluetooth on it didn&#8217;t work either.  So, it wasn&#8217;t that great of a phone, and now its gone, and good riddance to it.  Now, I&#8217;m faced with the prospect of finding a replacement phone, but this comes with complications.</p>

<p>US Cellular has me for another 10 months.  My contract doesn&#8217;t end with them till November.  I can cancel my contract for $70, and I may wind up doing just that, but then I&#8217;ll also have to replace my wife&#8217;s phone as well.  US Cellular is a good phone company, but when I think about spending money on a phone, its hard to justify purchasing anything other than an iPhone, which takes US Cellular out of the equation.  I&#8217;m eligible for an &#8220;upgrade&#8221; in May, when I can get a new phone for a reduced cost from US Cellular, but if I want a phone between now and then, I&#8217;m paying full price.  That&#8217;s $159.95 for a Samsung SCH-u340, which boasts an internal antenna and a VGA camera.  When I look at that price, and think that I could get a refurbished iPhone for $9.95 &lt;it&gt;less&lt;/it&gt;, it makes my wallet hurt.  </p>

<p>So, if I buy an iPhone, won&#8217;t I be chaining myself to massive monthly service charges from AT&amp;T?  Well, maybe, maybe not.  We pay right around $100/mo. for our service now.  This is for 1000 minutes shared between our two phones.  Looking at our phone bills, I find that we do not come anywhere close to using 1000 minutes.  We would be perfectly suited to the At&amp;T 450 minute family plan, which is right around $60/mo.  Couple this with the iPhone&#8217;s required $30/mo data plan, and we are at $90/mo.  Of course, I&#8217;d have to have two data plans&#8230; because there&#8217;s no way my wife would let me have an iPhone and not get her one as well, so that&#8217;d bring the grand total up to $120/mo.  So, $20 more per month than what we are paying now.  Since I&#8217;d have to cancel both of our accounts at US Cellular to get this to work, that would cost $140.  The iPhones, even refurbished, would cost $300.  So, for the first month, to get going, we are looking at $560.  We are not poor, but we are not rich either, and that amount of money needs to be well thought out, which brings me to the basement.</p>

<p>We&#8217;ve got an unfinished basement that I&#8217;m working on as time and money allows.  I&#8217;ve built a couple of walls, made lots of plans, taken lots of measurements, and bought some tools.  I&#8217;m a long, long way from being able to have a couple of my kids move their rooms down there.  The basement is also where I have my desk, which holds my monitor and Time Machine drive, and where I do most of my programming at.  Programming takes a lot of concentration, a lot of studying, and most of all&#8230; lots and lots of time.  Recently, I&#8217;ve been thinking that the unfinished basement would be much, much easier to concentrate in, if it were a little closer to being finished.  </p>

<p>The phone going in the wash today has actually been a conduit for me re-aligning my priorities.  I&#8217;m still very intent on finishing my application, but I think I would be more comfortable, and therefore be able to concentrate on development better, resulting in a better product, if I finish the basement first.  Since I&#8217;m going to have to adjust the budget for the new phone, and since I&#8217;m going to need money to finish the basement, I&#8217;m thinking that the new phone is going to have to wait.  Work gives me a cell phone every other week so I can be &#8220;on-call&#8221;.  Normally I simply forward the phone over to my personal phone so I don&#8217;t have to look like some kind of geek Batman carrying around a utility belt full of gadgets.  Now, since I don&#8217;t have a personal phone, I&#8217;ll just carry the one they give me.  I suppose I&#8217;ll also have to start carrying the pager again.  Yes, a pager, and party like it&#8217;s 1989.  </p>

<p>So, I&#8217;ll live without a cell phone for a while, and I&#8217;m also going to put development on hold for a while.  Not entirely, I&#8217;ll still have a little time in the morning, but I&#8217;ll probably put that time to use blogging either here or over at The Apple Blog.  The rest of my time, and the rest of my money, is going to go towards finishing the basement.  After that&#8217;s done, I&#8217;ll be in a much better position to move to an iPhone, and finish developing Go in peace and comfort.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
	<li><a href="http://jonathanbuys.com/574" title="Servers (June 12, 2009)">Servers</a> (1)</li>
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
	<li><a href="http://jonathanbuys.com/185" title="Cocoa (January 24, 2009)">Cocoa</a> (2)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/201/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cocoa</title>
		<link>http://jonathanbuys.com/185</link>
		<comments>http://jonathanbuys.com/185#comments</comments>
		<pubDate>Sun, 25 Jan 2009 01:39:29 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[C code]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[cocoaheads]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[eating]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=185</guid>
		<description><![CDATA[Last summer I decided to dive into programming and give it everything I&#8217;ve got.  For months, I would get up at 5 and pour through the Hillgass book, every page, every challenge.  I&#8217;d revisit it at night, after the kids were in bed, and code till I couldn&#8217;t stay awake any more.  [...]]]></description>
			<content:encoded><![CDATA[<p>Last summer I decided to dive into programming and give it everything I&#8217;ve got.  For months, I would get up at 5 and pour through the <a href="http://www.amazon.com/exec/obidos/ASIN/0321503619/bignerdranch-20">Hillgass</a> book, every page, every challenge.  I&#8217;d revisit it at night, after the kids were in bed, and code till I couldn&#8217;t stay awake any more.  I finished the book, and started coding my first real application.  It was then that I found out how very little reading one book gave you.  Hillegass says he gives you 80%, I&#8217;m thinking it&#8217;s more like 50%&#8230; tops.  I reached out to the Cocoa Dev mailing list for help, and eventually even went to a CocoaHeads meeting with the local chapter.  Meeting some &#8220;real&#8221; developers, I despaired.  There was far, far too much that I didn&#8217;t know, I felt that it would take me an entire lifetime to learn what I needed to know.  I gave up, wrote <a href="http://jonathanbuys.com/2008/12/goodbye-cocoa/">Goodbye Cocoa</a>, and focused on something else.</p>

<p>Months passed by, and I began to rethink my initial approach to development.  It became clear to me that I was trying to accomplish too much, and that I needed to start with something very small.  At work, I wrote a small shell script that I use to ssh to the servers.  The script was very small, and very, very handy.  I called the script &#8220;go&#8221;.  To use it, I just type &#8220;go servername&#8221; and I&#8217;m there.  I decided turning that script into a gui cocoa app would be a great practice, a great learning exercise.  So, I downloaded Xcode again, and fired it up.  So far, this is the result:</p>

<div style="text-align:center;"><img src="http://jonathanbuys.com/wp-content/uploads/2009/01/go-main.jpg" border="0" alt="go_main.jpg" width="254" height="461" /></div>

<p>This is the cocoa Go.  There are sheets for default preferences and individual host details.  The idea is to stay as close to the keyboard as possible, so all of the buttons are bound to the standard key combos.  CMD-N creates a new host, CMD-, shows the preferences sheet, CMD-i shows the info sheet, Delete removes a host, and return launches Terminal with an ssh session to the currently selected host open.  That&#8217;s Go in a nutshell.  You can add hosts, and set up easy ssh to the hosts.  The green light at the left of each host will (eventually) show if you can ping the host or not.  I have the ping code down, and I have the code that shows the light down, I just need to tie them together in an if/then loop, and then set that loop inside of a timer to update every so often.</p>

<p>There is a lot of spit and polish left to add to Go.  Adding a decent &#8220;About Go&#8221; panel, adding some nice looking help, and creating a decent status bar menu for it to live in for starters.  I&#8217;d also love to add some of the really nice Core Animation stuff to the main Go window&#8230; just because its there.  Getting Go to where it is now has been a lot of fun, and someday it may even be ready for public consumption.  One of the first things I did with Go was to put it into an online Subversion repository, which I host here.  Another thing I did very early on was to add the <a href="http://sparkle.andymatuschak.org/">Sparkle</a> framework for auto-updating, since I&#8217;ve got a friend in Maine who tests Go out for me on a fairly regular basis.  After adding Sparkle to it, I followed <a href="http://www.entropy.ch/blog/Developer/2008/09/22/Sparkle-Appcast-Automation-in-Xcode.html">these</a> instructions to create an automated workflow to compile Go, create a zip file of it, digitally sign the zip archive, upload the archive to my server, and update the appcast xml file.  An awesome amount of automation.</p>

<p>Adding the ability to ping was a challenge.  A few of the forum posts that I saw said that there was no way to do it, and since you had to open up a raw socket to do it, you&#8217;d have to have root privileges.  That was obviously not going to fly, but I couldn&#8217;t believe that there wasn&#8217;t already an existing cocoa class to do it.  After much searching, I found <a href="http://developer.apple.com/samplecode/SimplePing/index.html">SimplePing</a>, buried in the Apple Developer site.  I downloaded it, imported the class into Go, and gave it a shot.  Calling SimplePing seemed to work!  It would ping the host when I called it.  Unfortunately, even if it tried to ping and could not reach the host, it still returned a return code of 0.  That was not going to do.  So, looking through the C code of SimplePing I found this:
<pre>
            if (error == 0) //was able to wait for reply successfully (whether we got a reply or not)
            {
                if (gotResponse == 1)
                {
                    {numberPacketsReceived = numberPacketsReceived + 1;}
                }
            }</pre>
which I changed to this:
<pre>            if (error == 0) //was able to wait for reply successfully (whether we got a reply or not)
            {
                if (gotResponse == 1)
                {
                    {numberPacketsReceived = numberPacketsReceived + 1;}
                } else {
                    error = 1;
                }</p>

<pre><code>        }&lt;/pre&gt;
</code></pre>

<p>and all was right with the world again.</p>

<p>Adding the ability to launch Terminal and ssh to the selected host was also an interesting challenge.  Apple provides a framework to add the ability to manipulate other applications through AppleScript, called the <a href="http://www.apple.com/applescript/features/scriptingbridge.html">ScriptingBridge</a>.framework.  To actually be able to call the Terminal, I needed Go to know what AppleScript Terminal would accept.  So, I ran this command:
<pre>sdef /Applications/Utilities/Terminal.app | sdp -fh --basename Terminal --bundleid com.apple.Terminal</pre>
This created a header file "Terminal.h", which I was able to import into Go.  From there, I created a "ScriptController" class, where I have this piece of code:
<pre>+ (void)runTerminal:(id)sender withUserName:(NSString *)userName andHostName:(NSString *)hostName;
{
    // Create our terminal object
    TerminalApplication *terminal = [SBApplication applicationWithBundleIdentifier:@"com.apple.Terminal"];</p>

<pre><code>// Get selected host name and IP address from NSTable
NSString *script = [NSString stringWithFormat:@"ssh %@@%@", userName, hostName]; 

// Run the script
[terminal doScript:script in:nil ];
[terminal activate];&lt;/pre&gt;
</code></pre>

<p>This allows you to pass a user name and host name to this class, which will create a ssh script, and pass that script to Terminal via AppleScript.</p>

<p>Since it was fairly easy to add this ability, I've been playing with the idea of also adding VNC capability to Go.  Leopard includes a Screen Sharing application, which is based on VNC, so I'm hoping to be able to script it in a similar way.  I also looked into Microsoft's Remote Desktop Client and <a href="http://cord.sourceforge.net/">CoRD</a>, but neither allows AppleScript, so it would be very difficult to tie them into Go.</p>

<p>Go is a "document based" application.  That means that you can create different "sets" of hosts, and save those sets as individual files.  So, if you are on a team, you can share your set with the rest of your team.</p>

<p>The concept of Go is pretty simple, you have a set of places, and you want quick access to those places.  I'm toying with the idea of adding a lot more capability to Go, like storing bookmarks, Finder folders, ftp, sftp, etc...  It will be interesting to see how it goes.  Right now, I'm just trying to get the basics down.  Programming is perhaps the most challenging thing I've ever done, but I'm glad I didn't give up for good.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/580" title="Ping from Cocoa (June 15, 2009)">Ping from Cocoa</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/185/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Sorry State of &#8220;Enterprise&#8221; Software</title>
		<link>http://jonathanbuys.com/180</link>
		<comments>http://jonathanbuys.com/180#comments</comments>
		<pubDate>Thu, 22 Jan 2009 12:28:58 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[rules]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tivoli]]></category>
		<category><![CDATA[tws]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=180</guid>
		<description><![CDATA[I&#8217;ve been unlucky enough to be working with quite a few pieces of so called &#8220;enterprise&#8221; software, the worst of which I&#8217;ve been working with lately is called the Tivoli Workload Scheduler.  TWS is, at its core, a glorified cron.  It is a scheduler, you can create jobs, or scripts, and have them [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been unlucky enough to be working with quite a few pieces of so called &#8220;enterprise&#8221; software, the worst of which I&#8217;ve been working with lately is called the Tivoli Workload Scheduler.  TWS is, at its core, a glorified cron.  It is a scheduler, you can create jobs, or scripts, and have them executed at given times.  You are supposed to be able to cascade jobs, and create dependencies between jobs.  This is all well and good, but there are some serious problems with this software.</p>

<p>The first problem is the price.  List price for TWS is $33/value unit.  IBM bases its pricing scheme on how many CPU cores are in the server that you install their software on, 100 value units per single core CPU, and 50 value units per core for dual or quad core CPUs.  So, if you have four servers, and each server has four quad-core cpu&#8217;s in them, that comes out to around $26,400.  I think we just went ahead and bought 1000 value units up front.  That&#8217;s a fairly good sized amount, and that does not include the cost of the consultant its going to take to install, configure, and actually <em>use</em> the software.</p>

<p>Why tie the cost of the software to the number of cores in the system?  TWS doesn&#8217;t use CPU resources to actually do any work, it passes off the work to other applications, TWS simply schedules them to be run.  The price would almost be bearable, if the software actually worked.  For $26,000 I&#8217;d think that it ought to make me coffee and pancakes in the morning.  The reality is that after several months of enduring the software, it still doesn&#8217;t work properly.</p>

<p>The end user of the system has been trying to add event rules that fire off an email if a job doesn&#8217;t end correctly.  Wow, that&#8217;s like, what&#8230; one line of shell script?  But, since this is the TWS, we have to put in a call to IBM.  IBM will call back, and ask for a ton of information.  They&#8217;ll ask for directories that don&#8217;t exist, ask you to run commands that may or may not work, and generally take up a lot of time.  Meanwhile, I&#8217;m starting to think that we are actually beta testing this software for IBM, and they just didn&#8217;t bother to tell us.</p>

<p>And then there&#8217;s the user interface.  The UI, like many IBM applications, is quite obviously built on Java, evidenced by the length of time it takes to launch.  Once it is launched, there are cascading left to right areas of a single window that allow you to perform separate tasks.  At $work, I&#8217;ve got a 22&#8243; monitor, and this is the only application that I expand to full screen.  It needs it.  The application, called the &#8220;Job Scheduling Console&#8221; provides it&#8217;s own tabbed MDI interface.  It is extremely confusing.  Part of the confusion is that evidently the developers decided that there were too many options in the man application window, and chose to add a second interface to TWS through it&#8217;s integrated WebSphere application server.  The second interface, also Java, is accessed through a web browser.  Unfortunately, not just any web browser, it seems to only support Internet Explorer.  I tried to access it first through Chrome, which did not work at all, and then through Firefox, which almost worked, but there were pieces of the application missing.  IE worked well.  The web interface is just as jumbled as the fat client on the desktop.  Buttons seemingly randomly placed, some options hidden in drop down menus and others placed either above or below the data.</p>

<p>There is <em>no</em> clear, obvious method to accomplish anything with this user interface.</p>

<p>And that is not all my friends, oh no, that is not all.  You must also have access to the command line on the server where TWS is installed.  Even on the command line TWS is not a good citizen.  There is no man page or online help shipped with the application, you have to load a ton of special environmental variables, and they provide scripts that launch a faux-shell that only accepts certain commands.  One such command, conman, offers the ability to view the logs in real time (why, for the love of God, do you not log everything to syslog?), but only if you enter the command &#8220;con se&#8221; at the conman prompt.  Also, you should enter &#8220;lev=4&#8243; to make sure you get all the logs.  Proper logging in an application can be a lifesaver, and it could have been an area where TWS could redeem itself somewhat.  That is not what has happened.  The &#8220;con se&#8221; command only works sometimes.  Other times it simply says that it submitted that command to be processed and returns you to your prompt.  Great, thanks&#8230; so where&#8217;s my logs?</p>

<p>Having multiple interfaces to the application is fine, if you could accomplish everything needed in any one interface.  However, that is also not the case.  You need all three, and the end user must switch between the web interface and the fat client, and I as the administrator must switch between the web client, the fat client, and the command line to try to coax this monster into doing what it is supposed to do.  Which is&#8230; schedule jobs.  That&#8217;s really all this is supposed to do, schedule jobs to run.  I don&#8217;t think it should be this hard.</p>

<p>Take these points into consideration in the light of the cost of the application.  Now, let your jaw slowly close and realize that IBM can charge this much because it has found a market that no one else is tapping.  TWS is only one example of horrible &#8220;enterprise&#8221; software, there&#8217;s a lot more of it out there.  Personally, I see an opportunity here.  An opportunity for well thought out, beautifully crafted software that works well, is easy to use, and gets the job done.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/180/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Thinking</title>
		<link>http://jonathanbuys.com/151</link>
		<comments>http://jonathanbuys.com/151#comments</comments>
		<pubDate>Mon, 12 Jan 2009 18:12:04 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[concentration]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[navy]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[visualizing]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/2009/01/visual-thinking/</guid>
		<description><![CDATA[The ability to visualize a complex system is key to a real understanding of it.&#160; To me, this applies to computers and technology.&#160; To Daniel Tammet, this applies to numbers and letters, on a far, far more vast scale.&#160; Daniel is a savant, an extraordinary person who pushes the boundaries of what we believe we [...]]]></description>
			<content:encoded><![CDATA[<p>The ability to visualize a complex system is key to a real understanding of it.&#160; To me, this applies to computers and technology.&#160; To <a href="http://www.sciam.com/article.cfm?id=savants-cognition-thinking">Daniel Tammet</a>, this applies to numbers and letters, on a far, far more vast scale.&#160; Daniel is a savant, an extraordinary person who pushes the boundaries of what we believe we know about human capability and learning.&#160; What he has to say rings a bell, because how he views his numbers and letters is similar to how I understand the inner workings of a computer.&#160; I can visualize what is going on, or what I want to happen.&#160; I can do this because I&#8217;ve worked and studied the computer field for years, and because I enjoy the work.&#160; What I&#8217;ve found is that there is a distinct difference between understanding the technology and memorizing what happens when you click a button.&#160; </p>

<p>If you work in the tech industry, memorizing technology is a bad idea.&#160; Technology changes, it evolves and grows.&#160; It is better to understand the attitudes and purpose of the technology.&#160; Networking is a great example.&#160; I started out learning about wave propagation theory in the Navy, and about how we could get data from the size, shape, or velocity of the wave.&#160; Later, when I went on to learn TCP/IP networking, I found that the data was still transmitted the same way, as 0 or 1, but how it was decoded was different.&#160; Then the stack, then the applications, then scripting, and now, I&#8217;m learning a high level programming language, and its finally starting to click.</p>

<p>The thing is, I couldn&#8217;t have learned these skills if I didn&#8217;t have a visual image in my mind about how it worked under the gloss of the computer screen.&#160; I can&#8217;t imagine trying to use a computer, much less program one, without at least a passing knowledge of what happens when you click that mouse.&#160; </p>

<p>Then again, to 99.999% of people, it doesn&#8217;t matter, and really shouldn&#8217;t.&#160; Computers should be so easy to use that you don&#8217;t have to learn a new skill to use one effectively.&#160; They should be as self explanatory as toasters.&#160; Unfortunately, they are not.&#160; Windows 7 is coming out this year some time, and it will sport a new user interface which its users will have to learn all over again.&#160; Many, many of them will simply try to re-memorize what button does what, and what order to click things in.&#160; You shouldn&#8217;t have to learn why the computer works the way it does, but it certainly doesn&#8217;t hurt.&#160; In the end, it makes things much easier too.&#160; </p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/252" title="Consulting in Coralville (January 27, 2009)">Consulting in Coralville</a> (1)</li>
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/151/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Years Day</title>
		<link>http://jonathanbuys.com/106</link>
		<comments>http://jonathanbuys.com/106#comments</comments>
		<pubDate>Thu, 01 Jan 2009 13:52:39 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[newyearsday]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=106</guid>
		<description><![CDATA[

I love January 1st.  It&#8217;s not that this day is really any different from any other day, other than having the day off.  Its the mental association that goes along with the start of a new year.  The calendar restarts, and it seems like a fresh clean slate to build the rest [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align:center;"><img src="http://jonathanbuys.com/wp-content/uploads/2009/01/yellow-rose.jpg" alt="Yellow Rose.jpg" border="0" width="319" height="268" /></div>

<p>I love January 1st.  It&#8217;s not that this day is really any different from any other day, other than having the day off.  Its the mental association that goes along with the start of a new year.  The calendar restarts, and it seems like a fresh clean slate to build the rest of the year upon.  I like resolutions, and I kept mine last year, so I&#8217;m going to try to keep another one this year.  Last year I resolved to learn how to swim laps, and I did.  I still swim fairly regularly now, and am actually looking forward to increasing how often I go swimming.</p>

<p>When I return to work tomorrow, there will be no acknowledgment of the new years significance, but it will be in my mind.  A fresh start, a clean slate, and another chance to build my life to be whatever I dream it can be.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/419" title="Shell Script Style (February 25, 2009)">Shell Script Style</a> (0)</li>
	<li><a href="http://jonathanbuys.com/279" title="On Graduation Day (September 10, 2008)">On Graduation Day</a> (2)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/260" title="No Fail Diet Plan (January 12, 2008)">No Fail Diet Plan</a> (0)</li>
	<li><a href="http://jonathanbuys.com/545" title="NKOTB (April 9, 2009)">NKOTB</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/106/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Songbird Media Player</title>
		<link>http://jonathanbuys.com/96</link>
		<comments>http://jonathanbuys.com/96#comments</comments>
		<pubDate>Mon, 29 Dec 2008 16:36:32 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=96</guid>
		<description><![CDATA[Songbird is a very young product with a very bright future. The Mozilla based media player has come a long way since first releasing a beta, unfortunately to unseat the ruling titan iTunes, Songbird still has a very long ways to go. Songbird is open source, packed with features, and seemingly infinitely expandable through various [...]]]></description>
			<content:encoded><![CDATA[<p>Songbird is a very young product with a very bright future. The Mozilla based media player has come a long way since first releasing a beta, unfortunately to unseat the ruling titan iTunes, Songbird still has a very long ways to go. Songbird is open source, packed with features, and seemingly infinitely expandable through various add-ons and web integration. Also, like the rest of the Mozilla suite, Songbird is cross-platform, a point that becomes glaringly obvious the moment the app is launched.</p>

<p>First the good points. Songbird is a lot of fun! On first launch, Songbird asks if you would like to import your existing iTunes library. I was able to import mine without a problem, including DRM&#8217;d tracks and movies. Songbird cannot play the movies, but it has no problem playing your iTunes purchased music. The mashTape extension gives quick and easy access to information from across the web concerning the currently playing track. It will pull up the artists biography, discography, reviews, news, photos, and videos. Another interesting extension is integration with the SeeqPod website. Selecting the SeeqPod Search item from the left pane allows you to search the Internet for songs, and then download them to your library with a right click. The search is a bit slow, especially when Songbird attempts to verify all of the links. Certainly a lot of fun, the SeeqPod extension seems to be of questionable legality.</p>

<p>Songbird has cleaned up their interface quite a bit, and with the exception of the play and volume controls being at the bottom instead of the top, the default &#8220;feather&#8221; (or skin) looks fairly similar to iTunes. As a matter of fact, there are a couple of iTunes skins for Songbird, but they either were not compatible with Songbird 1.0, or looked nothing like the real iTunes. The Mini Player view is reminiscent of some of the older media players, a very compact interface that I really enjoy.</p>

<p>For all the fun Songbird is, iTunes will remain my media player of choice for now. While Songbird does makes advances with its interface, no skin will replace not having a native mac UI. Something in the way the app feels while using it gives it away as being a port of a &#8220;multi-platform&#8221; application. A small and rather insignificant example of this is how the &#8220;About Songbird&#8230;&#8221; menu option opens a sheet covering the library with the software license agreement. A normal mac citizen would have another window, most likely with the applications icon centered towards the top, followed by the applications version, and then maybe some other interesting facts about it. A quick look through my other open applications (Mail, iChat, Safari, TextMate, and Yojimbo) shows a consistency that Songbird lacks. This is a small example, but one that shows the lack of consistency with standard Mac UIs that is pervasive throughout the application.</p>

<p>Songbird also seems to consistently take up quite a bit more resources than iTunes. Songbird uses approximately 20-25% cpu during playback, and ranges from 100 &#8211; 150MB persistent RAM size. Compare this to iTunes which uses between 4 &#8211; 7% cpu and 80-100MB of RAM. Songbird takes longer to launch, and adds to the resource utilization as more add-ons are installed and used.</p>

<p>Songbird seems like an application that missed its mark. With all of its web enabled functionality, it still cannot perform some basic tasks, like playing a movie or video file, or importing a CD. Given that this is a 1.0 release, I&#8217;m looking forward to some great things from this project. Once an open source app gains steam, advances can be made very quickly. I&#8217;d like to see a faster start time (how about one bounce in the dock?), a native user interface, and a lot of work done on the back end to reduce resource utilization. Given that there are really not a lot of players in this market, I&#8217;m excited to see an iTunes competitor. I just hope that Songbird&#8217;s goal was not to be a poor iTunes clone.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/96/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Merry Christmas!</title>
		<link>http://jonathanbuys.com/94</link>
		<comments>http://jonathanbuys.com/94#comments</comments>
		<pubDate>Thu, 25 Dec 2008 12:46:53 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[Christmas]]></category>
		<category><![CDATA[holiday]]></category>

		<guid isPermaLink="false">http://jonathanbuys.com/?p=94</guid>
		<description><![CDATA[“And the Grinch, with his Grinch-feet ice cold in the snow, stood puzzling and puzzling, how could it be so? [Christmas] came without ribbons. It came without tags. It came without packages, boxes or bags. And he puzzled and puzzled &#8217;till his puzzler was sore. Then the Grinch thought of something he hadn&#8217;t before. What [...]]]></description>
			<content:encoded><![CDATA[<p>“And the Grinch, with his Grinch-feet ice cold in the snow, stood puzzling and puzzling, how could it be so? [Christmas] came without ribbons. It came without tags. It came without packages, boxes or bags. And he puzzled and puzzled &#8217;till his puzzler was sore. Then the Grinch thought of something he hadn&#8217;t before. What if Christmas, he thought, doesn&#8217;t come from a store. What if Christmas, perhaps, means a little bit more.”</p>

<p>—Dr. Seuss (1904-1991); writer, cartoonist</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/40" title="wsu &#8212; gksu for Windows (May 18, 2008)">wsu &#8212; gksu for Windows</a> (0)</li>
	<li><a href="http://jonathanbuys.com/269" title="Writing and Word Processing (April 7, 2008)">Writing and Word Processing</a> (0)</li>
	<li><a href="http://jonathanbuys.com/290" title="Writing and Mail Annoyances (October 17, 2008)">Writing and Mail Annoyances</a> (0)</li>
	<li><a href="http://jonathanbuys.com/621" title="Writing about Jekyll (August 25, 2009)">Writing about Jekyll</a> (0)</li>
	<li><a href="http://jonathanbuys.com/151" title="Visual Thinking (January 12, 2009)">Visual Thinking</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/94/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MobileMe is not a Blogging Platform</title>
		<link>http://jonathanbuys.com/47</link>
		<comments>http://jonathanbuys.com/47#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:19:37 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[accounts]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[iweb]]></category>
		<category><![CDATA[mobileme]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=47</guid>
		<description><![CDATA[I thought I&#8217;d try OSZen on MobileMe yesterday, to see if I could consolidate even more of my online accounts.  Unfortunately, the limitations of both iWeb and RapidWeaver became quickly apparent.  I pointed 1and1&#8217;s DNS servers at MobileMe, and uploaded an iWeb site.  I liked the theme, but the first thing that [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I&#8217;d try OSZen on MobileMe yesterday, to see if I could consolidate even more of my online accounts.  Unfortunately, the limitations of both iWeb and RapidWeaver became quickly apparent.  I pointed 1and1&#8217;s DNS servers at MobileMe, and uploaded an iWeb site.  I liked the theme, but the first thing that struck me as odd was the URL.  In iWeb I configured the site&#8217;s name to be OSZen, and to use the Blog page as the home page, but the URL turned out to be http://oszen.net/OSZen/blog/blog.html which for the home page was just ridiculous.</p>

<p> </p>

<p>Next, I changed the name of the site to &#8220;writing&#8221;, and wound up with a home page URL of http://oszen.net/writing/blog/blog.html.  Again, ridiculous.  I&#8217;m assuming that this is Apple&#8217;s way of allowing more than one iWeb site, but I wish that it had better support for personal domain names.</p>

<p> </p>

<p>The other thing that really bothered me about iWeb&#8217;s blogging engine was how each new blog post was formatted with the default theme&#8217;s pictures and text.  Meaning that for each post I had to delete the picture and change the layout of the page.  This equates to worrying far more about how the site looks instead of concentrating on writing.</p>

<p> </p>

<p>These two small items were all it took for me to switch the DNS setting for OSZen back to 1and1, and back to the comforting ease of Wordpress.  The great thing about Wordpress is that it&#8217;s meant for writing and self publishing, and it does it very well.  The more recent ability to update itself and it&#8217;s plugins only adds to the ease of maintaining your own Wordpress installation.  Also, I&#8217;ve got MarsEdit, which rocks, and means that I almost never have to actually get into the admin interface of Wordpress.  I do all my writing for OSZen from an application that was designed for writing.</p>

<p> </p>

<p>I thought it might be fun, since I&#8217;m consolidating all of my online accounts and pruning them down, but the truth of the matter is, web hosting at MobileMe is for sharing your family photos with Grandma back home, it&#8217;s not a serious blogging platform.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/621" title="Writing about Jekyll (August 25, 2009)">Writing about Jekyll</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/47/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Coffee Cup</title>
		<link>http://jonathanbuys.com/41</link>
		<comments>http://jonathanbuys.com/41#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:08:49 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[eating]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[launchy]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=41</guid>
		<description><![CDATA[I&#8217;ve had this coffee cup on my desk at work for the past year or so now.  It&#8217;s just a plain white cup, with the Ubuntu logo on it.  I got it from CafePress.  I loved it, for one, because the Ubuntu logo is great.  Best Linux logo out there.  [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had this coffee cup on my desk at work for the past year or so now.  It&#8217;s just a plain white cup, with the Ubuntu logo on it.  I got it from CafePress.  I loved it, for one, because the <a href="http://www.ubuntu.com/">Ubuntu</a> logo is great.  Best Linux logo out there.  I also loved it because as I was thinking about how to solve one problem or another, the cup was normally there with hot coffee waiting to be sipped as I pondered the solutions.  Today I picked up the cup, walked towards the coffee pot, and dropped the cup.  My wonderful Ubuntu coffee cup shattered as it hit the floor.</p>

<p>I loved that cup, so I didn&#8217;t want to break it.  However, it seems appropriate, as today I also switched back to Windows at work.  I&#8217;ve been running Ubuntu as my primary desktop at work for several months, and running XP in <a href="http://www.virtualbox.org/">VirtualBox</a> when needed.  Lately, I&#8217;ve been needing the VM more and more, as I do more diagramming and planning in <a href="http://www.vmware.com/products/vi/vc/">VMWare Infrastructure Client</a> and <a href="http://office.microsoft.com/en-us/visio/default.aspx">Visio</a>, both Microsoft centric applications.  Also, rumor has it that in the next couple of months we will be replacing our aging Lotus Notes servers with Microsoft&#8217;s Exchange 2007.  IBM released a Linux native Notes client which supports Ubuntu, and really works great.  When we made the switch to Exchange, I was hoping to use the Evolution client that comes with Ubuntu.  Unfortunately, Microsoft changed the MAPI standard for communicating with the server in Exchange 2007, and there is no supported Linux client.  Which left me with two choices.  Run Outlook in my VM, or moved everything back to Windows and conform to company standards.  I debated this in my head for a couple of weeks, but in the past three days I&#8217;ve had X crash on me three times in Ubuntu.  When X crashes, it takes all of my X applications with it, along with the data&#8230;  it&#8217;s like Windows &#8216;95 all over again.</p>

<p>X crashing for no apparent reason was the nail in the coffin for me.  I moved all my data over with a USB drive, and Monday I&#8217;ll format the Linux partition and fdisk /mbr from the XP recovery console.</p>

<p>I&#8217;ve really enjoyed using Linux, but honestly, it&#8217;s kind of relieving to be back in a supported environment again.  There are still quite a few desktop tools missing from Ubuntu that are available on Macs and Windows.  My current favorite so far is <a href="http://evernote.com/">Evernote</a>, with the aforementioned Visio running a close second.  <a href="http://www.launchy.net/">Launchy</a> is nice&#8230; not as nice as <a href="http://docs.blacktree.com/quicksilver/what_is_quicksilver">Quicksilver</a> or <a href="http://do.davebsd.com/">Gnome-Do</a>, but nice.</p>

<p>Mentioning Gnome-Do brings up another point.  Gnome-Do has been acting up lately, catching on something or other and eating up 99% CPU.  The developers are <a href="https://bugs.launchpad.net/do/+bug/270437">aware</a> of the problem, and are working on a solution.  However, using Gnome-Do as an example, the very idea of what they are doing with &#8220;<a href="http://www.firstmonday.org/issues/issue3_3/raymond/#d4">Release Early, Release Often</a>&#8220;, completely goes against the grain of a business desktop.  Any Linux desktop will contain beta-quality code, and when I&#8217;m relying on a computer to do my job, I can&#8217;t have it acting as a beta tester.  Ubuntu is doing lots of cool stuff with 3D desktops and cutting edge software, but I don&#8217;t need it to be cool, I need it to work.  Reliably.</p>

<p>One last note about why I&#8217;m not using Ubuntu at work any more.  My computer is a Dell laptop, mostly used in a docking station, attached to a 22 inch monitor.  I noticed after a while that my laptop was getting really hot in the docking station, and I couldn&#8217;t tell if Ubuntu was reading the docking station correctly or if it was displaying on both the internal monitor and the external monitor.  When I popped the lid on the laptop, the monitor either came on suddenly or was on the entire time, and the keyboard was hot to the touch.  In the Gnome &#8220;Screen Resolution&#8221; preferences I found that I could turn the monitor off from there, and I think that solved that issue, but I&#8217;m not sure.  I&#8217;d hate to think that I was actually causing the hardware harm by running linux on it.  I don&#8217;t want to spread FUD, but if its true, its true.  When I&#8217;m running Windows, I don&#8217;t have that problem at all.</p>

<p>So, now I&#8217;m looking for a new coffee cup&#8230; something to inspire me, and be my companion in my little beige box.  Whatever the new design is, it needs to be something that will last, something reliable, and something that&#8217;s in it for the long haul.  Ubuntu has been good to me, both the OS, and the coffee cup, but in the end, they both broke, and I&#8217;ve got to move on.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/31" title="How to Fix Linux (December 24, 2008)">How to Fix Linux</a> (1)</li>
	<li><a href="http://jonathanbuys.com/266" title="The Little Things (March 4, 2008)">The Little Things</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/41/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Scanning Images in Ubuntu</title>
		<link>http://jonathanbuys.com/33</link>
		<comments>http://jonathanbuys.com/33#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:07:23 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=33</guid>
		<description><![CDATA[My wife has recently gone back to college, and, seeing as she&#8217;ll need it much more than I do, I gave her my shiny, beloved MacBook.  As compensation, I&#8217;ve got her old PC, running Ubuntu, which looks great on my 22 inch monitor.  How long this will last, I don&#8217;t know.  I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>My wife has recently gone back to college, and, seeing as she&#8217;ll need it much more than I do, I gave her my shiny, beloved MacBook.  As compensation, I&#8217;ve got her old PC, running Ubuntu, which looks great on my 22 inch monitor.  How long this will last, I don&#8217;t know.  I&#8217;ve just recently started writing seriously again, and moving all of my &#8220;really important stuff&#8221; into Linux should give me lots to comment about as I note the differences between OS X and Ubuntu.  However, I&#8217;ve heard rumor of MacBook Pro product refreshes&#8230; hummm&#8230;.</p>

<p> </p>

<p>The first difference worth noting between the MacBook and Ubuntu was a very pleasant one.  I needed to scan a couple of photographs and give them to my wife, but I hadn&#8217;t bothered to connect my HP PSC 1510 all-in-one to the Linux box, and I didn&#8217;t have the correct drivers installed on the Mac at the time.  But, I did notice the XSane Image Scanner application listed under Graphics in the Ubuntu menu, so I thought, I&#8217;ll give it a shot.</p>

<p> </p>

<p>I&#8217;m glad I did.  XSane automatically detected the HP, and was able to scan the photographs to the desktop with no problem whatsoever.  From there, I fired up the Gimp to crop the photos and dropped them into Thunderbird to email them to the wife.  From scanning the images to emailing them out took about five minutes&#8230; tops.  During this time I would have probably still been waiting for the massive HP software download to finish on the Mac.  However, the HP software does seem to have a few features that I wish XSane had (like image resizing before scanning), but for pure functionality and performance, Ubuntu wins this round.</p>

<p> </p>

<ul>
    <li>Step One: Plug it in</li>
    <li>Step Two: Use it.</li>
    <li>Step Three:  That&#8217;s it, no step three.</li>
</ul>

<p>That&#8217;s how computers are supposed to work.  This is amazing, considering that eight years ago Linux had a tough time identifying even internal hardware.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/280" title="Ubuntu Scanning (September 15, 2008)">Ubuntu Scanning</a> (0)</li>
	<li><a href="http://jonathanbuys.com/459" title="Tough to Turn Down (March 22, 2009)">Tough to Turn Down</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/271" title="Linux is not for MacBooks (April 10, 2008)">Linux is not for MacBooks</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/33/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Fix Linux</title>
		<link>http://jonathanbuys.com/31</link>
		<comments>http://jonathanbuys.com/31#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:06:47 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[xrandr]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=31</guid>
		<description><![CDATA[It&#8217;s been nine years since I first installed Linux on a computer of mine. It didn&#8217;t last long back then, since I actually wanted to use the computer for surfing the web, sending email, and playing games. Linux has come a long way since then, and now it&#8217;s a reliable desktop system at work. However, [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been nine years since I first installed Linux on a computer of mine. It didn&#8217;t last long back then, since I actually wanted to use the computer for surfing the web, sending email, and playing games. Linux has come a long way since then, and now it&#8217;s a reliable desktop system at work. However, my system is reliable (and enjoyable) because I am a geek, and I know exactly what it needs to make it run smooth.</p>

<p> </p>

<p>For example, I use a dual screen set up with <a href="http://www.x.org/wiki/Projects/XRandR">Xrandr</a>, and it works well, especially with the new composting ability in <a href="http://www.gnome.org/">Gnome 2.22</a>. Getting xrandr to work properly required me to edit a few lines in the xorg.conf file to allow for a large maximum desktop size. Compare this with how Windows deals with dual monitors. You plug it in, turn it on, enable it in the preferences, and there you go. Now compare that with how Macs handle dual monitors. You plug in another monitor and it works&#8230; bottom line.</p>

<p> </p>

<p>I realize that there are a lot of valid reasons for this. Proprietary hardware, lack of documentation, legacy code, etc, etc, etc&#8230;</p>

<p> </p>

<p>I also realize that 99% of people who use a computer <em>do not care</em>.</p>

<p> </p>

<p>Computers should be like appliances&#8230; plug them in, turn them on, and start using them. I like the toaster analogy. I don&#8217;t care how my toaster works. I just want it to make my toast in the morning. I don&#8217;t care if I have the &#8220;freedom&#8221; to take the toaster apart and study the timing mechanisem and re-create it in yet another toaster. I just want toast. I use Linux at work because it is an amazing server. I&#8217;ve seen Linux servers keep on trucking through some environments that would kill another OS. I use Linux on my laptop at work becuase it integrates in with my workflow and scripting perfectly. I don&#8217;t use it for the freedom, I use it because it works well for my environment. My environment however, is very different from the average home user.</p>

<p> </p>

<p>If Linux is ever going to take hold it needs to learn a few things from Apple. Here are a few points that will bring Linux onto Mom and Dad&#8217;s desk.</p>

<p> </p>

<ol>
<li>Own the hardware. Apple controls all aspects of its hardware/software relationship. I&#8217;m not saying that a particular Linux distro would <em>only</em> be able to be installed on whatever vendors hardware, but I&#8217;m saying that a hardware vendor should adopt Linux and fully develop the OS in house to support its hardware.</li>
</ol>

<p> </p>

<ol>
<li>Manically control the distro. The open source nature of Linux makes this very difficult, but it also makes Linux feel&#8230; disjointed. This goes hand in hand with point 1, develop the hardware and software in tandem to support each other. Release the code as GPL, sure&#8230; give it back to the community, but control what goes into the distro and develop it in-house. Linux has a bad habit of adding features because it can. Compiz has hundreds of options for rediculous visual features that no one needs (and a few that everyone does need!), and which really distract from using the computer. Another example: Do you think KDE 4.0 would have made it past the desk of Steve Jobs? Can you imagine what that conversation would have been like?</li>
</ol>

<p> </p>

<blockquote>Underling: &#8220;Yea, we know the visual features are incomplete, and there&#8217;s several things that don&#8217;t work, but we&#8217;d like to ship it anyway.&#8221;

SJ: Shoots underling.</blockquote>

<p>Which leads me to my next point:</p>

<p> </p>

<ol>
<li>Appoint someone Grand High Poomba. Someone needs to be there to say &#8220;No&#8221;. Someone who will say, yea, that&#8217;s a great idea, but we are not going to do that in <em>this</em> distro. At times I think that Mark Shuttleworth is that guy&#8230; and then there are other times when he decides to ship every six months if Ubuntu is ready or not. Shuttleworth could be that guy.</li>
</ol>

<p> </p>

<ol>
<li>Provide the end to end user experience.  When I pop open the lid of my laptop, I expect to be able to start using it within seconds.  When I close the lid, I expect the laptop to go to sleep and wait for me to need it again.  When the hardware is fused with the software, and features are controlled and perfected, the result is a very fluid, intuitive experience that brings the users back.</li>
</ol>

<p> </p>

<p>The last item I&#8217;d love to see from Linux is to stop adding new features.  Seriously, stop adding new, untested, beta quality code and spend some time perfecting what is already there.  <em>Fix what you have first.</em> Then, and only then start adding new features.</p>

<p> </p>

<p>Linux, we&#8217;ve come a long ways, but we&#8217;ve still got a long ways to go.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/271" title="Linux is not for MacBooks (April 10, 2008)">Linux is not for MacBooks</a> (0)</li>
	<li><a href="http://jonathanbuys.com/41" title="The Coffee Cup (December 24, 2008)">The Coffee Cup</a> (6)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/31/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Linux Box and Upgrading Java</title>
		<link>http://jonathanbuys.com/29</link>
		<comments>http://jonathanbuys.com/29#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:06:20 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[sles]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[upgrades]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=29</guid>
		<description><![CDATA[As a general rule, I really don&#8217;t like to go outside of the box when it comes to Linux. And by that, I mean that I don&#8217;t like going outside of what is provided by what ever distribution you are using, be that SLES, Red Hat, or Ubuntu. A lot of people put a lot [...]]]></description>
			<content:encoded><![CDATA[<p>As a general rule, I really don&#8217;t like to go outside of the box when it comes to Linux. And by that, I mean that I don&#8217;t like going outside of what is provided by what ever distribution you are using, be that SLES, Red Hat, or Ubuntu. A lot of people put a lot of work into making sure that the packages that are available for the distribution actually work in the distribution and do not interfere with any other apps. Linux will let you do what ever you want, but just because you <em>can</em> do something, doesn&#8217;t mean that you <em>should</em>.</p>

<p> </p>

<p>Going outside the box can have disastrous results with Linux. Back in early 2000 and 2001 when I was installing SuSE and Mandrake on my old IBM box, I wound up in dependency hell more than once. If you&#8217;ve never been there, it goes something like this:</p>

<p> </p>

<p>OK, I want to upgrade my music player to the latest version, so I&#8217;ll download the latest RPM. Wait, that failed, because it depends on a newer version of some library file that I don&#8217;t have, so I&#8217;ll go search the Internet and try to find that. OK, found it, downloaded the rpm, and it failed to install because it depends on a newer version of some other library file that I don&#8217;t have. Looks like there&#8217;s no RPM for that library, so I&#8217;ll download the source code and compile it. OK, ./configure; make; make install; Nope, that failed because of a gigantic list of dependencies that are not available! At this point, you have to make a decision: Do you go ahead and find the dependencies, or do you give up and have a drink instead. If you choose to go ahead, you download the source to a dozen different packages and install them, then compile your library, then compile your other library, then go to install the rpm to find that it fails because one of the applications you upgraded along the way is, get this, too new to support your music player, and the install still fails. Oh, and by the way, half of your other apps that used to work, don&#8217;t work any more.</p>

<p> </p>

<p>This was a very real problem a few years ago, that&#8217;s why there is such a focus on package managers, and why I recommend staying in the box. That&#8217;s why when I&#8217;m asked to go outside the box, I always tend to meet such requests with scruteny. Do you <strong>really</strong> need that? How badly do you need that?</p>

<p> </p>

<p>Java however, is not so bad. It&#8217;s one of the few apps that is self contained in it&#8217;s own directory. You download the executable bin file from Sun, run the installer, and put the extracted directory wherever you choose. I normally put it in /usr/local/ Then, I do a which java, and move the original java to java.bak. Next, I create a symbolic link to the new java in /usr/local. Run java -version, and verify that we are using the new and improved java.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/277" title="The Linux Box and Upgrading Java (July 15, 2008)">The Linux Box and Upgrading Java</a> (0)</li>
	<li><a href="http://jonathanbuys.com/459" title="Tough to Turn Down (March 22, 2009)">Tough to Turn Down</a> (0)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/colophon" title="Colophon (December 24, 2008)">Colophon</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/29/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AutoYast</title>
		<link>http://jonathanbuys.com/25</link>
		<comments>http://jonathanbuys.com/25#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:05:27 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[autoyast]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[sles]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[yast]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=25</guid>
		<description><![CDATA[I wrote this last year and never posted it.  I&#8217;m glad I found it and can post it now.

One of the projects I&#8217;ve been working on in the past week has been a rapid deployment server for SLES 9.  I would have liked to deploy SLES 10, but we are constrained by our [...]]]></description>
			<content:encoded><![CDATA[<blockquote>I wrote this last year and never posted it.  I&#8217;m glad I found it and can post it now.</blockquote>

<p>One of the projects I&#8217;ve been working on in the past week has been a rapid deployment server for SLES 9.  I would have liked to deploy SLES 10, but we are constrained by our application requirements.  Novell has done a great job at making it easy to deploy SLES or SLED using their Autoinstall and Installation Server options available through YaST.  Using Autoinstall, YaST steps you through the options required to generate an xml file, this xml file is read by YaST during system install and automates the process.  To build a network installation source, the contents of the CDs or DVD need to be copied to the hard drive, preserving symbolic links.  YaSTs Installation Server makes this easy, and also makes &#8220;slipstreaming&#8221; (to borrow a Windows term) a service pack into the install source automatic.  I&#8217;ve built the network install source both ways, and I prefer using YaST to do it for me.</p>

<p>Even with all this being said, YaST (in SLES 9) is still missing some features that require me to edit the xml file directly.  The most important feature it&#8217;s missing, which they included in SLES 10, is the ability to create LVM volumes during partitioning.  Not to say that it&#8217;s not possible, it just requires editing the xml source file.  Using a little trail and error, I was able to partition the drive with a 200MB /boot (too big, I know), a 2GB swap, and then partition the rest of the drive as LVM, and then mount /, /var, /opt, /usr, /tmp, /home, and /work inside the lvm.  Works like a charm.  If you need a working autoinst.xml file, you can download mine <a href="http://os-zen.com/download/autoinst.xml">here</a>.</p>

<p>This setup is great, but it required me to boot off of the CD, and then enter a long install=nfs://bla bla bla/bla bla autoyast=nfs://blalbalba line at boot time.  To really make the system work, I needed network booting for full automation.  I found a great walk through in this <a href="http://www.theopenstandard.com/blogs/chapeaurouge/files/PXE-GRub-AutoYast-HTTP.pdf">pdf</a>, which surprisingly enough, worked for me the first time.  I had to install tftp, syslinux, and dhcp-server rpms, then edit a couple of files, move a couple of things, really no big deal.</p>

<p>Now, I&#8217;m ready.  When we get 100+ servers in, which I&#8217;m told I&#8217;ll have 7 days to install, I&#8217;ll be able to say &#8220;what would you like me to do with the rest of the time?&#8221;</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/colophon" title="Colophon (December 24, 2008)">Colophon</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/25/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Creative Uses for Wordpress</title>
		<link>http://jonathanbuys.com/23</link>
		<comments>http://jonathanbuys.com/23#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:05:00 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=23</guid>
		<description><![CDATA[Where I spend my days ($WORK), we have multiple monitoring systems for just about every service on every server that we have.  Many of these are Nagios, some are built in, and others are SiteScope.  All of the systems generate email alerts that either go to our pagers, our email, or both.  [...]]]></description>
			<content:encoded><![CDATA[<p>Where I spend my days ($WORK), we have multiple monitoring systems for just about every service on every server that we have.  Many of these are <a href="http://www.nagios.org/">Nagios</a>, some are built in, and others are <a href="https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&amp;cp=1-11-15-25%5E849_4000_100__">SiteScope</a>.  All of the systems generate email alerts that either go to our pagers, our email, or both.  From time to time, management would ask a question like “How many pages do you get in a week on average?”, which up till a couple of months ago, our answer was always “It just depends…”</p>

<p> </p>

<p>Not a great answer, so I decided to start tracking the email alerts with a centralized database.  Now, at this point, I could have whipped up my own home-brew frankenstein creation, but since everything I wanted was already built into Wordpress, I really didn’t need to.  Wordpress has the option of posting blogs via email.  So, all I needed to do was set up a special email account on our mail server and make sure the pop3 server was running.  Then, add the server and login information into Wordpress, setup a cron job to trigger the mail check every five minutes, and <span style="text-decoration: line-through;">(whala</span>) boom!  Instant logging of all pages that are sent out in a searchable, easy to read, web format.  Now, when management gets it in their mind to start asking questions, we can easily say “Let me reference my report.”  They really like hearing things like that.</p>

<p> </p>

<p>Building on the success of the alert log, I thought it might be good to also log all of our changes to the system.  This idea is completely different from traditional “Change Management” systems which require you to log ahead of time what you want to accomplish in some ridiculous form or application.  Instead, I find it much more useful and relevant to build in the change logging where we spend most of our time, the command line.</p>

<p> </p>

<p>I’ve added an alias for “exit” in the shell like so:</p>

<p> 
<pre><code>alias exit="exec /scripts/ch_log"
</code></pre>
Here is the ch_log script:
<pre><code>#!/bin/sh</p>

<h1>ch_log - Prompt the user to log system changes on</h1>

<h1>exit from the root shell.</h1>

<p>#</p>

<h1>jonbuys@os-zen.com - Wed Apr  2 15:32:43 CDT 2008</h1>

<p>#</p>

<h6>#</h6>

<p>HOST=<code>hostname</code>
DATE=<code>date +%m-%d-%y</code>
echo $DATE
echo "Did you make any changes to the system? (y/n)"
read answer</p>

<p>if [ $answer == n ] ; then
   echo "OK, Thanks!"
   exit 0
else
   echo "Cool, please enter your name, and then describe the changes in the form."
   echo "Name:"
   read NAME</p>

<pre><code>cat /scripts/log_template | sed s/NNN/$NAME/g | sed s/DDD/$DATE/g | sed s/SSS/$HOST/g &amp;gt;  /tmp/$$.answer
vi /tmp/$$.answer
mail change_log@mail.mydomain.com -s "Change Notification for $HOST"&amp;lt; /tmp/$$.answer
echo "OK, thanks!"
</code></pre>

<p>fi
exit 0</p>

<h6>#</h6>

<h1>EOF: ch_log</h1>

<p></code></pre>
Basically, when we exit our shell we now have to make a choice… do we log what we did with this quick and easy script, or do we ignore it and risk the consequences.  I’ve found that for the most part, I choose to log my work.  The email that is sent off to the change_log@mail.mydomain.com address is picked up by a second Wordpress install, and posted to the blog.  Now we have a historical record of what we’ve done incase something breaks, or (more importantly) when annual review time comes around and we are asked “what have you been up to?”</p>

<p> </p>

<p>There is one other change that I had to make to get this to work right.  By default, Wordpress holds all posts it recieves via email for approval before posting it to the main page.  This is good security, but not really needed on an internal LAN, and it breaks the system I’ve laid out above.  So, to fix it, I’ve made a slight change to the wp-mail.php file:
<pre><code>     // Set $post_status based on $author_found and on author's publish_posts capability
     if ($author_found) {
             $user = new WP_User($post_author);
             if ($user-&gt;has_cap('publish_posts'))
                     $post_status = 'publish';
             else
                     $post_status = 'publish';
     } else {
             // Author not found in DB, set status to pending.  Author already set to admin.
             $post_status = 'publish';
     }
</code></pre>
Above, I’ve changed the “pending” post_status to “publish” for unidentified users, which is everything that it receives via email.  This is a very bad idea to do outside of the LAN, but I don’t see any harm in it internally.  Undoubtedly there are those who would disagree, but this works well for us.</p>

<p> </p>

<p>This is how we are using Wordpress internally on our corporate LAN right now, I’d be interested to hear how some others are using Wordpress or other blogging software.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/32" title="Creative Uses for Wordpress (May 7, 2008)">Creative Uses for Wordpress</a> (6)</li>
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
	<li><a href="http://jonathanbuys.com/621" title="Writing about Jekyll (August 25, 2009)">Writing about Jekyll</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/23/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Optimized Windows Workflow</title>
		<link>http://jonathanbuys.com/21</link>
		<comments>http://jonathanbuys.com/21#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:04:31 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[aix]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[indexed]]></category>
		<category><![CDATA[launchy]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=21</guid>
		<description><![CDATA[I love Linux, I really do.  Compared to the older UNIX systems like AIX, HP-UX, and Solaris (who is trying really hard to catch up) Linux is head and shoulders above the rest.  The main reason for this is that a lot of really smart people also love Linux, and try their best [...]]]></description>
			<content:encoded><![CDATA[<p>I love Linux, I really do.  Compared to the older UNIX systems like AIX, HP-UX, and Solaris (who is trying really hard to catch up) Linux is head and shoulders above the rest.  The main reason for this is that a lot of really smart people also love Linux, and try their best to make it the best server on the planet.  For the most part, I&#8217;d agree that we are succeeding on that front.  On the other hand, to date, I simply can&#8217;t run Linux on my desktop.  If there are servers down, or an application fault somewhere, I need to be able to rely on my tools to be there for me.  That&#8217;s why I run XP on my laptop.</p>

<p style="text-align: center;"><img class="aligncenter" src="http://farm3.static.flickr.com/2266/2476307758_915fe436e2.jpg" alt="pimped" width="500" height="400" /></p>

<p>Now, just because I&#8217;m running XP doesn&#8217;t mean that it has to suck.  I spend most of my time either in the command line or in Firefox.  Oh&#8230; uhhh&#8230; and, most unfortunately, in Lotus Notes (holding back gag reflex).  I&#8217;m not sure if there has ever been a worse email client created than Lotus Notes, but that&#8217;s a post for another day.  So, to make the most of what I have, there are three tools that I&#8217;ve come to rely on:</p>

<p> </p>

<ol>
    <li><a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a> &#8211; Outstanding SSH client.  Always there for me, never craps out, and an awesome Alt-Tab to full screen command line goodness.</li>
    <li><a href="http://www.launchy.net/">Launchy</a> &#8211; Now on my permanent list of apps I can&#8217;t live without.</li>
    <li><a href="http://emergedesktop.org/">Emerge Desktop</a> &#8211; I&#8217;ve got a small screen, and that damn &#8220;Start&#8221; menu always bothered me.  With Emerge, I&#8217;ve replaced the Explorer shell with a very small, very minimal, no task bars or anything else desktop.  If I need the Start menu, I just right click on the desktop and there it is.</li>
</ol>

<p>With PuTTY, I&#8217;ve traded out my SSH keys with my management server, where I run everything else from.  I set up a saved session in PuTTY for the management server, and make sure that I can log in without a password.  Next, I create a &#8220;Launchy Indexed&#8221; folder in my home directory on my laptop, and create a shortcut with the following as the &#8220;Target:&#8221;</p>

<p> </p>

<p>&#8220;C:\Program Files\PuTTY\putty.exe&#8221; -load my.management.server</p>

<p> </p>

<p>Next, reload the launchy index, and we are in business.  Now I&#8217;m just a couple of keystrokes away from my management server.  Since my management server is secure and on the same network as most of the rest of my servers, I&#8217;ve set up some custom scripts there as well.  My most used script is named &#8220;go&#8221;:</p>

<p> 
<pre>#!/bin/sh</p>

<h1>go - ssh into the specified server</h1>

<p>#</p>

<h1>jonbuys@os-zen.com - Wed Jul 25 09:52:09 CDT 2007</h1>

<p>#</p>

<h6>#</h6>

<h1>Make sure the user actually entered something here</h1>

<p>if [ -z "$1" ]; then
        echo "Usage: go [servername]"
  exit 1
else
        # Set the variables
        SERVERNAME=<code>echo $1</code>
        USERNAME=<code>whoami</code>
        # run the command
        ssh $USERNAME@$SERVERNAME
fi</p>

<h6>#</h6>

<h1>EOF: go</pre></h1>

<p> </p>

<p>Very simple, but still, fewer keystrokes than actually typing ssh myusername@whatever.server.com.  I&#8217;ve also been known to abbreviate server names as well in /etc/hosts for folks who insist on ridiculous names that make sense only to them.  Fewer keystrokes, quick access, and less to think about when I absolutely need to get to that server ASAP.  Luckily, there are very few times when the need is that great.  It is, however, very satisfying to see the looks on the faces of my old-school co-workers when they realize that &#8220;He hasn&#8217;t touched his mouse yet&#8230;&#8221;</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/274" title="My Optimized Windows Workflow (May 6, 2008)">My Optimized Windows Workflow</a> (1)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/600" title="Regarding OS Zealotry (July 9, 2009)">Regarding OS Zealotry</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/21/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contextual Menus in Mac Browsers</title>
		<link>http://jonathanbuys.com/19</link>
		<comments>http://jonathanbuys.com/19#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:00:51 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iweb]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[spotlight]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=19</guid>
		<description><![CDATA[My personal browser of choice has almost always been Omniweb.  Omniweb and I went through a tough time for a while when it (she?) was crashing frequently and generally having a tough time of it.  The Omni Group has once again straightened things out, and she (yea, I&#8217;ve decided Omniweb is a she) [...]]]></description>
			<content:encoded><![CDATA[<p>My personal browser of choice has almost always been <a href="http://www.omnigroup.com/applications/omniweb/">Omniweb</a>.  Omniweb and I went through a tough time for a while when it (she?) was crashing frequently and generally having a tough time of it.  The Omni Group has once again straightened things out, and she (yea, I&#8217;ve decided Omniweb is a she) is once again fast, sleek, and powerful.  There is one small item about the browser that bothers me though, and that is the lack of a search function from the browsers contextual menu that pops up when you select a word and right click on it.</p>

<p> </p>

<p>Exhibit A: Omniweb Contextual Menu</p>

<p> </p>

<p>Omniweb has some interesting options available, including the somewhat dubious value of cascading the &#8220;Page&#8221; menu that is available when right clicking without selecting a word.  I&#8217;ve tried both the &#8220;Start Speaking&#8221; and &#8220;Inspect Element&#8221; options, neither of which do me any good in my normal browsing flow.</p>

<p> </p>

<p>When Omniweb and I were not getting along I tried out both Firefox and Safari for a whil.  While both browsers offer a search function from the contextual menu, Firefox has made the best choice from a usability standpoint.</p>

<p> </p>

<p>Exhibit B: Firefox Contextual Menu</p>

<p> </p>

<p>When I select &#8220;Search Google For &#8216;whatever&#8217;&#8221;, Firefox opens a tab in the background searching Google for the word that I had selected.  To me, this is clearly the best option.</p>

<p> </p>

<p>Safari&#8217;s search function is complemented by a &#8220;Search in Spotlight&#8221; option that I&#8217;ve never used.  I suppose its nice that its here, but still, never used.  The ability to search the built in dictionary is nice, and I think I may have used that function once.</p>

<p> </p>

<p>Exhibit C:  Safari Contextual Menu</p>

<p> </p>

<p>The problem I have with Safari&#8217;s search Google option is that it replaces the tab that I&#8217;m reading instead of opening up another tab.  Clearly this defeats the purpose, I&#8217;m interested in the word, product, or service that I&#8217;m reading about, but I don&#8217;t want to stop reading to search Google.  I want Google to be there in the background waiting for me when I&#8217;m good and ready.  Firefox has this right, and I think both Safari and Omniweb could stand to adopt this feature.</p>

<p> </p>

<p>On a side note, why is the Firefox menu grey?  The white background of Omniweb and Safari are much more readable.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/30" title="Contextual Search (May 2, 2008)">Contextual Search</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/19/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System P</title>
		<link>http://jonathanbuys.com/13</link>
		<comments>http://jonathanbuys.com/13#comments</comments>
		<pubDate>Sat, 20 Dec 2008 05:30:00 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[aix]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=11</guid>
		<description><![CDATA[I&#8217;ve had a love/hate relationship with Linux for a long time now.  I love it on the server&#8230; usually, and I hate it on the desktop&#8230; usually.  Recently however, I&#8217;ve been given the opportunity at $WORK to work on a system that is completely different from Linux, Windows, BSD, and even Solaris.  [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a love/hate relationship with Linux for a long time now.  I love it on the server&#8230; usually, and I hate it on the desktop&#8230; usually.  Recently however, I&#8217;ve been given the opportunity at $WORK to work on a system that is completely different from Linux, Windows, BSD, and even Solaris.  We recently installed a new Power 6 P570 running AIX, and I&#8217;ve never seen anything like it.</p>

<p> </p>

<p>At first glance, its easy to dismiss AIX as an overpriced, ancient UNIX system that has been replaced by Linux and is no longer relevant.  However, like the Mac, the software is only part of the story.  One of the things I like about Macs is that Apple controls both the hardware and the software, resulting in an exceptionally well put together product.  It&#8217;s like an appliance, I open the lid on my MacBook and it works.  IBM enjoys the tight coupling of software and hardware on the P-Series as well, and it has resulted in some amazing ideas that I&#8217;ve not seen anywhere else.</p>

<p> </p>

<p>Our P570 is actually two computers.  One is a Linux (everywhere, I know) machine called the Hardware Management Console (HMC), and the other is the actual P570.  Our P570 comes with eight Power 6 CPUs, 64 Gigs of RAM, four 73 Gig, 15k hard drives, eight dual four Gig fiber channel adapters, and eight dual gigabit ethernet adapters.  We&#8217;ve taken this hardware and divided it up into eight instances of AIX called Logical Partitions, or LPARs.  Six of the LPARs boot off the SAN, and the other two boot from local drives.  The HMC creates these LPARs with profiles, and it interacts with the firmware of the P570 to provide the virtualization needed.  The amazing thing about this system is that once the LPARs are booted, the P570 can automatically move CPUs and RAM between LPARs on the fly, without bringing down the system.</p>

<p> </p>

<p>Let&#8217;s think about this again for just a second.  I&#8217;ve never seen a system that would allow me to add a CPU to a running operating system.  I&#8217;ve never seen one that would allow me to add RAM to a running system either.  Disk, IO, peripherals&#8230; not a problem.  The Power systems from IBM are amazing.  Expensive, but amazing.</p>

<p> </p>

<p>AIX ties directly into the firmware, and the firmware ties directly into the HMC.  Here&#8217;s an example of why I&#8217;m so star stuck by AIX and the Power architecture right now.  We got our new system in the door on a Friday, it sat there for the weekend, we looked at it for a couple more days, and actually started working on it on Wednesday.  By the following Monday it was in production, with an exact copy of the operating system, applications, and all data from the older P570 it was replacing.  We used the AIX <a href="http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.install/doc/insgdrf/mksysbmigration.htm">mksysb</a> to create bootable, installable DVD images from the running system, on the fly, with no downtime.  Then we used the internal logical volume mirroring to mirror the data from the old SAN to the new SAN.  In one instance, we moved right around 400 Gig in two and a half hours.</p>

<p> </p>

<p>There is really a ton that I don&#8217;t know yet about the P-Series and IBM&#8217;s Power 6 architecture, but I&#8217;m really very glad to be in a position to dive right in.  I&#8217;m sure there will be much to blog about as I learn more about the strengths and weaknesses of our new P570.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/271" title="Linux is not for MacBooks (April 10, 2008)">Linux is not for MacBooks</a> (0)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/13/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build Something Better</title>
		<link>http://jonathanbuys.com/11</link>
		<comments>http://jonathanbuys.com/11#comments</comments>
		<pubDate>Sat, 20 Dec 2008 05:29:00 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=9</guid>
		<description><![CDATA[What would it take to change computers?  What would it take to build something truly revolutionary in a time where most of the design philosophy of a computer is taken for granted?

 

I spend an inordinate amount of time thinking about ways to make computers better.  Much of that thought is dedicated to software, [...]]]></description>
			<content:encoded><![CDATA[<p>What would it take to change computers?  What would it take to build something truly revolutionary in a time where most of the design philosophy of a computer is taken for granted?</p>

<p> </p>

<p>I spend an inordinate amount of time thinking about ways to make computers better.  Much of that thought is dedicated to software, but an equal amount of daydreaming is allocated to hardware.  In my mind, the two go together like peas and carrots, ying and yang.  A couple of years ago I wrote a college paper that talked about the UMPC market, which has now evolved into &#8220;<a href="http://en.wikipedia.org/wiki/Netbook">netbooks</a>&#8220;.  I couldn&#8217;t stand the UMPC interface or hardware, but something about the idea of a very small, very portable computer appealed to me.  Massive amounts of information, instantly available, wherever you are.  I took the ideas of tablet PCs and UMPCs and designed something I called the FarmDog.</p>

<p> </p>

<p>FarmDog was a tablet PC with an OS that ran off of a removable flash drive.  The OS ran off of that drive, but all applications and user data resided on a hard drive, which was also removable.  The idea was that you could keep your OS and your data completely separate, and also make it very, very easy to back up your system.  Upgrading to a new operating system would involve buying a new chip from the store, shutting down the PC, putting in the new chip, and restarting the PC.  You could switch between OS&#8217;s whenever you like, so if one is giving you problems you could go back to a previous revision.</p>

<p> </p>

<p>A second part of the FarmDog was the dock.  Normally, when you were running around with your PC, it acted as a tablet.  However, when you put FarmDog in the dock (vertically, I didn&#8217;t imagine it being docked as a widescreen.) you had the setup of a regular desktop computer.  Keyboard, mouse, etc&#8230;  the main difference with the FarmDog dock was the automatic drive duplication.  Now, we would probably want to implement something like Apple&#8217;s <a href="http://www.apple.com/macosx/features/timemachine.html">Time Machine</a>, but at the time, I was thinking of duplicating the entire data drive to an external disk every time the PC was docked.  This would keep a good backup of your applications and data, just in case.</p>

<p> </p>

<p>As always, the hardware only tells half the story.  The other half of the FarmDog was the software.  I imagined at the time using the <a href="http://symphonyos.com/cms/">Symphony OS</a> and the <a href="http://en.wikipedia.org/wiki/Mezzo_(desktop_environment)">Mezzo</a> user interface, coupled with something like <a href="http://docs.blacktree.com/quicksilver/what_is_quicksilver">quicksilver</a> as the default way to interact with your computer.  Quicksilver has quite a learning curve, but once you get used to using it, you wonder how you ever used anything else.  The idea is simple, Use one interface to tell your computer what to do.  Launch an application, email a document, copy some files, upload photos to Flickr, etc, etc, etc&#8230; The quicksilver interface would undoubtedly take more steps to accomplish some tasks, but it would also take fewer steps to accomplish other tasks.  The goal, however, is to <em>standardize the interface for performing any task on the computer</em>.  Less options for possible action equates to <em>less confusion on the part of the user</em>.  I don&#8217;t think I would want to use the SymphonyOS anymore, now I think it would be worth it to focus on something like the <a href="http://www.skyos.org/">SkyOS</a>, of possibly even <a href="http://www.haiku-os.org/">Haiku</a>.  Something different, something new, something that is not a more bloated version of the software and hardware concepts we were using twenty years ago.</p>

<p> </p>

<p>I believe that the secret to a great consumer computer is a tight bond <a href="http://www.apple.com/macbook/">between</a> software and hardware, coupled with great design in both.  Apple has this just about nailed with their new MacBooks, but I&#8217;m still left wondering, how could we build something better, something different.  I think FarmDog could be the start of something, I just wish I had the funds to build it.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/296" title="Build Something Better (November 3, 2008)">Build Something Better</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/13" title="System P (December 19, 2008)">System P</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/11/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Account Pruning</title>
		<link>http://jonathanbuys.com/9</link>
		<comments>http://jonathanbuys.com/9#comments</comments>
		<pubDate>Sat, 20 Dec 2008 05:22:00 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[accounts]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mobileme]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[organize]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://blog.jonathanbuys.com/?p=7</guid>
		<description><![CDATA[I&#8217;m a geek.  Understanding that little fact puts me a little closer to being in touch with myself, and understanding that I&#8217;ve got a habit of trying out every new service or technology that comes along.  That&#8217;s fun, but in the case of online services, I wind up with accounts all over the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a geek.  Understanding that little fact puts me a little closer to being in touch with myself, and understanding that I&#8217;ve got a habit of trying out every new service or technology that comes along.  That&#8217;s fun, but in the case of online services, I wind up with accounts all over the place.  So, the past few days I&#8217;ve been pruning my online accounts down to what I really need.</p>

<p><strong>email</strong></p>

<p>I started out with AOL in the &#8217;90s, and quickly learned that AOL masked the rest of the Internet, and that all I needed was a connection and a real browser.  From there, I went to Hotmail, and stuck with Hotmail for several years, up until the time I bought my first Mac.  Since getting an iBook in &#8216;03 I&#8217;ve had a .Mac account, but it hasn&#8217;t always been the best email service.  I also tried Yahoo mail, but I&#8217;ve never liked any of the Yahoo services&#8230; too gaudy for my taste.  Then came Gmail, which is an excellent service, and one that I&#8217;ve stuck with for quite a while now.  However, there&#8217;s also the new MobileMe, which promises to synchronize everything everywhere, and since MobileMe offers a ton of other features, and integrates seamlessly into my MacBook, I&#8217;m sold on it.  I&#8217;ve actually gone back and forth between MobileMe and GMail quite a bit.  Since Gmail can download pop3 mail and send mail as my MobileMe account, it makes it easy to switch over to it.  However, I&#8217;m not a big fan of the Gmail design, or any of the skins that I&#8217;ve seen, and I really like to use Mail.app for my email.  I could use pop with Gmail, which works great, or I could use IMAP, which doesn&#8217;t work so great with Gmail but works perfectly with MobileMe.  I also really love the visual design of MobileMe.  I think it&#8217;s uncluttered and smooth.  No ads (since it&#8217;s a paid service).</p>

<p>So, anyway&#8230; I wind up with five or six email accounts spread out across teh interwebs.  I&#8217;ve been closing them one at a time, and it&#8217;s not always easy.  A lot of companies, like Microsoft and Yahoo, will not just close your account straight off.  You have to request that it be closed and then not attempt to log back in under that user name for three or four months.</p>

<p><strong>social</strong></p>

<p>I&#8217;ve had accounts on MySpace, Facebook, LinkedIN, Friendster, Orkut, Del.icio.us, Flickr, Twitter, Pounce&#8230; and probably a few more that I cannot think of right now.  I thought all of them were fun, but of limited functionality.  Over the past couple weeks I&#8217;ve pruned them down to Twitter and Flickr, and I think I&#8217;ll keep it at that.  Twitter is fun, and it&#8217;s got some additional services that I use every day.  I follow CNN Breaking News, and get a text message as soon as some important news story develops.  It&#8217;s not too frequent, only really big stuff.  Some of the people I follow also point out some really cool stuff on twitter that they don&#8217;t mention anywhere else.  Flickr is a great photography site, and I&#8217;ve had a pro account in the past, but not now.  One reason I&#8217;m really not happy with Flickr is that I have to have a Yahoo account to use it.  I&#8217;ve already said that I don&#8217;t like Yahoo that much, and would much rather close the account all together.  Also, MobileMe has a photo sharing service that integrates right into iPhoto, although that service is not nearly as &#8220;social&#8221; as Flickr, it&#8217;s still a way to get my pictures out there.  If I can find a way to integrate the MobileMe galleries into Wordpress we&#8217;ll be in business.  I consider the relationship between Flickr and myself &#8220;Under Review&#8221;.  Del,icio.us = same story&#8230; great service&#8230; bought by Yahoo&#8230; I don&#8217;t want a Yahoo account.</p>

<p><strong>storage</strong></p>

<p>When I was looking at a replacement for MobileMe, I needed a replacement for iDisk.  The best I could find was Box.net, but I could never get the webdav mount working properly in Linux.  iDisk works great, pretty much every time, I rarely have a problem with it.  Also, I can sync my iDisk locally to my Mac, which means I still get off line access.  If, that is, I were ever off line.  I also looked at Microsoft&#8217;s Live services, but I don&#8217;t think I ever actually used the online storage for anything.</p>

<p><strong>elsewheres</strong></p>

<p>I wind up trying out all kinds of beta services and startup companies web sites.  I&#8217;ve loved all the new Web2.0 design that&#8217;s been so big lately.  To be honest, I can&#8217;t even begin to count all the services I&#8217;ve signed up for.  I&#8217;m hoping that eventually the accounts that I&#8217;ve signed up for but no longer use will expire.  I think what I really need to do is come up with a fake online identity and use that to sign up for all the accounts that I&#8217;m just trying, verses the accounts that I actually use on a daily basis.  On the other hand, why should I even bother with shutting them down?  Well, to answer that, I&#8217;ve got to go back to my opening sentence: I&#8217;m a geek.  Being a geek also means that I really like to keep things organized, and if it&#8217;s not, it drives me nuts.  I need to prune, or I can&#8217;t concentrate, it&#8217;s an open loop, and open loops need to be closed.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/9/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Hidden ARP</title>
		<link>http://jonathanbuys.com/302</link>
		<comments>http://jonathanbuys.com/302#comments</comments>
		<pubDate>Thu, 04 Dec 2008 19:09:35 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[load balance]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[sad]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://oszen.wordpress.com/?p=169</guid>
		<description><![CDATA[
  To enable an interface on a web server to be part of a load balanced cluster,
  we need to be able to share an ip address between multiple machines. This
  breaks the IP protocol however, because you could never be sure which machine
  will answer for a request for that [...]]]></description>
			<content:encoded><![CDATA[<p align="LEFT">
  To enable an interface on a web server to be part of a load balanced cluster,
  we need to be able to share an ip address between multiple machines. This
  breaks the IP protocol however, because you could never be sure which machine
  will answer for a request for that IP address. To fix this problem, we need to
  get down into the IP protocol and investigate how the “Address Resolution
  Protocol” or arp, works.
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  Bear with me as I go into a short description on how an IP device operates on
  an IP network. When a device receives a packet from its network, it will look
  at the destination IP address and ask a series of questions from it:
</p>

<p align="LEFT">
  <br />
</p>

<ol>
  <li>
    <p align="LEFT">
      Is this MY ip address?
    </p>
  </li>
  <li>
    <p align="LEFT">
      Is this ip address on a network that I am directly connected to?
    </p>
  </li>
  <li>
    <p align="LEFT">
      Do I know how to get to this network?
    </p>
  </li>
</ol>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  If the answer to the first question is yes, then the job is done, because the
  packet reached its destination. If the answer is no, it asks the second
  question. If the answer to the second question is no, it asks the third
  question, and either drops the packet as unroutable, or forwards the packet on
  to the next IP hop, normally the device&#8217;s default gateway.
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  However, if the answer to the second question is yes, the device follows
  another method to determine how to get the packet to it&#8217;s destination. IP
  addresses are not really used on local networks except by higher level tools
  like ping or telnet or any network aware application. On the lower level, all
  local subnet traffic is routed by MAC address. So when the device needs to
  send a packet to an IP address on the subnet that it is attached to, it
  follows these steps:
</p>

<p align="LEFT">
  <br />
</p>

<ol>
  <li>
    <p align="LEFT">
      Check my arp table for an IP to MAC address mapping
    </p>
  </li>
  <li>
    <p align="LEFT">
      If needed, issue an arp broadcast for the IP address
    </p>
    <ol>
      <li>
        <p align="LEFT">
          <i>an arp broadcast is a question going out to all devices on the
          subnet that has the simple setup of “if this is your IP address, give
          me your MAC address”</i>
        </p>
      </li>
    </ol>
  </li>
</ol>

<ol start="3">
  <li>
    <p align="LEFT">
      Once the reply for the arp address is received, the packet is forwarded to
      the appropriate host.
    </p>
  </li>
</ol>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  So, to put this all in perspective, when multiple machines share the same IP
  address, each of the machines will reply to the arp request, and depending on
  the order in which the replies are received, it is entirely possible that a
  different machine will respond each time. When this happens, it breaks the
  load balancing architecture, and brings us down to one server in use.
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  The next question is normally: “Why is that? Why do the web servers need that
  IP address anyway?” The answer to this is also deep in the IP protocol, and
  requires a brief explanation of how the load balancing architecture works.
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  To the outside world, there is one ip address for website.com. Our public
  address is 10.2.166.181. This address is assigned three places on one subnet:
  lb1, serv1, and serv2. The only server that is supposed to respond to arp
  requests is lb1. When lb1 receives a packet destined for 10.2.166.181, it
  replaces the destination MAC address with one of the addresses from one of the
  web servers, serv1 or serv2, and forwards it on. This packet still has the
  original source and destination IP addresses on it, so remember what happens
  when an IP device on an IP network receives a packet&#8230; it asks the three
  questions outlined above. So, if the web servers did not have the 10.2.166.181
  address assigned to them, they would drop the packet (because they are not set
  up to route, they would not bother asking the second or third questions).
  Since the web servers <i>do</i> have the ip address assigned to one of their
  interfaces, they accept the packet and respond to the request (usually an http
  request).
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  So, that covers the “why?”, let&#8217;s look at “how?”.
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  Enable the hidden arp function by entering the following into
  /etc/sysctl.conf:
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  # Disable response to broadcasts.
</p>

<p align="LEFT">
  # You don&#8217;t want yourself becoming a Smurf amplifier.
</p>

<p align="LEFT">
  net.ipv4.icmp_echo_ignore_broadcasts = 1
</p>

<p align="LEFT">
  # enable route verification on all interfaces
</p>

<p align="LEFT">
  net.ipv4.conf.all.rp_filter = 1
</p>

<p align="LEFT">
  # enable ipV6 forwarding
</p>

<p align="LEFT">
  #net.ipv6.conf.all.forwarding = 1
</p>

<p align="LEFT">
  <b>net.ipv4.conf.all.arp_ignore = 3 </b>
</p>

<p align="LEFT">
  <b>net.ipv4.conf.all.arp_announce = 2</b>
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  The relevant settings are explained here:
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  <b>arp_ignore = 3</b>: <i>Do not reply for local addresses configured with
  <b>scope host</b>, only resolutions for global and link addresses are
  replied</i>.
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  For this setting the really interesting part is the “configured with scope
  host” part. Before, using ifconfig to assign addresses to interfaces we did
  not have the option to configure a scope on an interface. A newer (well,
  relatively speaking) command, “ip addr” is needed to assign the scope of host
  to the loopback device. The command to do this is:
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  ip addr add 10.2.166.181/32 scope host dev lo label lo:1
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  There are some important differences in the syntax of this command that need
  to be understood to make use of it on a regular basis. The first is the idea
  of a “label” being added to an interface. ip addr does not attempt to fool you
  into thinking that you have multiple physical interfaces, it will allow you to
  add multiple addresses to an existing interface and apply labels to them to
  distinguish them from each other. The labels allow ifconfig to read the
  configuration and see the labels as different devices.
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  example:
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  lo Link encap:Local Loopback
</p>

<p align="LEFT">
  inet addr:127.0.0.1 Mask:255.0.0.0
</p>

<p align="LEFT">
  inet6 addr: ::1/128 Scope:Host
</p>

<p align="LEFT">
  UP LOOPBACK RUNNING MTU:16436 Metric:1
</p>

<p align="LEFT">
  RX packets:9477 errors:0 dropped:0 overruns:0 frame:0
</p>

<p align="LEFT">
  TX packets:9477 errors:0 dropped:0 overruns:0 carrier:0
</p>

<p align="LEFT">
  collisions:0 txqueuelen:0
</p>

<p align="LEFT">
  RX bytes:902055 (880.9 Kb) TX bytes:902055 (880.9 Kb)
</p>

<p align="LEFT">
</p>

<p align="LEFT">
  lo:1 Link encap:Local Loopback
</p>

<p align="LEFT">
  inet addr:10.2.166.181 Mask:255.255.255.255
</p>

<p align="LEFT">
  UP LOOPBACK RUNNING MTU:16436 Metric:1
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  lo:2 Link encap:Local Loopback
</p>

<p align="LEFT">
  inet addr:10.2.166.184 Mask:255.255.255.255
</p>

<p align="LEFT">
  UP LOOPBACK RUNNING MTU:16436 Metric:1
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  Here, lo, lo:1, and lo:2 are viewed as separate devices by ifconfig. Here is
  the output from the ip addr show command:
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  1: lo: &lt;LOOPBACK,UP&gt; mtu 16436 qdisc noqueue
</p>

<p align="LEFT">
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
</p>

<p align="LEFT">
  inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
</p>

<p align="LEFT">
  inet 10.2.166.181/32 scope host lo:1
</p>

<p align="LEFT">
  inet 10.2.166.184/32 scope host lo:2
</p>

<p align="LEFT">
  inet 10.2.166.179/32 scope host lo:3
</p>

<p align="LEFT">
  inet 10.2.166.174/32 scope host lo:4
</p>

<p align="LEFT">
  inet6 ::1/128 scope host
</p>

<p align="LEFT">
  valid_lft forever preferred_lft forever
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  Here we can see that the lo:1 (etc&#8230;) addresses are assigned directly under
  the standard lo interface, and are only differentiated from the standard
  loopback address by their label.
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  Here is the same output from the eth2 device:
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  4: eth2: &lt;BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc pfifo_fast qlen 1000
</p>

<p align="LEFT">
  link/ether 00:10:18:2e:2e:a2 brd ff:ff:ff:ff:ff:ff
</p>

<p align="LEFT">
  inet&nbsp;10.2.166.181&nbsp;/24 brd 10.2.166.255 scope global eth2
</p>

<p align="LEFT">
  inet 10.2.166.186/24 brd 10.2.166.255 scope global secondary eth2:1
</p>

<p align="LEFT">
  inet 10.2.166.183/24 brd 10.2.166.255 scope global secondary eth2:2
</p>

<p align="LEFT">
  inet 10.2.166.176/24 brd 10.2.166.255 scope global secondary eth2:3
</p>

<p align="LEFT">
  inet 10.2.166.178/24 brd 10.2.166.255 scope global secondary eth2:4
</p>

<p align="LEFT">
  inet 10.2.166.46/24 brd 10.2.166.255 scope global secondary eth2:5
</p>

<p align="LEFT">
  inet6 fe80::210:18ff:fe2e:2ea2/64 scope link
</p>

<p align="LEFT">
  valid_lft forever preferred_lft forever
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  Same as above, the addresses do not create virtual interfaces, they are simply
  applied to the real interface and assigned a label for management by ifconfig.
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  Without the label, ifconfig will not see the assigned address. This is proven
  in this example from
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  myserv:
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  root@myserv:/root &gt; ip addr add 10.0.0.1/32 scope host dev lo label lo:1
</p>

<p align="LEFT">
  root@myserv:/root &gt; ip addr add 10.0.0.2/32 scope host dev lo
</p>

<p align="LEFT">
  root@myserv:/root &gt; ifconfig -a
</p>

<p align="LEFT">
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  lo Link encap:Local Loopback
</p>

<p align="LEFT">
  inet addr:127.0.0.1 Mask:255.0.0.0
</p>

<p align="LEFT">
  inet6 addr: ::1/128 Scope:Host
</p>

<p align="LEFT">
  UP LOOPBACK RUNNING MTU:16436 Metric:1
</p>

<p align="LEFT">
  RX packets:42 errors:0 dropped:0 overruns:0 frame:0
</p>

<p align="LEFT">
  TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
</p>

<p align="LEFT">
  collisions:0 txqueuelen:0
</p>

<p align="LEFT">
  RX bytes:2879 (2.8 Kb) TX bytes:2879 (2.8 Kb)
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  lo:1 Link encap:Local Loopback
</p>

<p align="LEFT">
  inet addr:10.0.0.1 Mask:255.255.255.255
</p>

<p align="LEFT">
  UP LOOPBACK RUNNING MTU:16436 Metric:1
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  (no lo:2 interface and no 10.0.0.2 address shown)
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  root@myserv:/root &gt; ip addr show
</p>

<p align="LEFT">
  1: lo: &lt;LOOPBACK,UP&gt; mtu 16436 qdisc noqueue
</p>

<p align="LEFT">
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
</p>

<p align="LEFT">
  inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
</p>

<p align="LEFT">
  inet 10.0.0.1/32 scope host lo:1
</p>

<p align="LEFT">
  <b>inet 10.0.0.2/32 scope host lo</b> &lt;&#8212;&#8211; here it is!
</p>

<p align="LEFT">
  inet6 ::1/128 scope host
</p>

<p align="LEFT">
  valid_lft forever preferred_lft forever
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  The other, less notable differences in the ip addr command is that it uses
  CIDR notation for the subnet mask (ie: /32), instead of the more formal
  netmask format (ie: 255.255.255.255). All in all, the ip command and all its
  modifiers and flags is a great tool to add to the sysadmin&#8217;s toolbox.
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  <b>arp_announce = 2</b>: <i>Always use the <b>best local address</b> for this
  target. In this mode we ignore the source address in the IP packet and try to
  select local address that we prefer for talks with the target host. <b>Such
  local address is selected by looking for primary IP addresses on all our
  subnets on the outgoing interface that include the target IP address</b>. If
  no suitable local address is found we select the first local address we have
  on the outgoing interface or on all other interfaces, with the hope we will
  receive reply for our request and even sometimes no matter the source IP
  address we announce.</i>
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  This one is a little tricky, but I believe it deals with how the web servers
  talk with the clients requesting web pages. In order for the web page to come
  up and maintain a session, when the server sends a packet back to the client,
  it needs to come from the source ip address of the hidden ip address. In order
  to do this, the web server looks at the destination address of the client
  packet, and then responds using that as it&#8217;s source IP address instead of it&#8217;s
  actual IP address. Clear as mud, right!
</p>

<p align="LEFT">
  <br />
</p>

<p align="LEFT">
  I hope this helps explain things a little better about the hows and whys of
  the web server&#8217;s side of load balancing. Note however, that I didn&#8217;t talk at
  all about the edge server. That&#8217;s because the edge servers job is done at the
  application level, and correct configuration of it does not need any special
  consideration at the OS level.
</p>

<p><br /></p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/631" title="New SysAdmin Tips (December 4, 2009)">New SysAdmin Tips</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/302/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios Check Scheduling</title>
		<link>http://jonathanbuys.com/299</link>
		<comments>http://jonathanbuys.com/299#comments</comments>
		<pubDate>Thu, 06 Nov 2008 05:31:18 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://oszen.wordpress.com/?p=163</guid>
		<description><![CDATA[Or, maybe a better title for this would be &#8220;They rebooted the server, why didn&#8217;t I get a page?&#8221;  I&#8217;ve had that question asked of me quite a few times, and I&#8217;ve never had a good answer, so I thought I&#8217;d take a closer look at Nagios and see what is going on.  [...]]]></description>
			<content:encoded><![CDATA[<p>Or, maybe a better title for this would be &#8220;They rebooted the server, why didn&#8217;t I get a page?&#8221;  I&#8217;ve had that question asked of me quite a few times, and I&#8217;ve never had a good answer, so I thought I&#8217;d take a closer look at Nagios and see what is going on.  The first place I looked was nagios.conf, and it turned out that was a very good place to look. </p>

<p>Inside of nagios.conf are six values that are important to consider.  The first is the Service Inter-Check Delay Method.  &#8220;This is the method that Nagios should use when initially &#8220;spreading out&#8221; service checks when it starts monitoring. The default is to use smart delay calculation, which will try to space all service checks out evenly to minimize CPU load.  Using the dumb setting will cause all checks to be scheduled at the same time (with no delay between them)! This is not a good thing for production, but is useful when testing the parallelization functionality.&#8221; </p>

<ul>
<li>
<div>n = None &#8211; don&#8217;t use any delay between checks</div></li>
<li>
<div>d = Use a &#8220;dumb&#8221; delay of 1 second between checks</div></li>
<li>
<div>s = Use &#8220;smart&#8221; inter-check delay calculation</div></li>
<li>
<div>x.xx = Use an inter-check delay of x.xx seconds</div></li></ul>

<p>The next setting to look at is the Service Check Interleave Factor.  &#8220;This variable determines how service checks are interleaved. Interleaving the service checks allows for a more even distribution of service checks and reduced load on remote hosts. Setting this value to 1 is equivalent to how versions of Nagios previous to 0.0.5 did service checks. Set this value to s (smart) for automatic calculation of the interleave factor unless you have a specific reason to change it.</p>

<ul>
<li>
<div>s = Use &#8220;smart&#8221; interleave factor calculation</div></li>
<li>
<div>x = Use an interleave factor of x, where x is a number greater than or equal to 1.&#8221;</div></li></ul>

<p>I love it when there is good documentation in the config files.  So, there are several checks running at once, and they are spaced out how the Nagios application thinks is best.  But how many are running at once?  This is determined by the next variable, Maximum Concurrent Service Checks.  &#8220;This option allows you to specify the maximum number of service checks that can be run in parallel at any given time.  Specifying a value of 1 for this variable essentially prevents any service checks from being parallelized. A value of 0 will not restrict the number of concurrent checks that are being executed.&#8221;  Our variable here is set to 0, unrestricted.</p>

<p>The third item that caught my eye is the Service Reaper Frequency variable.  &#8220;This is the frequency (in seconds!) that Nagios will process the results of services that have been checked.&#8221;  Our variable here is set to 10, so every 10 seconds Nagios processes the results of the checks.</p>

<p>The last value is actually a group of values collectively known as Timeout Values.  &#8220;These options control how much time Nagios will allow various types of commands to execute before killing them off. Options are available for controlling maximum time allotted for service checks, host checks, event handlers, notifications, the ocsp command, and performance data commands. All values are in seconds.&#8221;  Our values are:</p>

<ul>
<li>
<div>service_check_timeout=60</div></li>
<li>
<div>host_check_timeout=30</div></li>
<li>
<div>event_handler_timeout=30</div></li>
<li>
<div>notification_timeout=30</div></li>
<li>
<div>ocsp_timeout=5</div></li>
<li>
<div>perfdata_timeout=5</div></li></ul>

<p>Knowing the theory is good, but it is also good to know the exact times between checks.  In the Nagios web interface, there is a page for each service that is monitored with the label &#8220;Service State Information&#8221;.  On this page I found the timestamp for the &#8220;Last Check Time&#8221; and the &#8220;Next Scheduled Check&#8221;.  <em>Looking at several of these I found that each service check is five minutes apart&#8230; down to the second.</em></p>

<p>One last item to consider is that Nagios gives each check three chances to correct itself.  This means that if Nagios finds an error, it immediately schedules the next check of the service.  (ping also being considered a &#8220;service&#8221;) </p>

<p>So, what all this means is a very long-winded explanation of what I thought was happening.  The server was rebooted right after a service check, and it came back up before the next service check was executed.  I thought it might be possible that changing the inter-check delay method to 1.00 may speed up the checks, but after making the change I found that the checks were still five minutes apart.  There are more options available in Nagios 3 than there were in Nagios 2, so we may be able to winnow this down a bit more.  We&#8217;ll have to see. </p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/574" title="Servers (June 12, 2009)">Servers</a> (1)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/299/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Essentials</title>
		<link>http://jonathanbuys.com/297</link>
		<comments>http://jonathanbuys.com/297#comments</comments>
		<pubDate>Tue, 04 Nov 2008 11:51:52 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[cheap]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[spotlight]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://oszen.wordpress.com/?p=158</guid>
		<description><![CDATA[Inspired by Mark Pilgrim&#8217;s &#8220;Essentials&#8221; post, I thought I&#8217;d come up with my own list of essential software.


Mac OS X.  Closed source or open source, I lean towards the system that performs the best.  Simplicity, security, and reliability have made me a Mac fan for years.  I&#8217;ve tried to love Linux, I [...]]]></description>
			<content:encoded><![CDATA[<p>Inspired by Mark Pilgrim&#8217;s &#8220;<a href="http://diveintomark.org/archives/2008/10/28/essentials-2008">Essentials</a>&#8221; post, I thought I&#8217;d come up with my own list of essential software.</p>

<ol>
<li><p><a href="http://www.apple.com/macosx/">Mac OS X</a>.  Closed source or open source, I lean towards the system that performs the best.  Simplicity, security, and reliability have made me a Mac fan for years.  I&#8217;ve tried to love Linux, I really have, but the love is just never returned.</p></li>
<li><p><a href="http://www.apple.com/safari/">Safari</a>:  I don&#8217;t think Safari is really &#8220;The world&#8217;s best browser&#8221;, but I do think its the best browser on OSX.</p></li>
<li><p><a href="http://www.adiumx.com/">Adium</a>:  Adium beats out iChat in just about everything.  I could care less about video chat, and I type just fine.  If I want to talk to someone, I&#8217;ll call them.  Also, since $WORK uses Lotus Notes and Sametime, Adium supports getting on the chat network from home when I&#8217;m on the VPN.</p></li>
<li><p><a href="http://www.shimoapp.com/">Shimo</a>:  Speaking of the VPN, Shimo is amazing.  A major leap forward from the ridiculous Cisco VPN client on the Mac.  It&#8217;s awesome, and I can&#8217;t live without it.</p></li>
<li><p><a href="http://www.apple.com/itunes/">iTunes</a>:  iTunes is not the most lightweight media player on the market, but it&#8217;s certainly the best at what it does on the Mac.  It&#8217;s a mix of music, movies, tv shows, and even applications for the iPhone or iPod touch.  And, if you are smart and shop at <a href="http://www.amazon.com/MP3-Music-Download/b?ie=UTF8&amp;node=163856011">Amazon MP3</a>, you get cheaper music, better quality, and none of the DRM that you get from the ITMS.</p></li>
<li><p><a href="http://www.apple.com/macosx/features/300.html#ical">iCal</a> + <a href="http://www.google.com/calendar">Google Calendar</a>:  I don&#8217;t really know why I haven&#8217;t moved my calendar over to gCal completely, I really do like the UI of iCal, so maybe that&#8217;s it.  Or, maybe its the desktop integration.  Whatever it is, I&#8217;ve moved past Mail.app in favor of Gmail, but I&#8217;m still using iCal for my calendars.</p></li>
<li><p><a href="http://www.apple.com/ilife/iphoto/">iPhoto</a>:  There&#8217;s really no better alternative available to iPhoto on the Mac.  It&#8217;s either that, or using the Finder to manage my photos, and since I&#8217;ve got several years invested in iPhoto, I really don&#8217;t feel like switching to anything else.</p></li>
<li><p><a href="http://www.apple.com/macosx/features/300.html#preview">Preview</a>:  Preview is far faster than Adobe Reader for viewing PDFs, but more than that, it works great as a simple image editor as well.  You can edit icons, crop and resize screenshots for the web, and annotate PDFs.  Preview is one of the apps that I miss when I&#8217;m away from my Mac.</p></li>
<li><p><a href="http://www.red-sweater.com/marsedit/">MarsEdit</a>:  I dispise typing in any online, web based text editor, so Mars Edit is a life saver.  Always under active development, MarsEdit has great support for Wordpress, which is all I really need.  Another must have.</p></li>
<li><p><a href="http://www.omnigroup.com/applications/OmniGraffle/">OmniGraffle</a>:  Ever now and again I need to make a graph, or a chart, or a mind map, and when I do, OmniGraffle has me covered.  It&#8217;s sometimes touted as Visio for the Mac, but I think OmniGraffle is in a class all its own.</p></li>
<li><p><a href="http://macromates.com/">TextMate</a>:  Because I can&#8217;t get my .exrc file from vi working exactly the way I want it just yet.  For writing, its either TextMate or vi, and really, it&#8217;s a bit of a toss-up.  I use vi for just about everything at $WORK, and I may begin using it at home, but till then, TextMate is the next best thing.</p></li>
<li><p><a href="http://www.barebones.com/products/Yojimbo/">Yojimbo</a>:  I collect random bits of information from all kinds of places&#8230; pictures, web pages, passwords, serial numbers, bookmarks&#8230; everything gets dumped into Yojimbo.</p></li>
<li><p><a href="http://www.apple.com/macosx/features/timemachine.html">Time Machine</a>:  I loves me some backups, and its good to know that Apple has me covered with the Time Machine.  All I have to do is remember to plug in my <a href="http://www.westerndigital.com/en/products/products.asp?driveid=353">MyBook</a> and I&#8217;m backed up.  That, and the GUI to restore files is way more fun than TSM.</p></li>
<li><p><a href="http://www.apple.com/macosx/developertools/xcode.html">Xcode</a>:  I&#8217;ve <a href="http://oszen.wordpress.com/2008/09/19/goodbye-cocoa/">dabbled in development</a>, and I&#8217;m planning on returning soon.  If you want to develop on the Mac, you have to use Xcode.</p></li>
<li><p><a href="http://www.apple.com/macosx/features/300.html#spotlight">Spotlight</a>:  Spotlight is an amazing technology, far more advanced than other desktop search applications.  Spotlight does not rely on periodic indexing of the hard drive.  Instead, Spotlight indexes the system once, and from then on, every time a file is changed, the change is written to both the file, and to the Spotlight index.  Keeping the spotlight index up to date, instantly, all the time.  Introduced in Tiger, Spotlight has really matured in Leopard.  Its so fast that I now use it for everything that I used to use Quicksilver for.</p></li>
</ol>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/297/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build Something Better</title>
		<link>http://jonathanbuys.com/296</link>
		<comments>http://jonathanbuys.com/296#comments</comments>
		<pubDate>Mon, 03 Nov 2008 11:49:21 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://oszen.wordpress.com/?p=156</guid>
		<description><![CDATA[What would it take to change computers?  What would it take to build something truly revolutionary in a time where most of the design philosophy of a computer is taken for granted?

I spend an inordinate amount of time thinking about ways to make computers better.  Much of that thought is dedicated to software, [...]]]></description>
			<content:encoded><![CDATA[<p>What would it take to change computers?  What would it take to build something truly revolutionary in a time where most of the design philosophy of a computer is taken for granted?</p>

<p>I spend an inordinate amount of time thinking about ways to make computers better.  Much of that thought is dedicated to software, but an equal amount of daydreaming is allocated to hardware.  In my mind, the two go together like peas and carrots, ying and yang.  A couple of years ago I wrote a college paper that talked about the UMPC market, which has now evolved into &#8220;<a href="http://en.wikipedia.org/wiki/Netbook">netbooks</a>&#8220;.  I couldn&#8217;t stand the UMPC interface or hardware, but something about the idea of a very small, very portable computer appealed to me.  Massive amounts of information, instantly available, wherever you are.  I took the ideas of tablet PCs and UMPCs and designed something I called the FarmDog.</p>

<p>FarmDog was a tablet PC with an OS that ran off of a removable flash drive.  The OS ran off of that drive, but all applications and user data resided on a hard drive, which was also removable.  The idea was that you could keep your OS and your data completely separate, and also make it very, very easy to back up your system.  Upgrading to a new operating system would involve buying a new chip from the store, shutting down the PC, putting in the new chip, and restarting the PC.  You could switch between OS&#8217;s whenever you like, so if one is giving you problems you could go back to a previous revision.</p>

<p>A second part of the FarmDog was the dock.  Normally, when you were running around with your PC, it acted as a tablet.  However, when you put FarmDog in the dock (vertically, I didn&#8217;t imagine it being docked as a widescreen.) you had the setup of a regular desktop computer.  Keyboard, mouse, etc&#8230;  the main difference with the FarmDog dock was the automatic drive duplication.  Now, we would probably want to implement something like Apple&#8217;s <a href="http://www.apple.com/macosx/features/timemachine.html">Time Machine</a>, but at the time, I was thinking of duplicating the entire data drive to an external disk every time the PC was docked.  This would keep a good backup of your applications and data, just in case.</p>

<p><img src="http://oszen.files.wordpress.com/2008/11/farmdog.png" alt="farmdog.png" border="0" width="880" height="588" /></p>

<p>As always, the hardware only tells half the story.  The other half of the FarmDog was the software.  I imagined at the time using the <a href="http://symphonyos.com/cms/">Symphony OS</a> and the <a href="http://en.wikipedia.org/wiki/Mezzo_(desktop_environment)">Mezzo</a> user interface, coupled with something like <a href="http://docs.blacktree.com/quicksilver/what_is_quicksilver">quicksilver</a> as the default way to interact with your computer.  Quicksilver has quite a learning curve, but once you get used to using it, you wonder how you ever used anything else.  The idea is simple, Use one interface to tell your computer what to do.  Launch an application, email a document, copy some files, upload photos to Flickr, etc, etc, etc&#8230; The quicksilver interface would undoubtedly take more steps to accomplish some tasks, but it would also take fewer steps to accomplish other tasks.  The goal, however, is to <em>standardize the interface for performing any task on the computer</em>.  Less options for possible action equates to <em>less confusion on the part of the user</em>.  I don&#8217;t think I would want to use the SymphonyOS anymore, now I think it would be worth it to focus on something like the <a href="http://www.skyos.org/">SkyOS</a>, of possibly even <a href="http://www.haiku-os.org/">Haiku</a>.  Something different, something new, something that is not a more bloated version of the software and hardware concepts we were using twenty years ago.</p>

<p>I believe that the secret to a great consumer computer is a tight bond <a href="http://www.apple.com/macbook/">between</a> software and hardware, coupled with great design in both.  Apple has this just about nailed with their new MacBooks, but I&#8217;m still left wondering, how could we build something better, something different.  I think FarmDog could be the start of something, I just wish I had the funds to build it.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/11" title="Build Something Better (December 19, 2008)">Build Something Better</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/296/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>End of an Era</title>
		<link>http://jonathanbuys.com/294</link>
		<comments>http://jonathanbuys.com/294#comments</comments>
		<pubDate>Tue, 28 Oct 2008 05:28:46 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[sad]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=149</guid>
		<description><![CDATA[The hard thing about keeping a job in the technology field is that it is constantly changing.  Just this past summer $WORK fired several mainframe workers who could not keep up.  They got stuck on one technology that they knew how to operate, and failed to evolve when the field did.  Now [...]]]></description>
			<content:encoded><![CDATA[<p>The hard thing about keeping a job in the technology field is that it is constantly changing.  Just this past summer $WORK fired several mainframe workers who could not keep up.  They got stuck on one technology that they knew how to operate, and failed to evolve when the field did.  Now I think its clear that another sector of the job market is on its way out, the one that I, and thousands of others occupy, the job title of systems administrator.</p>

<p>There are three technologies that I believe will bring a major change to the sysadmin field.</p>

<ol>
<li><p><a href="http://www.google.com/search?client=safari&amp;rls=en-us&amp;q=Virtual+Appliances&amp;ie=UTF-8&amp;oe=UTF-8">Virtual Appliances</a>.  Small, single-purpose virtual machines that provide a simple web interface to configure the hostname and IP address are called virtual appliances.  They are normally bundled to provide a specific service, like running a <a href="http://www.vmware.com/appliances/directory/782">Wordpress</a> install, which requires a web server, php, and a database.  Just a few years ago, building a LAMP stack to run this took at least a passing knowledge of the technology, but with a virtual appliance, no knowledge of the underlying applications or operating system is needed. The developers simply build the operating system the way they like and hide the complexity behind some clever web interface.  I do not believe it will be long before the application vendors themselves are selling their applications as virtual appliances.  IBM could sell DB2 and WebSphere appliances, Oracle could sell their own appliance for their database, maybe a SAP virtual appliance.  The idea is that the operating system will no longer be of consequence, thanks to the availability of Linux and other open source tools.  If the licensing issues with Linux becomes a problem, there&#8217;s always BSD.  With Darwin powering everything from hand held phones (iPhone) to powerful <a href="http://www.arc.vt.edu/arc/SystemX/">super computers</a> (Xserve), Darwin may well be the base of choice for building commercial virtual appliances.  Of course, if neither of those options work out, I&#8217;m sure Microsoft would be more than happy to license their OS&#8230; for a nominal fee, of course.  The point is, the OS will not matter any more.</p></li>
<li><p><a href="http://aws.amazon.com/ec2/">Amazon EC2</a>.  Cloud computing is a big buzz word these days, but I think the smart thing to do is to stay away from the buzz word and take a look at the technology behind it.  As it turns out, the virtual appliances I mention above are only half the story.  The other half is, and always will be, hardware.  If you need hardware, you need someone to take care of the hardware, and therefore, you need a sysadmin.  However, with Amazon&#8217;s Elastic Cloud Computing (EC2), a small to medium sized business no longer needs to invest thousands in infrastructure to build a world class data center.  They simply use Amazon&#8217;s data center, and pay for what they use.  Amazon has put a lot of thought, time, and money into their data center, more than any but the largest of businesses.  What they  are building is disruptive technology, and the traditional datacenter is being displaced.  I wonder how long it will be before someone starts offering small to medium sized businesses the option to run their entire data center on Amazon EC2, with virtual appliances running in the background supplying the desired services.  I also wonder how long after that business starts that it will explode.</p></li>
<li><p><a href="http://code.google.com/appengine/">Google App Engine</a>.  The App Engine is a little different from the combination of EC2 and virtual appliances, but still just as disruptive.  Imagine a business offering a particular service over the Internet, they want to be able to scale when needed, and they want very little cost at the beginning.  If they write their application in python, they have it made.  The App Engine will host the application on Google&#8217;s infrastructure, giving it the speed, redundancy, and ability to scale that it needs to compete.  With the App Engine, the college student in his dorm has just as much ability to build the next great thing as the multi-billion dollar business investing hundreds of thousands into its own infrastructure.  Any web accessible service could be written in the App Engine, and be instantly available to scale as needed.  This means that the company only needs programmers&#8230; no hardware, no operating systems, no fault tolerant highly available network infrastructure&#8230; not even a few web pages to set up IP addresses. No need for a sysadmin at all.</p></li>
</ol>

<p>Many of the issues that companies have with the technology mentioned above now has to do with trust.  I think that over the course of the next five to ten years, the technology will mature, and the trust will be earned.  For a business, hooking up their infrastructure will come as easy as filling out a form online saying what they want.  It will come as second nature as hooking up phones and Internet access.  I think everything could come as a virtual appliance.  From common needs like email and file sharing to more complex needs like Content Management On-Demand&#8230; everything could be run from a virtual appliance.  The vendor installs the OS, makes sure it is configured just right, installs the application, does the same for it, packages it up, and makes millions.</p>

<p>This makes the career field of systems administrator much smaller, but it also opens up new opportunities in designing these appliances and being a part of the transformation.  I see a new field emerging for virtual appliance designers and integrators, a field that could operate more like independent software vendors do now.  I&#8217;m considering it myself.  Of course, I still have a <a href="http://oszen.net/2008/10/changes-in-zen/">book to write</a>, and possible <a href="http://oszen.net/2008/10/grad-school-is-not-so-expensive/">grad school</a> to go to, and a family to raise, but hey&#8230; life is short!</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/9" title="Account Pruning (December 19, 2008)">Account Pruning</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/294/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Grad School is (not so) Expensive</title>
		<link>http://jonathanbuys.com/293</link>
		<comments>http://jonathanbuys.com/293#comments</comments>
		<pubDate>Mon, 27 Oct 2008 13:36:19 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=147</guid>
		<description><![CDATA[I&#8217;ve been looking into going to grad school again, mainly because I just can&#8217;t sit still.  All I can say is holy crap is grad school expensive!  Since I live close to Ames I&#8217;ve been looking at Iowa State, and since I still have to work full time I&#8217;ve been looking at their [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking into going to grad school again, mainly because I just can&#8217;t sit still.  All I can say is holy crap is grad school expensive!  Since I live close to Ames I&#8217;ve been looking at <a href="http://www.iastate.edu/">Iowa State</a>, and since I still have to work full time I&#8217;ve been looking at their nights and weekend courses, and their distance education.  Two programs in particular I&#8217;ve been looking at are the Master of Science in Information Systems and the <a href="http://www.hci.iastate.edu/prospstud.php?menu=left">Master of Science in Human Computer Interaction</a>.</p>

<p>Of the two, HCI (Human Computer Interaction) is much more appealing to me.  I&#8217;ve been looking at system usability in operating systems for years, and it seems a natural progression to my existing knowledge base.  The entire program is offered online, so I can take it at home, at night, and not have to worry about the schedule with the family.  Also&#8230; there is an option to pursue a PhD in the field.  Professor Buys indeed.</p>

<p>This all sounds great, until you look at the cost.  Three are three separate fees for enrolling in the HCI Masters program.  Regular tuition is $359/credit hour.  In addition, there is a &#8220;distance education fee&#8221; which is $190/credit hour.  Last, there is the computer fee, which is either $67.50 or $90.  I really wonder how they come up with the $67.50 number, but anyway.  Iowa State&#8217;s estimates that the cost of a graduate student enrolled in a 3 credit course for one semester would be $1692.00.  The HCI Masters program requires 30 credits.  That&#8217;s $16,470.  If I were to carry on with the PhD somehow&#8230; well, that requires 70 credits, but you can&#8217;t take it online, and the cost would come out to be an additional $14,360.</p>

<p>Well&#8230; to be honest, that doesn&#8217;t sound that bad after all.  Maybe it&#8217;s about time to take the <a href="www.ets.org/gre">GRE</a>.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/279" title="On Graduation Day (September 10, 2008)">On Graduation Day</a> (2)</li>
	<li><a href="http://jonathanbuys.com/281" title="Moving to Ubuntu: F-Spot (September 16, 2008)">Moving to Ubuntu: F-Spot</a> (2)</li>
	<li><a href="http://jonathanbuys.com/colophon" title="Colophon (December 24, 2008)">Colophon</a> (0)</li>
	<li><a href="http://jonathanbuys.com/459" title="Tough to Turn Down (March 22, 2009)">Tough to Turn Down</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/293/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Writing and Mail Annoyances</title>
		<link>http://jonathanbuys.com/290</link>
		<comments>http://jonathanbuys.com/290#comments</comments>
		<pubDate>Fri, 17 Oct 2008 14:21:49 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[rules]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[spotlight]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=140</guid>
		<description><![CDATA[I ran into yet another snag trying to write a software review for some Windows antivirus software last night.  I have XP loaded in a VirtualBox VM to test software for the reviews.  I thought it&#8217;d be a pretty good set up, test each piece of software in its own clean environment, then [...]]]></description>
			<content:encoded><![CDATA[<p>I ran into yet another snag trying to write a software review for some Windows antivirus software last night.  I have XP loaded in a VirtualBox VM to test software for the reviews.  I thought it&#8217;d be a pretty good set up, test each piece of software in its own clean environment, then delete the VM when I&#8217;m finished.  Unfortunately, since I loaded the anti-virus software, the entire VM screen goes blank as soon as I boot up.  I can&#8217;t see or do anything.</p>

<div style="text-align:center;"><img src="http://oszen.net/wp-content/uploads/kaperski-review-vm-running-sun-xvm-virtualbox-1.jpg" alt="Kaperski Review VM [Running] - Sun xVM VirtualBox-1.jpg" border="0" width="606" height="506" /></div>

<p>I&#8217;m not sure what the software did, but I&#8217;m really disappointed with both VirtualBox for allowing it and the software in question for causing it.  This delays my review yet again.  I&#8217;ll have to load the software on the kids PC and do the review from there.  Certainly not ideal, but it will have to do.</p>

<p>On another note, I&#8217;ve been going back and forth between using Gmail and Mail.app as my primary mail client, and I&#8217;ve finally decided on a decent solution: both!  I&#8217;ll use Gmail at work, and then pop the mail down to Mail.app at home.  I&#8217;ve done it in the past, and it works really well.  One of the things that caused me to stop using this combination in the past was that I didn&#8217;t want to maintain two separate mail filtering rules for tagging the mail and storing it away.  That would mean that I&#8217;d have to duplicate the Gmail tags in Mail.app, and that seemed far too cumbersome to worry about.  Last night, I came up with a solution: I don&#8217;t really care about organizing my email, I only care about keeping it stored in a way that seems logical and sustainable.  So, while Gmail takes care of storing the email for me, Mail.app will, by default, keep everything in one folder on the hard drive.  That&#8217;s probably fine, but I&#8217;ve got like 14,000 emails and I don&#8217;t really want all of that in one physical location.  So, what I&#8217;ve come up with is to separate the email by date:</p>

<p>
<img src="http://oszen.net/wp-content/uploads/inbox.jpg" alt="Inbox.jpg" border="0" width="121" height="280" align="left" /></p>

<p>This works great, especially because now I can simply use the power of spotlight to search through the mail to find what I want, and create smart folders to do any organizing that I want with the mail.  The other great thing about it is that I get all the web goodness of gmail at work, and all the desktop integration of Mail at home.  It&#8217;s a question of the right tool for the right environment.  Gmail as a web app just doesn&#8217;t seem right on my Mac, but using a desktop client for Gmail just doesn&#8217;t seem right at work, so this is a great combination.</p>

<p>I did try to use the Gmail IMAP implementation, but that didn&#8217;t work out well.  I&#8217;ve got filters in Gmail that automatically label and archive some incoming mail.  When that happens, you get the same message in multiple places in Mail, and it turns up as two or three unread messages.  That annoyed me to no end, and so it had to go.</p>

<p>Oh, and writing is coming along nicely, so I thought I&#8217;d leave you today with a sample of dialogue I was working on this morning.  It&#8217;s all still very much a work in progress, (can you call a story &#8220;beta&#8221;?) but here you go anyway.</p>

<p>Jason pulled up in front of the Casey’s General Store and noticed two things instantly: there were no cars and there were no lights.  Casey’s was closed, which was bad for 7 am when the normally open at 5.  Jason noticed a young man with tattoos on both his arms wearing one of the Casey’s colored shirts sitting on the sidewalk on the other side of the store.</p>

<p>“Hey, ah&#8230; how’s it going?”</p>

<p>The tattooed man just turned and looked at Jason.</p>

<p>“I’m out of gas, can you open the store?”  Jason asked.</p>

<p>“There is no gas.”  The man replied.</p>

<p>No gas, at a gas station?  Jason thought, that hasn&#8217;t happened anywhere since the ‘70s.</p>

<p>“What do you mean?”  Jason asked.</p>

<p>“I mean, there’s no damn gas.  None.  Anywhere.  In the entire damn town.  That’s what I mean.”</p>

<p>“How the hell could that happen?”</p>

<p>“How the hell should I know?  I just work here.  Look, the tanker was here two days ago and filled us up, there should have been gas for at least another week, but it’s gone, and since you’re riding your bike up here, I take it your gas is gone from your car too, just like mine was this morning.”</p>

<p>Jason sat down on the sidewalk next to the tattooed man.  Jason watched as he took out a cigarette and his lighter, flicked the lighter a few times, shook it, flicked it again, nothing.  He threw the lighter towards the big metal trash bin on the side of the parking lot.</p>

<p>“Shit!”  He said.</p>

<p>Jason noticed his name tag said his name was Tim.  Tim, looking up suddenly, reached in his back pocket and pulled out a pack of matches.  Tim lit one of the matches, and from there, his cigarette.</p>

<p>“I don’t understand what’s going on here.”  Jason said.</p>

<p>“There’s no gas, anywhere in town.”  Tim replied</p>

<p>“Yea, OK, I understand that point&#8230; but why?”</p>

<p>“I was thinking this morning that someone came and siphoned the tank in my truck.”  Tim said</p>

<p>“I thought that too.”</p>

<p>“Then after I walked over here I found that none of the Casey’s tanks had any gas in them.  There’s meters in the store for it, and even if they break, which they sometimes do because they’re crap, you can drop the plumb bob into the tank itself to get the level.  So&#8230; that’s what I did, but the plumb bob dropped clean down to the bottom and never touched gas.  The tanks are completely empty, and not just that, there’s no smell to ‘em, you can’t smell the gas as the bottom&#8230; its like there was never any gas in there to begin with.  So you tell me&#8230; how the hell does that happen?”</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/290/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poor Web Apps</title>
		<link>http://jonathanbuys.com/289</link>
		<comments>http://jonathanbuys.com/289#comments</comments>
		<pubDate>Thu, 16 Oct 2008 18:20:37 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=136</guid>
		<description><![CDATA[I just spent the past 10 minutes trying to get this article I wrote for BrightHub posted using their online writers application.  I&#8217;m not sure what language they are using, or what platform the site is running on, but I tried Chrome, Firefox, and finally, out of desperation, Internet Explorer 7, all with the same [...]]]></description>
			<content:encoded><![CDATA[<p>I just spent the past 10 minutes trying to get this article I wrote for BrightHub posted using their online writers application.  I&#8217;m not sure what language they are using, or what platform the site is running on, but I tried Chrome, Firefox, and finally, out of desperation, Internet Explorer 7, all with the same results.  Almost every time I would try to preview the article before submitting it, the application would wipe out everything I just typed.  Everything.</p>

<p>That means that I&#8217;d have to copy and paste the article into the app again, and screw around with formatting and making sure the links were there.  When the app did not wipe everything out when I previewed it, it would wipe it out when I tried to add meta information or assign it to a category.  </p>

<p>This was driving me nuts.  Thankfully I had pasted the article into Gmail before hand to spell check it properly.  So, Gmail automatically saved the article as a draft and it was very easy to copy it back out of there and back into BrightHub.</p>

<p>I know that they are probably making improvements all the time to the system, but I certainly hope that I don&#8217;t run into this particular bug again.  Good grief&#8230; move to wordpress.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/9" title="Account Pruning (December 19, 2008)">Account Pruning</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/289/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Apple Hardware</title>
		<link>http://jonathanbuys.com/134</link>
		<comments>http://jonathanbuys.com/134#comments</comments>
		<pubDate>Wed, 15 Oct 2008 03:51:17 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=134</guid>
		<description><![CDATA[There&#8217;s a lot to think about in the new MacBook line.  The aluminum MacBooks are unquestionably what I wanted in the white MacBook that I have now: sturdy construction, fast graphics, and a sleek powerbook look to them.  Apple has further blurred the line between their professional and consumer line, something they started [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a lot to think about in the new MacBook line.  The aluminum MacBooks are unquestionably what I wanted in the white MacBook that I have now: sturdy construction, fast graphics, and a sleek powerbook look to them.  Apple has further blurred the line between their professional and consumer line, something they started with the aluminum iMac, continued with the MacBook Air, and now have completed with the MacBook.</p>

<div style="text-align:center;"><img src="http://oszen.net/wp-content/uploads/whichmacbook-macbook20081014.jpg" alt="whichmacbook_macbook20081014.jpg" border="0" width="510" height="310" /></div>

<p>Wow, nothing makes me want to max out my credit card like a Stevenote with some really great stuff.</p>

<p>The one thing that I would say I question about the new MacBook line is the glass trackpad.  Apple has finally gotten rid of their one-button mouse&#8230; now there is no mouse at all!  There is no button to press for either right or left click.  Now, the entire trackpad is a button, and you can use multi-touch gestures and press down on the trackpad to click.  I told my wife about this, she rolled her eyes and walked off.  She, my ideal &#8220;everyuser&#8221;, decided to get a PC last month, and the lack of two buttons on the current MacBooks was one of the reasons.  I believe that will take some getting used to.</p>

<p>It is interesting to note that Apple, after pioneering the mouse and the GUI back in the 80&#8217;s is now pioneering moving away from the mouse by integrating multi-touch devices into their product line.  I wonder how long it will be till they release a multi-touch USB trackpad for their desktop line.</p>

<p>Well, I could blather on about this all night, but I&#8217;ve got work to do&#8230;</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/13" title="System P (December 19, 2008)">System P</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/271" title="Linux is not for MacBooks (April 10, 2008)">Linux is not for MacBooks</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/134/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changes in Zen</title>
		<link>http://jonathanbuys.com/288</link>
		<comments>http://jonathanbuys.com/288#comments</comments>
		<pubDate>Mon, 13 Oct 2008 05:47:10 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[montana]]></category>
		<category><![CDATA[mountains]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=113</guid>
		<description><![CDATA[Up until my post about graduating from college, my writing online has been almost entirely technical.  Over the years I&#8217;ve gone from writing and developing content online with the intent of making a living off of it, to writing because its something that I enjoy doing, and something that I believe I need more [...]]]></description>
			<content:encoded><![CDATA[<p>Up until my post about <a href="http://oszen.net/2008/09/on-graduation-day/">graduating from college</a>, my writing online has been almost entirely technical.  Over the years I&#8217;ve gone from writing and developing content online with the intent of making a living off of it, to writing because its something that I enjoy doing, and something that I believe I need more practice at.  In the past couple of weeks, I&#8217;ve even dipped my foot into the &#8220;freelance&#8221; writing field by making an agreement with <a href="http://www.brighthub.com/computing/smb-security/articles/9984.aspx">BrighHub</a> and <a href="http://theappleblog.com/">The Apple Blog</a> to be paid for writing content.  This is great, and I&#8217;m hoping to be able to afford an iPhone out of it, but it doesn&#8217;t solve my real dilemma, it doesn&#8217;t solve the reason that I&#8217;m here typing these words out.</p>

<p>So, I have to ask myself, why am I maintaining this blog?  One answer is that I&#8217;m a naturally creative person and I really need an outlet for my creativity.  Another answer is that with this new economy we live in, its good to have an online presence, something that your potential employers can look at to get an idea of who you are.  I&#8217;ve even read that <a href="http://www.darowski.com/tracesofinspiration/2007/03/06/the-blog-is-the-new-resume/">blogs are the new resumes</a>, although I wouldn&#8217;t go that far just yet.  The main reason I&#8217;m maintaining OSZen is to practice structured creative discipline.  To create content, to move things out of your head and into the computer takes effort, and the more you practice it, the better you become at it.</p>

<p>So&#8230; why am I concerned with becoming a better writer?  After all, I&#8217;m a systems administrator, and the most writing I need to do at $work is the occasional email relaying plans or documentation back and forth between co-workers or my boss.</p>

<p>I want to be a better writer because I&#8217;m writing a book.</p>

<p>Getting it out in the open like that makes a gigantic difference in how concrete and formal my plans are.  My goal is to be a published and wildly successful author.  Why aim so high?  Well&#8230; if you are going to do something, and you are going to put your heart and soul into it, you might as well shoot for the moon!</p>

<p>I&#8217;m fairly happy with my job.  The people I work with are all great, my boss is very easy going, and the work is intellectually challenging.  However, during down time at work, and often at home, I find myself longing for the mountains, lakes, and rivers of my home in <a href="http://www.gonorthwest.com/montana/northwest/flathead/Flathead-Lake.htm">Montana</a>.  During those times I look at what I have here and wonder if there&#8217;s a way to improve it.  I&#8217;ve got a 40 minute commute, each way, and with traffic and occasional stops for gas or groceries I wind up spending around an hour and a half on the road every day.  Work is good, but I work in a cubicle, and I really just do not like cubicles.  I&#8217;d really like to work from home.  Unfortunately, we don&#8217;t really have the option to work from home, not just yet anyway, so when the work dies down and I start daydreaming, I begin imagining ways that I&#8217;d be able to make a living without the commute and the cubicle.</p>

<p>I&#8217;m a planner, it&#8217;s just something that I do, I make plans.  Sometimes I make short term plans, and many times I make long term plans.  In this case, I&#8217;m making a long term plan.  I&#8217;ve identified something in my life that I desire to be different than it is, so I&#8217;m making a plan to change it.  One of the steps in this plan was to identify things that I&#8217;m good at, that I enjoy doing, and that possibly I could base a career off of.  Writing a book is on my list of things to do before I die, and it meets all three criteria.  Months ago, I was talking this decision over with my Mom back in Montana, and told her that I was thinking about either writing or <a href="http://oszen.net/2008/06/learning-to-fly/">programming</a>.  I tried programming, and it <a href="http://oszen.net/2008/09/goodbye-cocoa/">didn&#8217;t quite turn out</a> the way I would have liked it to.  I think part of me knew all along that I would return to writing.</p>

<p>This post cracks a big roadblock for me.  One that was preventing me from posting here as often as I would have liked.  I wanted to focus this blog strictly on technology&#8230; Macs, Linux, and Windows.  Computer operating systems, to be exact.  However, I think that the blog has evolved with me, and with this post I&#8217;m giving myself permission to post whatever I feel like writing here.  How very liberating.  I might even move this over to a new URL.  Hey, it worked for <a href="http://whatever.scalzi.com/2008/10/12/to-wallow-in-obscurity/">Scalzi</a>!</p>

<p>I&#8217;ll be around a lot more often now.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/294" title="End of an Era (October 27, 2008)">End of an Era</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/288/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System P</title>
		<link>http://jonathanbuys.com/285</link>
		<comments>http://jonathanbuys.com/285#comments</comments>
		<pubDate>Thu, 09 Oct 2008 14:05:21 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[aix]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[eating]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=101</guid>
		<description><![CDATA[The more I learn about IBM&#8217;s P-Series UNIX systems, the more impressed I am.  I&#8217;ve been a very harsh critic of them in the past, but that may have just been my ignorance of the platform.  The P is, no doubt, expensive&#8230; however, when you look at what it can do, and at [...]]]></description>
			<content:encoded><![CDATA[<p>The more I learn about IBM&#8217;s P-Series UNIX systems, the more impressed I am.  I&#8217;ve been a very harsh critic of them in the past, but that may have just been my ignorance of the platform.  The P is, no doubt, expensive&#8230; however, when you look at what it can do, and at how many x86 systems you&#8217;d need to do the same thing, the P begins to justify its cost.</p>

<p>As an example, we are looking at building a new web hosting environment off of WebSphere.  To accomplish this, we are looking at four database servers (DB2), and between six and eight application servers.  The total cost for the project, not including the F5 switch, I&#8217;d imagine to be somewhere around $100,000.  With that money, we could purchase one P-Series that would do everything we need one one box.  That equates to less cabling, less administration, less network overhead, and a smaller footprint for the PCI auditors.  One box, maybe four Logical Partitions (LPARs), and that&#8217;s it.</p>

<p>AIX, IBM&#8217;s version of UNIX, is another big win for the P-Series.  Creating a <a href="http://publib.boulder.ibm.com/infocenter/clresctr/vxrx/index.jsp?topic=/com.ibm.cluster.csm16010.install.doc/am7il_mksysb.html">mksysb</a> creates a bootable DVD clone from a running system.  So, you can clone an LPAR and install it along with all the applications you have installed on a new P-Series.  Very impressive, and I wish more systems had this feature built in.  AIX has is peculiarities.  SMITTY, the administration interface, is confusing and difficult to navigate, and expanding a logical volume on the fly requires more steps than I think should be necessary.  Many of the shortcomings of AIX can be solved by installing the AIX Toolbox for Linux, which includes a lot of the basic Linux tools compiled for AIX.  Like bash&#8230; I can&#8217;t live without my tab-completion and vi keyboard bindings!  On the whole, AIX is an extremely stable operating system.  Configuration is more complex than other systems, but once it&#8217;s set up, you can let it run for years without intervention.</p>

<p>I&#8217;ll be getting more in-depth with the a P550, P561, P570, and one more I&#8217;m not sure of the model number of.  The next couple of months should be interesting.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/264" title="Shackles and Chains (February 17, 2008)">Shackles and Chains</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/13" title="System P (December 19, 2008)">System P</a> (0)</li>
	<li><a href="http://jonathanbuys.com/600" title="Regarding OS Zealotry (July 9, 2009)">Regarding OS Zealotry</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/285/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goodbye Cocoa</title>
		<link>http://jonathanbuys.com/283</link>
		<comments>http://jonathanbuys.com/283#comments</comments>
		<pubDate>Sat, 20 Sep 2008 06:00:24 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[cocoaheads]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[navy]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=97</guid>
		<description><![CDATA[Some times, things come easy to me.  I&#8217;d like to think that I&#8217;m somewhat blessed in that way, especially when it comes to various forms of technology.  Back in the Navy, I found I had a knack for telecommunications, and I found that I could grasp the flow of the circuits through various [...]]]></description>
			<content:encoded><![CDATA[<p>Some times, things come easy to me.  I&#8217;d like to think that I&#8217;m somewhat blessed in that way, especially when it comes to various forms of technology.  Back in the Navy, I found I had a knack for telecommunications, and I found that I could grasp the flow of the circuits through various media easily.  I nurtured this technological edge, and turned it into a career as a systems administrator.  It meant lots of long nights and many mistakes along the way, but it was fun, I enjoyed it.  Like I said, some things come easy&#8230; but some things just don&#8217;t.  For example, I have no mental capacity for sports.  I enjoy playing every now and again, but I can&#8217;t keep track of who&#8217;s who and what&#8217;s what in this professional team or that college team.  It just doesn&#8217;t come easy to me.</p>

<p>Four months ago I decided to learn how to program using the Cocoa language and XCode development environment on the Mac.  I dived in, buying the preeminent book on the subject, Hillegass&#8217; <a href="http://www.amazon.com/exec/obidos/ASIN/0321503619/bignerdranch-20">Cocoa Programming</a>, and poured through each page, and completed every challenge before moving forward.  I even <a href="http://twitter.com/ibuys">tweeted</a> my progress.  I would get up at 5AM and program for an hour before having to get ready for work.  Then, at night, when the kids were in bed, I&#8217;d go back and program for at least another hour, mostly more like two or three.  I <em>really</em> wanted to be good at it.  For a while, I thought I was going to be.  I finished the book, and started on the &#8220;Chapter 35 Challenge&#8221;, which, in a nutshell, is to develop an application and let someone else use it.  I had an application in mind, I had drawn out everything that I wanted it to do, I had each panel, sheet, and window planned out.  It was going to be a core data application for managing servers, kind of a <a href="http://www.nagios.org/">nagios</a>, <a href="http://www.webmin.com/">webmin</a>, and <a href="http://www.cfengine.org/">cfengine</a> all rolled into one.  It was ambitious, but, I reasoned, attainable.  It turns out that I was wrong.</p>

<p>Programming in any language is both a learned skill and an art form.  Over the years I&#8217;ve become fairly good with shell scripts, and can automate a Linux or UNIX box to get it to reliably perform how I want.  This skill with shell scripting was not so much something I set out to learn like I did with Cocoa, but it was something that I&#8217;ve acquired over time.  Cocoa, I have found, is similar.  After finishing the Hillegass book, you can indeed create an application in Xcode&#8230; but, for it to be of any use, or for it to be good, you need lots and lots of time.  I&#8217;m talking years.  Now that I&#8217;m a family man with a job, a mortgage, and kids&#8230; I just don&#8217;t have the time necessary to dedicate to learning how to program, or I should say that I cannot give the craft the attention that it deserves.</p>

<p>Having delved into programming, I can say that I found new respect for developers.  The time and attention that it takes to create a quality application is monumental.  Looking at <a href="http://www.red-sweater.com/marsedit/">MarsEdit</a> now, I can recognize an NSTable there, and a NSTextField here, and I can almost see how the application is put together.  However, under the gloss of the Apple provided interface objects, the code that it takes to get this wonderful application to do what it does takes the time and patience of a zen master to produce.  Every function, every button, every menu item&#8230; how the app posts my writing to the web&#8230; everything must be carefully thought out.  Well done.. programmers certainly are a different breed.</p>

<p>It seems that programmers are also all too aware of how different they are.  I went to a local <a href="http://cocoaheads.org/">CocoaHeads</a> meeting, hoping to find some help with my application.  Unfortunately, it seems I misinterpreted the purpose of the meetings, and I was told in no uncertain terms that, were I to ask a documented question, I would be told to &#8220;Go read the f*&amp;^%^&amp; documentation&#8221;.  I did try anyway, but I didn&#8217;t get very far.  Now don&#8217;t get me wrong, the CocoaHeads were all very personable and approachable, but they are not going to help you write any code.  They simply want you to learn the same way that they did&#8230; slowly, over time, and possibly a four year degree in computer science.  If you already know how to program in one language or another, and I&#8217;m not talking scripting languages, then the CocoaHeads might be for you.  If you are learning, like I was, then my suggestion would be to either stay home and read some more, or to go to a meeting with no expectations, and simply take in what is presented.</p>

<p>I should mention that the attitude at the CocoaHeads meeting mirrors many mailing lists.  It&#8217;s not uncommon at all.</p>

<p>The CocoaHeads meeting was a real turning point for me.  It was the first time since I started that I grasped the immensity of the task I was undertaking.  I found myself taking stock again, and looking at what was important to me, looking at what I enjoyed doing.  One thing I enjoy doing is writing, and that suffered during my personal summer of code.  Looking at how much I did not write over the summer, and how much more time I would have to spend to acquire some small level of competency in Cocoa programming, I made the decision to return to writing.  I gave it my best shot, I spent four months working on code night and day, but it seems like programming for me is much like sports.  I can follow along, but I really don&#8217;t have the mind for it.</p>

<p>I&#8217;m glad that I spent the time to learn what I have, and I feel that I&#8217;m a better person for it.  If I had not tried programming, I would always have wondered, but now, having tried it, I can say with certainty that it is not for me.  At least, not right now anyway.  I may, at some point in time, fire up Xcode again&#8230; I do have a couple of books on the subject.  For right now however, I think those books will fit comfortably on the shelf.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/574" title="Servers (June 12, 2009)">Servers</a> (1)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/283/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Development Environments and Software Quality</title>
		<link>http://jonathanbuys.com/282</link>
		<comments>http://jonathanbuys.com/282#comments</comments>
		<pubDate>Wed, 17 Sep 2008 06:21:22 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=95</guid>
		<description><![CDATA[In OS X, there is a small collection of very high quality software.  This is a fact, and there is really no debating it.  Mac software that was developed specificly for the Mac is generally  well crafted and performs as advertised, every time.  In compairison, in Linux, there is a very [...]]]></description>
			<content:encoded><![CDATA[<p>In OS X, there is a small collection of very high quality software.  This is a fact, and there is really no debating it.  Mac software that was developed specificly for the Mac is generally  well crafted and performs as advertised, every time.  In compairison, in Linux, there is a very large collection of freely available software of varying quality.  Some of it is outstanding, check my last post on F-Spot for an example, and some of it leaves much to be desired.</p>

<p>I&#8217;ve found two genras of software that I&#8217;d become accustomed to on OS X that are either not available in Linux, or the existing versions are simply not &#8220;up to par&#8221;.  The first group is that of off-line blog editors.  I&#8217;ve been writing online since 2000 or so, and I&#8217;ve used several different methods of getting what I wanted to say onto a web server, everything from typing up my own html to online wisiwig text editors like what is included in Wordpress.  However, since purchasing my first Mac a few years ago I&#8217;ve been spoiled by off-line editors like Ecto and the excellent MarsEdit.  In compairison, I&#8217;m typing this up now in Drivel on Linux.  First off, I really dispise that name.  Why would I want to call what I type drivel?  Besides that, the editor is simply not as functional as MarsEdit, and I can&#8217;t seem to find any blog editor for Linux that is.  From what I can tell, my best bets are Drivel, which is very &#8220;bare bones&#8221;; scribefire, a firefox extention that seems out of place to me; or an even more simple editor that lives in the toolbar.  Don&#8217;t get me wrong, I&#8217;m grateful to the developers who make these tools available, but they are simply no match for MarsEdit.</p>

<p>The second genra of software is that of information gathering software.  I&#8217;ve grown very accustomed to Yojimbo since it came out, and Evernote looks very nice too.  Before that I used StickyBrain from Chronos, and there&#8217;s also Circus Ponie&#8217;s Notebook which is also excellent.  Thre are plenty of tools available on the Mac to make managing your information easier.  All of the software mentioned above allows you to add text, pictures, pdfs, and even music or video files.  Each of the apps listed above goes for around $50 per license, and works beautifully.  From my standpoint, they are well worth the investment for the time that they save me.  So, I was quite surprised to find that similar software for Linux is just not available.  When I asked, I was pointed towards BasKet, which looks promising, but is a KDE app, and I&#8217;m a gnome user.  Then Tomboy, which is a great note taker and list manager, but not an all inclusive information “digital junk drawer” like Yojimbo. Then several desktop wiki type applications that still didn&#8217;t seem to fit the bill just right for what I&#8217;m looking for.  It doesn&#8217;t look like there is any way for applications to handle media file types in Linux, something that Cocoa takes care of in Mac development.</p>

<p>So, why not?  Where are these missing applications that thrive on OS X?</p>

<p>I&#8217;m tempted to say that the answer lies somewhere in the licensing restrictions of Linux with regard to the GPL, open source, etc&#8230; but I don&#8217;t think that&#8217;s it.  I think it has more to do with the fact that the development environment in Linux simply doesn&#8217;t support the simple drag and drop of mulimedia the same way that Cocao does on the Mac.  The Linux developers do a great job with what they&#8217;ve got, but  “what they&#8217;ve got” is a mixture of C, C++, Mono, Python, PyGTK, etc, and it is no where near as clean and mature an environment as OS X.  Mozilla and Firefox have proven that open source software can be just as high quality as any commercial software, so why hasn&#8217;t these types of applications appeared yet on Linux?</p>

<p>The answer, after pondering it awhile, seems obvious.  The platoform simply isn&#8217;t ready for it yet.  Linux on the desktop is just now getting to the point where the average user can depend on it for day to day use, where Macs have been on people&#8217;s desks since the 80s.  Linux simply isn&#8217;t mature enough to warrant the userbase that is going to demand the type of high quality, flexable software that I&#8217;m talking about.</p>

<p>Linux grows by leaps and bounds, year after year, so I&#8217;m certain that Linux&#8217;s final, mature state is not too far out in the future.  When it does arrive, I wonder if there will be a market for high quality commercial software like there is on the Mac, or if it will continue to be completely open source and free.  Time will tell, I suppose, and it&#8217;s too early to say just yet.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/574" title="Servers (June 12, 2009)">Servers</a> (1)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/31" title="How to Fix Linux (December 24, 2008)">How to Fix Linux</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/282/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving to Ubuntu: F-Spot</title>
		<link>http://jonathanbuys.com/281</link>
		<comments>http://jonathanbuys.com/281#comments</comments>
		<pubDate>Tue, 16 Sep 2008 14:03:02 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[organize]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=90</guid>
		<description><![CDATA[I mentioned in my last post that I was giving up my MacBook so my wife could go to college, and (until I can justify the cost of another Mac) that leaves me with her Linux PC.  After the first few days of using Linux at home,as opposed to managing Linux servers at work, [...]]]></description>
			<content:encoded><![CDATA[<p>I mentioned in my last post that I was giving up my MacBook so my wife could go to college, and (until I can justify the cost of another Mac) that leaves me with her Linux PC.  After the first few days of using Linux at home,as opposed to managing Linux servers at work, here are my initial impressions.</p>

<p>My wife&#8217;s PC is a gigantic Acer laptop, with a 1.6 Ghz centrino processor and a one gig of RAM.  Hooked up to my external monitor, keyboard, and mouse, the PC runs Ubuntu surprisingly well.  I can&#8217;t enable the desktop effects, but since Gnome has built in <a href="http://library.gnome.org/misc/release-notes/2.22/#sect:metacity">compositing</a> support now that&#8217;s not a problem.  The install went smooth, all the hardware was properly detected, wireless, sound, monitors&#8230; everything worked.</p>

<p>So far, my favorite application in Ubuntu is <a href="http://f-spot.org/Main_Page">F-Spot</a>.  F-Spot is the Gnome desktop&#8217;s answer to iPhoto in OS X, and in a lot of ways, I think F-Spot has iPhoto beat on some very basic levels.  Over the years my iPhoto library has grown to thousands of photographs.  Pictures of the kids, our travels, friends, family, nature, and other random things.  Unfortunatly, I have never been all that good at organizing the pictures so they were easy to find.  F-Spot uses a tag-based system to organize your library, allowing you to tag a photo multiple times simply by dragging the photo, or a group of photos, to the tag on the left hand side of the screen.  This is great.  It&#8217;s super easy (and fun!) to create a tag for ever member of the family, and then drag photos over to those tags.  For example, if a photo has a picture of me and my wife, I&#8217;ll drag it to the &#8220;Me&#8221; tag, and then over to the &#8220;Wife&#8217;s Name&#8221; tag.  Its surprising how fast you can do this.  Each tag is given a picture, and tags can be nested under other tags.</p>

<p>When compared to iPhoto&#8217;s forced &#8220;Events&#8221; organizing system, F-Spot wins hands down.  I was never too fond of the Events system in iPhoto, and felt it an awkward way to group photographs, especially since I would take photos of events, like a trip to the in-laws, over multiple days, which iPhoto would assume were multiple events.  It never melded with my mental flow or organization, not the way F-Spot&#8217;s tags do anyway.    iPhoto does support tagging, but not in the same way as F-Spot, and it just doesn&#8217;t seem to <em>flow</em> as well either.</p>

<p>Metadata is read by F-Spot, and the photos are automatically placed in a scrolling timeline at the top of the window.  The timeline gives you a graph of how many pictures were taken at any given time period, and it easy to scroll through.  Also, Gnome recognized my digital camera (a Kodak Z712 IS), and asked if I&#8217;d like for F-Spot to automatically import photos from it when I plugged it in.</p>

<p>After thinking about it, I realize that this is a first for me.  Here&#8217;s a Linux application that edges out an Apple application in usability.  Apple prides itself in ease of use and intuative interfaces, but I&#8217;d like to see a few features removed from iPhoto and a simpler tagging system (or keywords, if you must) put in place to organize our ever growing digital libraries.  One more note, F-Spot doesn&#8217;t do movies of any kind, I&#8217;m still looking for an application to handle that.  I haven&#8217;t delved too deeply into photo editing with F-Spot, I&#8217;m not sure I really want to.  The &#8220;remove red-eye&#8221; feature works as advertised, but that&#8217;s as far as I&#8217;ve gone so far.</p>

<p>Overall, I&#8217;ve really liked what I&#8217;ve seen with F-Spot, and I&#8217;m looking forward to learning more about the applications capabilities.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/280" title="Ubuntu Scanning (September 15, 2008)">Ubuntu Scanning</a> (0)</li>
	<li><a href="http://jonathanbuys.com/459" title="Tough to Turn Down (March 22, 2009)">Tough to Turn Down</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/281/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ubuntu Scanning</title>
		<link>http://jonathanbuys.com/280</link>
		<comments>http://jonathanbuys.com/280#comments</comments>
		<pubDate>Tue, 16 Sep 2008 06:06:19 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=88</guid>
		<description><![CDATA[My wife has recently gone back to college, and, seeing as she&#8217;ll need it much more than I do, I gave her my shiny, beloved MacBook.  As compensation, I&#8217;ve got her old PC, running Ubuntu, which looks great on my 22 inch monitor.  How long this will last, I don&#8217;t know.  I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>My wife has recently gone back to college, and, seeing as she&#8217;ll need it much more than I do, I gave her my shiny, beloved MacBook.  As compensation, I&#8217;ve got her old PC, running Ubuntu, which looks great on my 22 inch monitor.  How long this will last, I don&#8217;t know.  I&#8217;ve just recently started writing seriously again, and moving all of my &#8220;really important stuff&#8221; into Linux should give me lots to comment about as I note the differences between OS X and Ubuntu.  However, I&#8217;ve heard rumor of MacBook Pro product refreshes&#8230; hummm&#8230;.</p>

<p>The first difference worth noting between the MacBook and Ubuntu was a very pleasant one.  I needed to scan a couple of photographs and give them to my wife, but I hadn&#8217;t bothered to connect my HP PSC 1510 all-in-one to the Linux box, and I didn&#8217;t have the correct drivers installed on the Mac at the time.  But, I did notice the XSane Image Scanner application listed under Graphics in the Ubuntu menu, so I thought, I&#8217;ll give it a shot.</p>

<p>I&#8217;m glad I did.  XSane automatically detected the HP, and was able to scan the photographs to the desktop with no problem whatsoever.  From there, I fired up the Gimp to crop the photos and dropped them into Thunderbird to email them to the wife.  From scanning the images to emailing them out took about five minutes&#8230; tops.  During this time I would have probably still been waiting for the massive HP software download to finish on the Mac.  However, the HP software does seem to have a few features that I wish XSane had (like image resizing before scanning), but for pure functionality and performance, Ubuntu wins this round.</p>

<p>Step One: Plug it in
Step Two: Use it.
Step Three:  That&#8217;s it, no step three.</p>

<p>That&#8217;s how computers are supposed to work.  This is amazing, considering that eight years ago Linux had a tough time identifying even internal hardware.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/33" title="Scanning Images in Ubuntu (December 24, 2008)">Scanning Images in Ubuntu</a> (0)</li>
	<li><a href="http://jonathanbuys.com/459" title="Tough to Turn Down (March 22, 2009)">Tough to Turn Down</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/281" title="Moving to Ubuntu: F-Spot (September 16, 2008)">Moving to Ubuntu: F-Spot</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/280/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Graduation Day</title>
		<link>http://jonathanbuys.com/279</link>
		<comments>http://jonathanbuys.com/279#comments</comments>
		<pubDate>Thu, 11 Sep 2008 03:27:10 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[montana]]></category>
		<category><![CDATA[mountains]]></category>
		<category><![CDATA[navy]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=86</guid>
		<description><![CDATA[This is more personal than anything I&#8217;ve posted here on OSZen, and probably more than anything I ever will.  The focus of the blog is still technology, but I thought I&#8217;d share this achievement with the world.

In May of 1995 I should have graduated from high school in the rocky mountains of Montana.  [...]]]></description>
			<content:encoded><![CDATA[<p>This is more personal than anything I&#8217;ve posted here on OSZen, and probably more than anything I ever will.  The focus of the blog is still technology, but I thought I&#8217;d share this achievement with the world.</p>

<p>In May of 1995 I <em>should</em> have graduated from high school in the rocky mountains of Montana.  Then, in the following fall, say around August or September, I <em>should</em> have started my pursuit of a college degree.  Finally, in May of 2000, I <em>should</em> have graduated from college with a bachelors degree in who knows what.</p>

<p>As fate or God would have it though, that&#8217;s not the path I took.  One night too many spent on the fringe, one too many parties, and one too many disappointments for my parents, and I dropped out of high school in December of 1994.  Even then, I thought that I might be making a mistake, so I went ahead and took the GED test, which I passed with flying colors.  For nearly a year, I travelled around Washington state.  Sleeping in tents, staying with a friend in his uncle&#8217;s garage, hanging out at a <a href="http://en.wikipedia.org/wiki/Rainbow_Gathering">Rainbow Festival</a>&#8230; but in the back of my mind, I knew something was wrong.  Something inside of me wouldn&#8217;t let go of the fact that what I was doing was <em>wrong</em>.</p>

<p>So, one day, after way too much for way too long, I went home, and from there, I left everything I knew behind me and joined the Navy.  Looking back on it now, joining the Navy in October of &#8216;95 was probably the best decision I ever made.  The Navy forced me to sober up, and gave me a structured, goal oriented lifestyle that appealed to me.  The Navy gave me discipline when I had no self control.  The Navy taught me to believe in myself after many years of being an outcast.  The Navy taught me the value of hard work.  I began to make incremental steps towards knowing who I really was.  Work hard, and make rank.  Study hard, and pass the test.  The work that I was forced to do turned into its own reward.  I am today, a better man because of the time I spent in the Navy.</p>

<p>However, even with the success I had in the military, I regretted never walking across that stage and receiving my high school diploma.  For anyone in the position to care, let me tell you right now, a GED is <em>NOT</em> an equivalent to a degree.  A GED labels you for life as a quitter, and someone who couldn&#8217;t make it at a very basic level.  For this, I was ashamed.  So, in January of 2000, after transferring to shore duty overseas, I started working on my college degree.</p>

<p>It was fun at first, I took Speech and English, and a few IT courses.  A little at a time, when I had the time, one or two courses a semester, sometimes face to face, mostly distance ed, I worked on my degree.  Years passed, I transferred back to the States, and I kept taking courses.  Some were really difficult (like Project Management&#8230; uggg), some were morally challenging (Myth and Culture), and some were genuinely interesting (Algebra, Writing, and Programming).  I liked college, not only because the courses I took and the professors I had were interesting, but because the I was constantly challenged.  I had something in college that I didn&#8217;t have in high school, the drive to succeed&#8230; to be the best.</p>

<p>Part of that is growing up.  Part of it is the discipline I learned in the military.  Part of it is that I was just an angry kid who needed some direction.  What ever the reason, the result is that I did finally grow up and realize how important education was.  The mistakes I made in high school have taken me thirteen years to correct.  But, two days ago, on September 8th, 2008, I was awarded my Bachelors Degree in Information Systems Management from the University of Maryland University College.  It took eight and a half years.  That&#8217;s eight and a half years of lost weekends because I was holed up in the bedroom doing homework.  That&#8217;s eight and a half years of long nights of studying at night after the kids were in bed.  That&#8217;s eight and a half years of justifying taking classes, making financial arrangements, taking time away from my wife and our growing family, writing papers, solving formulas, graphs, charts, proctored tests&#8230; and stress.</p>

<p>I wasted three years of high school, and it took me eight and a half years to earn my respect back.</p>

<p>Was it worth it?  Depends on the question.  Was what I did as a kid worth the work that it took to repair the damage?  I&#8217;d have to say that&#8217;s a qualified&#8230; almost.  I can&#8217;t explain what I did as a teenager, but I can say that I&#8217;ve been places and seen things that most people have not.  If your question was &#8220;Is the degree worth the work and the time that you put into it?&#8221;  I have one answer for you.</p>

<p><em>Yes.</em></p>

<p>My degree may never &#8220;pay-off&#8221; in terms of a big promotion or more opportunities (although it probably will in the long run).  I didn&#8217;t really need the degree with my experience and expertise in IT.  The job that I have now required a bachelors or &#8220;equivalent experience&#8221;.  When I took the job I did not have the degree, but I had the experience, so one could argue that I don&#8217;t need the degree at all.  For the most part, they&#8217;d probably be right.</p>

<p>The degree is worth the effort because I&#8217;m a high school drop out.  It&#8217;s worth it because the look of disappointment in my Mom&#8217;s eyes was more than I could bear.  It&#8217;s worth it because I want my kids to be able to look up to me.  The degree is worth it because it was a goal that I had for eight and a half years, and I finally achieved it.  Yes, yes, yes, yes yes&#8230; the degree is worth every minute of time I put into it, and every penny that it cost.</p>

<p>Mountain climbers, as far as I&#8217;m aware, are not paid to climb a mountain, but ask one who has made it to the top if it was worth it.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
	<li><a href="http://jonathanbuys.com/252" title="Consulting in Coralville (January 27, 2009)">Consulting in Coralville</a> (1)</li>
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/279/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Linux Box and Upgrading Java</title>
		<link>http://jonathanbuys.com/277</link>
		<comments>http://jonathanbuys.com/277#comments</comments>
		<pubDate>Tue, 15 Jul 2008 19:27:34 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[sles]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://oszen.net/?p=45</guid>
		<description><![CDATA[As a general rule, I really don&#8217;t like to go outside of the box when it comes to Linux. And by that, I mean that I don&#8217;t like going outside of what is provided by what ever distribution you are using, be that SLES, Red Hat, or Ubuntu. A lot of people put a lot [...]]]></description>
			<content:encoded><![CDATA[<p>As a general rule, I really don&#8217;t like to go outside of the box when it comes to Linux. And by that, I mean that I don&#8217;t like going outside of what is provided by what ever distribution you are using, be that SLES, Red Hat, or Ubuntu. A lot of people put a lot of work into making sure that the packages that are available for the distribution actually work in the distribution and do not interfere with any other apps. Linux will let you do what ever you want, but just because you <em>can</em> do something, doesn&#8217;t mean that you <em>should</em>.</p>

<p>Going outside the box can have disastrous results with Linux. Back in early 2000 and 2001 when I was installing SuSE and Mandrake on my old IBM box, I wound up in dependency hell more than once. If you&#8217;ve never been there, it goes something like this:</p>

<p>OK, I want to upgrade my music player to the latest version, so I&#8217;ll download the latest RPM. Wait, that failed, because it depends on a newer version of some library file that I don&#8217;t have, so I&#8217;ll go search the Internet and try to find that. OK, found it, downloaded the rpm, and it failed to install because it depends on a newer version of some other library file that I don&#8217;t have. Looks like there&#8217;s no RPM for that library, so I&#8217;ll download the source code and compile it. OK, ./configure; make; make install; Nope, that failed because of a gigantic list of dependencies that are not available! At this point, you have to make a decision: Do you go ahead and find the dependencies, or do you give up and have a drink instead. If you choose to go ahead, you download the source to a dozen different packages and install them, then compile your library, then compile your other library, then go to install the rpm to find that it fails because one of the applications you upgraded along the way is, get this, too new to support your music player, and the install still fails. Oh, and by the way, half of your other apps that used to work, don&#8217;t work any more.</p>

<p>This was a very real problem a few years ago, that&#8217;s why there is such a focus on package managers, and why I recommend staying in the box. That&#8217;s why when I&#8217;m asked to go outside the box, I always tend to meet such requests with scruteny. Do you <strong>really</strong> need that? How badly do you need that?</p>

<p>Java however, is not so bad. It&#8217;s one of the few apps that is self contained in it&#8217;s own directory. You download the executable bin file from Sun, run the installer, and put the extracted directory wherever you choose. I normally put it in /usr/local/ Then, I do a which java, and move the original java to java.bak. Next, I create a symbolic link to the new java in /usr/local. Run java -version, and verify that we are using the new and improved java.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/29" title="The Linux Box and Upgrading Java (December 24, 2008)">The Linux Box and Upgrading Java</a> (0)</li>
	<li><a href="http://jonathanbuys.com/459" title="Tough to Turn Down (March 22, 2009)">Tough to Turn Down</a> (0)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/277/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning to Fly</title>
		<link>http://jonathanbuys.com/44</link>
		<comments>http://jonathanbuys.com/44#comments</comments>
		<pubDate>Thu, 12 Jun 2008 03:53:07 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://os-zen.com/?p=44</guid>
		<description><![CDATA[Or, learning Cocoa in Mac OS X.  I&#8217;m pouring all of my time into a new project.  Hopefully I&#8217;ll have a mock up here soon, but right now, I need to concentrate on the task at hand.

I&#8217;ll be back :)

	Possibly Related posts
	
	Servers (1)
	Development Environments and Software Quality (0)
	Changes in Zen (0)
	Writing and Word [...]]]></description>
			<content:encoded><![CDATA[<p>Or, learning Cocoa in Mac OS X.  I&#8217;m pouring all of my time into a new project.  Hopefully I&#8217;ll have a mock up here soon, but right now, I need to concentrate on the task at hand.</p>

<p>I&#8217;ll be back :)</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/574" title="Servers (June 12, 2009)">Servers</a> (1)</li>
	<li><a href="http://jonathanbuys.com/282" title="Development Environments and Software Quality (September 16, 2008)">Development Environments and Software Quality</a> (0)</li>
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
	<li><a href="http://jonathanbuys.com/269" title="Writing and Word Processing (April 7, 2008)">Writing and Word Processing</a> (0)</li>
	<li><a href="http://jonathanbuys.com/283" title="Goodbye Cocoa (September 19, 2008)">Goodbye Cocoa</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/44/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Formats</title>
		<link>http://jonathanbuys.com/276</link>
		<comments>http://jonathanbuys.com/276#comments</comments>
		<pubDate>Sat, 31 May 2008 09:27:08 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[digg]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[formats]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[open formats]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://os-zen.com/?p=43</guid>
		<description><![CDATA[Here is another old article I found while digging around looking for something else.  I thought I&#8217;d post it here.

Using sustainable formats on OSX, or&#8230; The Best of Both Worlds!

Remember the early days of networking&#8230; before TCP/IP became the standard protocol?  Well, neither do I, but I&#8217;ve read about it.  That&#8217;s years [...]]]></description>
			<content:encoded><![CDATA[<p>Here is another old article I found while digging around looking for something else.  I thought I&#8217;d post it here.</p>

<p>Using sustainable formats on OSX, or&#8230; The Best of Both Worlds!</p>

<p>Remember the early days of networking&#8230; before TCP/IP became the standard protocol?  Well, neither do I, but I&#8217;ve read about it.  That&#8217;s years ago now, but back then, each computer manufacturer developed their own method of networking their machines together, and each method, or protocol, was incompatible with the other.  Apple had AppleTalk, Novell had IPX/SPX, Xerox had XNS, and on and on it went.  TCP/IP was born out of the desire to create a vendor independent network, which became known as ARPAnet, and later, the Internet.</p>

<p>This little history lesson is meant to illustrate the tremendous advantages there are to open standards.  Would the Internet exist if it belonged to a single corporation?  Not as it is today, no.  These same ideas can be applied to several other forms of data on the computer; images, documents, music, etc&#8230;  We now have the capability to keep almost all of our data in a format that is guaranteed to provide greater flexibility, so why isn&#8217;t Apple taking advantage of it?</p>

<p>For example, Mail, the venerable email client that comes with the Mac, provides suitable email functionality for most Mac users.  Now that I&#8217;ve got several years of email stored on my Mac, I&#8217;d like to be able to keep those files in a format that is not subject to any corporation&#8217;s whims.  I&#8217;d also like to be able to drop my mail folder on another platform and be able to open it up in a different client&#8230; interoperability.  Another example is iPhoto, one of my favorites.  Would it really be that difficult for Apple to design iPhoto so it stores its database in a reliable, documented format that is readable (and writable) outside the application?</p>

<p>This goes back to a central belief I have about  data, and applications.  While the application may belong to its author, the data it processes belongs to me, and it should be available to me in a well documented, open format.  Open formats make sharing files easier, as they are capable of being supported on more platforms</p>

<p>How about giving Quicktime the ability to natively export to Ogg-Theora?  Or allowing iTunes to use Ogg-Vorbis as its default media format? (DRM not considered here&#8230;)  Pages?  Keynote?  How about some Open Document Format support?  I really don&#8217;t think the move to open formats would be that big of a leap.  Apple already includes several open source applications inside its server offering, and has built its core data framework around XML and SQLite, so why not open the rest of it up?</p>

<p>The other note worth mentioning is the high profile “switch to linux” news that has been making the rounds lately.  With several long time Mac supporters moving to Linux citing problems with formats and a lack of openness from Apple, it seems to me that this is a problem that could be easily fixed.  I&#8217;m not calling on Apple to open source OS X, I&#8217;m not even implying that, although open sourcing a few of the bundled apps might be a good thing in the long term</p>

<p>The world is becoming more aware, and times they are a changin.  The world is knocking, dear Apple, its time to open up.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/colophon" title="Colophon (December 24, 2008)">Colophon</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/276/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wsu &#8212; gksu for Windows</title>
		<link>http://jonathanbuys.com/40</link>
		<comments>http://jonathanbuys.com/40#comments</comments>
		<pubDate>Sun, 18 May 2008 17:30:00 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[word]]></category>

		<guid isPermaLink="false">http://os-zen.com/?p=40</guid>
		<description><![CDATA[wsu is a simple little utility that let&#8217;s you run another application with elevated privileges on Windows, much like sudo on Linux, and its GUI wrapper gksu.  My good friend, Matt Paulauskas is letting me distribute it here on OSZen, and he is releasing it as open source under a BSD license.  The [...]]]></description>
			<content:encoded><![CDATA[<p>wsu is a simple little utility that let&#8217;s you run another application with elevated privileges on Windows, much like sudo on Linux, and its GUI wrapper <a href="http://www.nongnu.org/gksu/">gksu</a>.  My good friend, Matt Paulauskas is letting me distribute it here on OSZen, and he is releasing it as open source under a BSD license.  The terms of the license are pretty simple, as he explains it “Basically it&#8217;s a &#8216;give me credit, but don&#8217;t use my name to endorse your version without my permission&#8217; kinda thing”.</p>

<p>You can download the utility here:  <a href="http://os-zen.com/download/winsu-1.7z">WSU</a></p>

<p>Yes, we are well aware of the built in runas utility, but we just think this is easier.</p>

<p>Matt&#8217;s also got a beta with some interesting features. wsu now accepts -p argument for changing cpu priority.</p>

<p>ex. wsu regedit -p 4</p>

<p>1 Below Normal
2 Normal
3 Above Normal
4 High
5 Realtime</p>

<p>You can download the beta here: <a href="http://os-zen.com/download/winsu-beta2.2.7z">wsu2 Beta</a></p>

<p>Screenshots:  Because you know you love them.</p>

<div style="text-align:center;"><img src="http://os-zen.com/wp-content/uploads/2008/05/winsu-run.png" border="0" alt="winsu_run.PNG" width="347" height="179" /></div>

<div style="text-align:center;"><img src="http://os-zen.com/wp-content/uploads/2008/05/winsu-prompt.png" border="0" alt="winsu_prompt.PNG" width="380" height="244" /></div>

<div style="text-align:center;"><img src="http://os-zen.com/wp-content/uploads/2008/05/winsurc2-prompt-failed-logon.png" border="0" alt="winsuRC2_prompt_failed-logon.PNG" width="380" height="244" /></div>

<p>If you are interested, wsu is written in Visual Basic.  The executable is very small, here&#8217;s the source code:
<pre>Imports System.Security
Imports System.IO
Imports System.Diagnostics
Public Class frmWinSu
    Function ConvertToSecureString(ByVal str As String)
        'converts string to secure string
        Dim password As New SecureString
        For Each c As Char In str.ToCharArray
            password.AppendChar(c)
        Next
        'Returns new secure string
        Return password
    End Function
    Public args() As String
    Public adminAcct As String</p>

<pre><code>Private Sub frmWinSu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'if no arg is passed, exit winsu
    args = Environment.GetCommandLineArgs
    If args Is Nothing Or args.Length &amp;lt;&amp;gt; 2 Then End
    Try
        'Gets admin acct from configuration file
        Dim file As New FileStream("C:winsu.conf", FileMode.Open, FileAccess.Read)
        Dim fileReader As New StreamReader(file)
        adminAcct = fileReader.ReadLine
        'If the file is blank, do nothing
        If adminAcct = "" Then End
        'Closes filestream and streamreader
        fileReader.Close()
        file.Close()
        lblAcct.Text = "Enter the password for " &amp;amp; adminAcct &amp;amp; " to perform administrative tasks"
    Catch
        End
    End Try
End Sub

Sub StartProc()
    Try
        'instantiates new process from the path read from config file
        'Process is started as user adminAcct with password from txtPasswd
        Dim proc As New Process
        proc.StartInfo.FileName = args(1)
        proc.StartInfo.UseShellExecute = False
        proc.StartInfo.UserName = adminAcct
        proc.StartInfo.Password = ConvertToSecureString(txtPasswd.Text)
        proc.Start()
    Catch ex As Exception
        ' displays message if an error occurs
        MsgBox(ex.Message)
        'if error is from incorrect logon info, then start over
        If Err.Number = 5 Then txtPasswd.Text = "" : Exit Sub
    End Try
    End
End Sub

Private Sub cmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOK.Click
    'Executes StartProc() routine
    StartProc()
End Sub

Private Sub txtPasswd_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPasswd.KeyPress
    'Executes StartProc() routine if enter key (chr(13)) is pressed
    If e.KeyChar = Chr(13) Then
        'e.Handled stops the proram from making the really annoying _
        'error alert noise when you press the enter key on a single _
        'line textbox
        e.Handled = True
        StartProc()
    End If
End Sub

Private Sub cmdCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCancel.Click
    End
End Sub
</code></pre>

<p>End Class</pre>
We hope you like it, if there are any questions or suggestions, drop them here in the comments.</p>

<p>NOTE:  We just discovered that WinSU is already taken as a name, so Matt asked to have it changed to wsu.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/40/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Master Craftsman</title>
		<link>http://jonathanbuys.com/36</link>
		<comments>http://jonathanbuys.com/36#comments</comments>
		<pubDate>Thu, 15 May 2008 05:45:00 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[montana]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://os-zen.com/?p=36</guid>
		<description><![CDATA[The Master Craftsman works methodically, not slowly, not hurriedly.  He has mastered the basics, and knows the essence of his craft.  He has moved to a point where he can define his own methods, and doesn&#8217;t need to explain them to anyone, unless someone is wise enough to ask.  The Master Craftsman [...]]]></description>
			<content:encoded><![CDATA[<p>The Master Craftsman works methodically, not slowly, not hurriedly.  He has mastered the basics, and knows the essence of his craft.  He has moved to a point where he can define his own methods, and doesn&#8217;t need to explain them to anyone, unless someone is wise enough to ask.  The Master Craftsman enjoys the hardest, most complicated problems, and enjoys unravelling them piece by piece.  He enjoys the challenge to his skill, and proves his worth again and again as he overcomes each obstacle.</p>

<p>The Master Craftsman has an intimate relationship with his tools.  He knows not only what they do, but much more importantly, how they do it.  His choice of tools for a certain task is based on years of experience, research, and hands on use.  He can debate intelligently on the merits and problems with his tools, as compared with other tools that he has tried and discarded over time.  His choice of tools explains something about him.</p>

<p>The Master Craftsman enjoys his work, and is comfortable with his place in the world.  He is an expert, and he knows it.</p>

<p>I&#8217;ve had an abstract idea for this post for a couple of months now.  The Master Craftsman is the embodiment of my professional goals.  I&#8217;m not one to speak of gurus or wizards, since I come from very down to Earth country in Montana, but a craftsman, or a woodworker is an image that I can grab on to.  I&#8217;m not a Master yet, but I&#8217;m working towards it.  My tools are not jigsaws and planers, but vi and zsh, but the basic principles still apply.  I think the idea of a craftsman is less about impressing others and more about perfecting his skill.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/290" title="Writing and Mail Annoyances (October 17, 2008)">Writing and Mail Annoyances</a> (0)</li>
	<li><a href="http://jonathanbuys.com/561" title="The Last Year (June 11, 2009)">The Last Year</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/279" title="On Graduation Day (September 10, 2008)">On Graduation Day</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/36/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creative Uses for Wordpress</title>
		<link>http://jonathanbuys.com/32</link>
		<comments>http://jonathanbuys.com/32#comments</comments>
		<pubDate>Thu, 08 May 2008 07:03:46 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[outside]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://os-zen.com/?p=32</guid>
		<description><![CDATA[Where I spend my days ($WORK), we have multiple monitoring systems for just about every service on every server that we have.  Many of these are Nagios, some are built in, and others are SiteScope.  All of the systems generate email alerts that either go to our pagers, our email, or both.  [...]]]></description>
			<content:encoded><![CDATA[<p>Where I spend my days ($WORK), we have multiple monitoring systems for just about every service on every server that we have.  Many of these are <a href="http://www.nagios.org/">Nagios</a>, some are built in, and others are <a href="https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&amp;cp=1-11-15-25%5E849_4000_100__">SiteScope</a>.  All of the systems generate email alerts that either go to our pagers, our email, or both.  From time to time, management would ask a question like “How many pages do you get in a week on average?”, which up till a couple of months ago, our answer was always “It just depends…”</p>

<p>Not a great answer, so I decided to start tracking the email alerts with a centralized database.  Now, at this point, I could have whipped up my own home-brew frankenstein creation, but since everything I wanted was already built into Wordpress, I really didn’t need to.  Wordpress has the option of posting blogs via email.  So, all I needed to do was set up a special email account on our mail server and make sure the pop3 server was running.  Then, add the server and login information into Wordpress, setup a cron job to trigger the mail check every five minutes, and <span style="text-decoration:line-through;">(whala</span>) boom!  Instant logging of all pages that are sent out in a searchable, easy to read, web format.  Now, when management gets it in their mind to start asking questions, we can easily say “Let me reference my report.”  They really like hearing things like that.</p>

<p>Building on the success of the alert log, I thought it might be good to also log all of our changes to the system.  This idea is completely different from traditional “Change Management” systems which require you to log ahead of time what you want to accomplish in some ridiculous form or application.  Instead, I find it much more useful and relevant to build in the change logging where we spend most of our time, the command line.</p>

<p>I’ve added an alias for “exit” in the shell like so:
<pre><code>alias exit="exec /scripts/ch_log"
</code></pre>
Here is the ch_log script:
<pre><code>#!/bin/sh</p>

<h1>ch_log - Prompt the user to log system changes on</h1>

<h1>exit from the root shell.</h1>

<p>#</p>

<h1>jonbuys@os-zen.com - Wed Apr  2 15:32:43 CDT 2008</h1>

<p>#</p>

<h6>#</h6>

<p>HOST=<code>hostname</code>
DATE=<code>date +%m-%d-%y</code>
echo $DATE
echo "Did you make any changes to the system? (y/n)"
read answer</p>

<p>if [ $answer == n ] ; then
   echo "OK, Thanks!"
   exit 0
else
   echo "Cool, please enter your name, and then describe the changes in the form."
   echo "Name:"
   read NAME</p>

<pre><code>cat /scripts/log_template | sed s/NNN/$NAME/g | sed s/DDD/$DATE/g | sed s/SSS/$HOST/g &amp;gt;  /tmp/$$.answer
vi /tmp/$$.answer
mail change_log@mail.mydomain.com -s "Change Notification for $HOST"&amp;lt; /tmp/$$.answer
echo "OK, thanks!"
</code></pre>

<p>fi
exit 0</p>

<h6>#</h6>

<h1>EOF: ch_log</h1>

<p></code></pre>
Basically, when we exit our shell we now have to make a choice… do we log what we did with this quick and easy script, or do we ignore it and risk the consequences.  I’ve found that for the most part, I choose to log my work.  The email that is sent off to the change_log@mail.mydomain.com address is picked up by a second Wordpress install, and posted to the blog.  Now we have a historical record of what we’ve done incase something breaks, or (more importantly) when annual review time comes around and we are asked “what have you been up to?”</p>

<p>There is one other change that I had to make to get this to work right.  By default, Wordpress holds all posts it recieves via email for approval before posting it to the main page.  This is good security, but not really needed on an internal LAN, and it breaks the system I’ve laid out above.  So, to fix it, I’ve made a slight change to the wp-mail.php file:
<pre><code>     // Set $post_status based on $author_found and on author's publish_posts capability
     if ($author_found) {
             $user = new WP_User($post_author);
             if ($user-&gt;has_cap('publish_posts'))
                     $post_status = 'publish';
             else
                     $post_status = 'publish';
     } else {
             // Author not found in DB, set status to pending.  Author already set to admin.
             $post_status = 'publish';
     }
</code></pre>
Above, I’ve changed the “pending” post_status to “publish” for unidentified users, which is everything that it receives via email.  This is a very bad idea to do outside of the LAN, but I don’t see any harm in it internally.  Undoubtedly there are those who would disagree, but this works well for us.</p>

<p>This is how we are using Wordpress internally on our corporate LAN right now, I’d be interested to hear how some others are using Wordpress or other blogging software.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/23" title="Creative Uses for Wordpress (December 24, 2008)">Creative Uses for Wordpress</a> (0)</li>
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
	<li><a href="http://jonathanbuys.com/621" title="Writing about Jekyll (August 25, 2009)">Writing about Jekyll</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/32/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>My Optimized Windows Workflow</title>
		<link>http://jonathanbuys.com/274</link>
		<comments>http://jonathanbuys.com/274#comments</comments>
		<pubDate>Wed, 07 May 2008 00:27:32 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[aix]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[indexed]]></category>
		<category><![CDATA[launchy]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://os-zen.com/2008/05/06/my-optimized-windows-workflow/</guid>
		<description><![CDATA[I love Linux, I really do.  Compared to the older UNIX systems like AIX, HP-UX, and Solaris (who is trying really hard to catch up) Linux is head and shoulders above the rest.  The main reason for this is that a lot of really smart people also love Linux, and try their best [...]]]></description>
			<content:encoded><![CDATA[<p>I love Linux, I really do.  Compared to the older UNIX systems like AIX, HP-UX, and Solaris (who is trying really hard to catch up) Linux is head and shoulders above the rest.  The main reason for this is that a lot of really smart people also love Linux, and try their best to make it the best server on the planet.  For the most part, I&#8217;d agree that we are succeeding on that front.  On the other hand, to date, I simply can&#8217;t run Linux on my desktop.  If there are servers down, or an application fault somewhere, I need to be able to rely on my tools to be there for me.  That&#8217;s why I run XP on my laptop.</p>

<p style="text-align:center;"><img class="aligncenter" src="http://farm3.static.flickr.com/2266/2476307758_915fe436e2.jpg" alt="pimped" width="500" height="400" /></p>

<p>Now, just because I&#8217;m running XP doesn&#8217;t mean that it has to suck.  I spend most of my time either in the command line or in Firefox.  Oh&#8230; uhhh&#8230; and, most unfortunately, in Lotus Notes (holding back gag reflex).  I&#8217;m not sure if there has ever been a worse email client created than Lotus Notes, but that&#8217;s a post for another day.  So, to make the most of what I have, there are three tools that I&#8217;ve come to rely on:</p>

<ol>
    <li><a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a> &#8211; Outstanding SSH client.  Always there for me, never craps out, and an awesome Alt-Tab to full screen command line goodness.</li>
    <li><a href="http://www.launchy.net/">Launchy</a> &#8211; Now on my permanent list of apps I can&#8217;t live without.</li>
    <li><a href="http://emergedesktop.org/">Emerge Desktop</a> &#8211; I&#8217;ve got a small screen, and that damn &#8220;Start&#8221; menu always bothered me.  With Emerge, I&#8217;ve replaced the Explorer shell with a very small, very minimal, no task bars or anything else desktop.  If I need the Start menu, I just right click on the desktop and there it is.</li>
</ol>

<p>With PuTTY, I&#8217;ve traded out my SSH keys with my management server, where I run everything else from.  I set up a saved session in PuTTY for the management server, and make sure that I can log in without a password.  Next, I create a &#8220;Launchy Indexed&#8221; folder in my home directory on my laptop, and create a shortcut with the following as the &#8220;Target:&#8221;</p>

<p>&#8220;C:Program FilesPuTTYputty.exe&#8221; -load my.management.server</p>

<p>Next, reload the launchy index, and we are in business.  Now I&#8217;m just a couple of keystrokes away from my management server.  Since my management server is secure and on the same network as most of the rest of my servers, I&#8217;ve set up some custom scripts there as well.  My most used script is named &#8220;go&#8221;:
<pre>#!/bin/sh</p>

<h1>go - ssh into the specified server</h1>

<p>#</p>

<h1>jonbuys@os-zen.com - Wed Jul 25 09:52:09 CDT 2007</h1>

<p>#</p>

<h6>#</h6>

<h1>Make sure the user actually entered something here</h1>

<p>if [ -z "$1" ]; then
        echo "Usage: go [servername]"
  exit 1
else
        # Set the variables
        SERVERNAME=<code>echo $1</code>
        USERNAME=<code>whoami</code>
        # run the command
        ssh $USERNAME@$SERVERNAME
fi</p>

<h6>#</h6>

<h1>EOF: go</pre></h1>

<p>Very simple, but still, fewer keystrokes than actually typing ssh myusername@whatever.server.com.  I&#8217;ve also been known to abbreviate server names as well in /etc/hosts for folks who insist on ridiculous names that make sense only to them.  Fewer keystrokes, quick access, and less to think about when I absolutely need to get to that server ASAP.  Luckily, there are very few times when the need is that great.  It is, however, very satisfying to see the looks on the faces of my old-school co-workers when they realize that &#8220;He hasn&#8217;t touched his mouse yet&#8230;&#8221;</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/21" title="My Optimized Windows Workflow (December 24, 2008)">My Optimized Windows Workflow</a> (0)</li>
	<li><a href="http://jonathanbuys.com/417" title="Systems Administrator (February 24, 2009)">Systems Administrator</a> (1)</li>
	<li><a href="http://jonathanbuys.com/272" title="Segmentation Fault, Episode 2 (April 20, 2008)">Segmentation Fault, Episode 2</a> (2)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/600" title="Regarding OS Zealotry (July 9, 2009)">Regarding OS Zealotry</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/274/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Contextual Search</title>
		<link>http://jonathanbuys.com/30</link>
		<comments>http://jonathanbuys.com/30#comments</comments>
		<pubDate>Sat, 03 May 2008 02:45:39 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iweb]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[spotlight]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[word]]></category>

		<guid isPermaLink="false">http://os-zen.com/?p=30</guid>
		<description><![CDATA[My personal browser of choice has almost always been Omniweb.  Omniweb and I went through a tough time for a while when it (she?) was crashing frequently and generally having a tough time of it.  The Omni Group has once again straightened things out, and she (yea, I&#8217;ve decided Omniweb is a she) [...]]]></description>
			<content:encoded><![CDATA[<p>My personal browser of choice has almost always been <a href="http://www.omnigroup.com/applications/omniweb/">Omniweb</a>.  Omniweb and I went through a tough time for a while when it (she?) was crashing frequently and generally having a tough time of it.  The Omni Group has once again straightened things out, and she (yea, I&#8217;ve decided Omniweb is a she) is once again fast, sleek, and powerful.  There is one small item about the browser that bothers me though, and that is the lack of a search function from the browsers contextual menu that pops up when you select a word and right click on it.</p>

<p>Exhibit A: Omniweb Contextual Menu</p>

<p><img src="http://os-zen.com/wp-content/uploads/2008/05/omniweb.png" alt="omniweb.png" border="0" width="263" height="165" /></p>

<p>Omniweb has some interesting options available, including the somewhat dubious value of cascading the &#8220;Page&#8221; menu that is available when right clicking without selecting a word.  I&#8217;ve tried both the &#8220;Start Speaking&#8221; and &#8220;Inspect Element&#8221; options, neither of which do me any good in my normal browsing flow.</p>

<p>When Omniweb and I were not getting along I tried out both Firefox and Safari for a whil.  While both browsers offer a search function from the contextual menu, Firefox has made the best choice from a usability standpoint.</p>

<p>Exhibit B: Firefox Contextual Menu</p>

<p><img src="http://os-zen.com/wp-content/uploads/2008/05/firefox.png" alt="firefox.png" border="0" width="348" height="155" /></p>

<p>When I select &#8220;Search Google For &#8216;whatever&#8217;&#8221;, Firefox opens a tab in the background searching Google for the word that I had selected.  To me, this is clearly the best option.</p>

<p>Safari&#8217;s search function is complemented by a &#8220;Search in Spotlight&#8221; option that I&#8217;ve never used.  I suppose its nice that its here, but still, never used.  The ability to search the built in dictionary is nice, and I think I may have used that function once.</p>

<p>Exhibit C:  Safari Contextual Menu</p>

<p><img src="http://os-zen.com/wp-content/uploads/2008/05/safari.png" alt="safari.png" border="0" width="274" height="160" /></p>

<p>The problem I have with Safari&#8217;s search Google option is that it replaces the tab that I&#8217;m reading instead of opening up another tab.  Clearly this defeats the purpose, I&#8217;m interested in the word, product, or service that I&#8217;m reading about, but I don&#8217;t want to stop reading to search Google.  I want Google to be there in the background waiting for me when I&#8217;m good and ready.  Firefox has this right, and I think both Safari and Omniweb could stand to adopt this feature.</p>

<p>On a side note, why is the Firefox menu grey?  The white background of Omniweb and Safari are much more readable.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/19" title="Contextual Menus in Mac Browsers (December 24, 2008)">Contextual Menus in Mac Browsers</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/16" title="Segmentation Fault, Episode 1 (April 10, 2008)">Segmentation Fault, Episode 1</a> (0)</li>
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/30/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starting Over (and over, and over&#8230;)</title>
		<link>http://jonathanbuys.com/26</link>
		<comments>http://jonathanbuys.com/26#comments</comments>
		<pubDate>Wed, 23 Apr 2008 03:42:00 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osvids]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[writing]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://os-zen.com/?p=26</guid>
		<description><![CDATA[My wife wanted me to read something that she was writing the other day, so I sat down at her laptop on our table and read through it. While I was there, I happened to glance at her email, an old hotmail account, and noticed that she has emails going all the way back to [...]]]></description>
			<content:encoded><![CDATA[<p>My wife wanted me to read something that she was writing the other day, so I sat down at her laptop on our table and read through it. While I was there, I happened to glance at her email, an old hotmail account, and noticed that she has emails going all the way back to ‘01. A quick glance at my gmail tells me that there is no way I can tell how far back my email goes, but I’m pretty sure that I’ve lost everything prior to ‘05 or so. I’ve been accused of having email ADD in the past, and I’m fairly certain there is a bit of truth to it. It seems to hold true for a lot of the technology in my life, I’m just never satisfied with it, and wind up tweaking, fiddling, and otherwise screwing around with my tools until they are either just right or completely screwed up and I throw the entire thing in the trash and start over.</p>

<p>This certainly holds true for my email, I have been through @aol.com, @hotmail.com, @yahoo.com, @mac.com, @inbox.com, @live.com, and finally, @gmail.com. It also holds true for my web sites. I’ve started 10 or 15 web sites throughout the years, starting with a geocities site back in… what, ‘99 or so? If I’d have stayed on top of it, I’d have managed to compile a decent amount of writing in one place for 9 years. But, I have some form of technology ADD, and can not seem to be happy with any single system. When I discovered Linux, my curiosity really got the best of me. I must have downloaded and tested 100-125 distros. I installed so many that I started recording them on my old (now defunct) blog, jonstechblog.com, which evolved into the also now defunct, osvids.com. This went on until I “switched” to Mac, and I’ve been fairly happy with my operating system since. At least I know that there is nothing else out there that’s any better than what I have now.</p>

<p>I’ve learned a lot about what I want out of my technology over the years, and I’ve found that when I find a good system, even if its not perfect, its best to stick with it until there is a significant reason to change. My curiosity has unfortunately led to my loosing data. Somewhere along the line I lost a lot of email, and a lot of writing, and there is no way to get that back. So, now, I’ve come to a point where I’m content in the systems that I have in place. My email works great, my OS works great, and I have an excellent blogging platform on a reliable host. I’ve started over far, far too many times, and it’s time to settle down and shoot down some roots. Its time to stop worrying about the method of creation, and focus on the creative process itself.</p>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/20" title="OSVids (April 18, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/osvids" title="OSVids (December 24, 2008)">OSVids</a> (0)</li>
	<li><a href="http://jonathanbuys.com/288" title="Changes in Zen (October 12, 2008)">Changes in Zen</a> (0)</li>
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/443" title="Communications (March 5, 2009)">Communications</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://jonathanbuys.com/26/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Segmentation Fault, Episode 2</title>
		<link>http://jonathanbuys.com/272</link>
		<comments>http://jonathanbuys.com/272#comments</comments>
		<pubDate>Sun, 20 Apr 2008 17:16:48 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[aix]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[macs]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://os-zen.com/?p=21</guid>
		<description><![CDATA[
9:00 AM Matt: Yo
9:01 AM me: hey, how&#8217;s it going?
9:02 AM Matt: Good, you?
9:03 AM me: not bad, we are about to go clone a linux system with clonezilla

 Matt: Sweet
 Clonezilla is great
9:04 AM me: yea, I like it
 Matt: I have a share on one of our servers just for clonezilla images
 me: [...]]]></description>
			<content:encoded><![CDATA[<div id="1frf" class="ArwC7c ckChnd">
<div><span style="display:block;float:left;color:#888888;">9:00 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yo</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:01 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: hey, how&#8217;s it going?</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:02 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Good, you?</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:03 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: not bad, we are about to go clone a linux system <span class="nfakPe">with</span> clonezilla</span></span></div>

<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Sweet</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>Clonezilla is great</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:04 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yea, I like it</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: I have a share on one of our servers just for clonezilla images</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: it saved my arse when cloning my windows image from my laptop
</span></span></div>
</div>

<div class="ArwC7c ckChnd">
<div><span style="display:block;float:left;color:#888888;">9:05 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: So, I&#8217;ve been using PC-BSD at home</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: how&#8217;s that working out?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: it is friggin great!</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>oh, and my super drive failed in my imac</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>:(</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: wow, that sucks</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: no applecare?</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:06 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah, it still has a year on its warranty</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>but last time I called they said that I had to drive my comp to Augusta to get it looked at</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>which is about an hour away</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>and I&#8217;m not going to do that</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:07 AM </span><span style="display:block;padding-left:6em;"><span>they are gonna have to send me a shipping container so that Apple can actually do the work</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I don&#8217;t trust some PC shop in Maine to do the work</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:08 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yea, I like sending it off to apple</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>they are quick</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>and, well, its apple</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:10 AM </span><span style="display:block;padding-left:6em;"><span>you still running osx on the mac?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yup</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>10.5.2</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: nice</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>mine runs like a champ</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>and I love time machine</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Me too</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I think it&#8217;s the best feature</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:11 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I cloned my leopard install disk over to my time machine, now I can boot from my time machine and roll back whenever I want</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: ?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>How&#8217;d you do that?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: disk utility</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:12 AM </span><span style="display:block;padding-left:6em;"><span>just choose your leopard install disk as the source, and time machine as the destination, and clone it over</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>then choose the time machine disk as a time machine disk&#8230; ah&#8230; that sounds confusing</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I named my external disk &#8220;Time Machine&#8221;</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>real original</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:13 AM </span><span style="display:block;padding-left:6em;"><span>oh, I think you lose your old time machine backups when you do this, but the pay off is worth it</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:14 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah, that sounds cool</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:17 AM </span><span style="display:block;padding-left:6em;"><span>Can you schedule that or is it just a one-time thing?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: ah, what?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Can you set it up to clone based on a schedule or is it just one time?</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:18 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: you only need to clone your install disk once, then you can boot off of your usb drive</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>then you set up that usb drive as a time machine disk</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>so, if you need to roll back your entire system, you can boot off that drive and choose it as a time machine restore point</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:19 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Sounds like a good system</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:20 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I like it, I think that&#8217;s how Apple should have done it to begin <span class="nfakPe">with</span></span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Well, one of the things that broke when I upgraded was DVD+R DL burning support</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:21 AM </span><span style="display:block;padding-left:6em;"><span>but guess what works great on PC-BSD?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: wow, that sucks</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>DL burning?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Dual Layer</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yep</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: 8.5GB</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:22 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I&#8217;ve got a few of those at home</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>don&#8217;t use them a whole lot</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: BSD+K3B does the J.O.B.</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>:)</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I needed them to copy the ilife install disk</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>cool</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:23 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Weird how FreeBSD can do a job that OS X(FreeBSD derived) can&#8217;t</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yea, probably a problem in the &#8230;  what app are you using in os x?</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:24 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: I have tried Toast and Disk Utility</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:25 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: well, didn&#8217;t you say that your superdisk died?</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:26 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah, it could be related</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I haven&#8217;t heard of anyone else having the problem, of course I haven&#8217;t been looking either</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Although, two months ago when I upgraded to leopard, I could still read dvd&#8217;s and could still write to single layer dvd&#8217;s, just not DL&#8217;s</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:27 AM </span><span style="display:block;padding-left:6em;"><span>Actually, there are forums filled <span class="nfakPe">with</span> complaint about this</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: that makes sense then</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>yea, I haven&#8217;t been looking, like I said</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: I kinda thought that the .2 release would fix it</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:28 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I was hoping the same thing <span class="nfakPe">with</span> the parental controls on mine</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>they are still broken</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>if I enable them now, they can&#8217;t get online at all</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>at least it doesn&#8217;t bork my dashboard anymore</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: I love macs, but I think my next machine may be a generic PC running linux</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:29 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: you know, I&#8217;ve been thinking the same thing</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>a nice lenovo or something</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: There was  time when that wasn&#8217;t even an option</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I will probablly always have a Mac around the house, but my main machine might be Linux</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I know what you mean</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: but linux has comeso far the last few years</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:30 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yep</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I&#8217;m impressed <span class="nfakPe">with</span> what its doing, and I think if I had a very well supported machine (no weird proprietary hardware&#8230; hello Apple!) I don&#8217;t think I&#8217;d have any problems <span class="nfakPe">with</span> it at all</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:32 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: For the most part, Sony, lenovo, and Dell are pretty compatible <span class="nfakPe">with</span> linux</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: ubuntu sells dells from their site now</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Huh, cool</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:33 AM </span><span style="display:block;padding-left:6em;"><span>You know, the thing is, Linux will pretty much run on anything now though</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>especially Ubuntu</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:34 AM </span><span style="display:block;padding-left:6em;"><span>since it has the restricted hardware support</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yes, but how well it runs is the question</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: If I boot my macbook <span class="nfakPe">with</span> ubuntu, I loose my webcam, no question</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>that drives me nuts, and I don&#8217;t even use my webcam</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:35 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: :)</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: just the fact that it wont work <strong>kills</strong> me</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>:)</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah, I will just buy a desktop though</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: that and you can&#8217;t update firmware without OS X</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I might, but I don&#8217;t know</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:36 AM </span><span style="display:block;padding-left:6em;"><span>If I do, I&#8217;ll keep a mac laptop</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah, but those are all just examples of how Apple restricts their own hardware</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I&#8217;m addicted to laptops &#8220;work anywhere!&#8221;</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>true, it&#8217;s like buying a microwave oven</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I don&#8217;t care how it works, as long as it works</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>its a package</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:37 AM </span><span style="display:block;padding-left:6em;"><span>what I do care about is data portability and</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>longevity</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah, well you will probably have more of that <span class="nfakPe">with</span> linux</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: two things that I know I&#8217;ve gotten wrong <span class="nfakPe">with</span> Apple</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>small, cool apps like notebook</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>got to run, see you later</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>peace</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:38 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Later</span></span></div>
<table border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr>
<td style="width:100%;"><hr size="1" noshade="noshade" /></td>
<td style="font-size:80%;color:#aaaaaa;">15 minutes</td>
</tr>
</tbody></table>
<div><span style="display:block;float:left;color:#888888;">9:53 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: still there?</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:54 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: yup</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: sorry about that, had to take care of something</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: np</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>Just looking at the dell website at the ubuntu machines</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:55 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: anyway, like I was saying, I used to use these apps like notebook and curio, really cool apps <span class="nfakPe">with</span> great interfaces, but once you put data into them, you can&#8217;t get it out without that app again</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>that&#8217;s just wrong</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>yea, they&#8217;ve got some good offerings over there</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah, they really do</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: so that&#8217;s my major push towards linux, keeping my data</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:56 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: for about 1000 you can get a great linux machine</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>True</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>linux is very good about using standards</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yep</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>and I really love amarok and f-spot</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:57 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah, they are great</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: two great apps that are not available on Mac, but we&#8217;ve got itunes and iphoto, but I think amarok is better</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>&#8220;better&#8221; being absolutely subjective of course</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I also stopped buying music at the itunes music store</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: I have been doing some family tree stuff lately, and gramps is a great program for linux</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:58 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I get all mine from amazon mp3 now</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>really?  cool!</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I never heard of it before</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: its a great little app written in Python I think</span></span></div>
<div><span style="display:block;float:left;color:#888888;">9:59 AM </span><span style="display:block;padding-left:6em;"><span>its in the default ubuntu repo&#8217;s</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yea, I&#8217;m checking out the wiki now</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:00 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: It has a lot of cool features</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I&#8217;ve been thinking about doing some genealogy, but again, I didn&#8217;t want to get stuck in a data format that was unsupportable after a few years</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: yeah, it writes to a standard xml file</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: cool</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:01 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: actually it writes two files</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>whatever.gramps</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>and whatever.gramps.backup</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: ha</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: the .backup is XML</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: what is .gramps?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: not sure</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>haven&#8217;t looked at the guts of it</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:02 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: well, even if it is binary, I&#8217;m sure the format of the binary is documented, so if I wanted to I could pull the data out of it</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>open source</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: fo sho</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>it is amazing how open source is changing things</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:03 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yep</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I&#8217;ve been thinking about becoming an &#8220;Open Source Integration Consultant&#8221;</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>in caps</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>:)</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:04 AM </span><span style="display:block;padding-left:6em;"><span>consult companies on replacing proprietary systems <span class="nfakPe">with</span> open source ones</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: is would be good to get into it now</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>its just gonna get bigger</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yea, that&#8217;s what I&#8217;m thinking</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: I just think about the last 8 years and how far it&#8217;s come</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:05 AM </span><span style="display:block;padding-left:6em;"><span>sitting there at at text screen trying to figure out &#8220;why the fuck cant I get X to start&#8221;</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>:)</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:06 AM </span><span style="display:block;padding-left:6em;"><span>it&#8217;s nothing like that now</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>Just look at Ubuntu 7.10</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: not normally :)</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: <span class="nfakPe">with</span> its Bulletproof X</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>thats a cool system</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: how&#8217;s that?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I didn&#8217;t read anything about bulletproof x</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:07 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: it tries to start X a few times and if it can&#8217;t, it starts in a basic X window and allows you to fix the config</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: ah, good idea</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>still, I wish they&#8217;d fix the dual monitor issue</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: :)</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:08 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: but yea, I used to be a major critic of Linux ( you remember), now I make my living off of it</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah, well theres always 8.04</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yep</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Well, you had every right to be</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>it was flawed in many ways</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:09 AM </span><span style="display:block;padding-left:6em;"><span>but then again it is half the age of its competitors</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>And its advancing much faster, in my opinion</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:10 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: I agree</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>older unix systems are feeling the pinch</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:11 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: AIX, Solaris, HP-UX&#8230; I think they will all eventually be replaced by Linux</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: FreeBSD is keeping up pretty well</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:12 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: probably because its open source, and not corporately crippled like Solaris</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: Sun still tightly controls Solaris, even though its source is available</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: it also helps to have 60% of the BSD market share</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: good point</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:13 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: FreeBSD has a big enough backing and the drive to compete <span class="nfakPe">with</span> Linux to keep moving it forward</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:14 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: that&#8217;s good, competition is a must in the OS field</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: yup</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>otherwise the systems stagnate like Windows</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yep</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>on an unrelated note</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:15 AM </span><span style="display:block;padding-left:6em;"><span>damn p-series virtualization is complicated</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>really complicated</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: :)</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>I&#8217;m sure it is</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:16 AM </span><span style="display:block;padding-left:6em;"><span>I&#8217;m glad in a way that we are running just one system/partition on ours</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: bastard IBM virtualizes the CPU and Memory, but nothing else</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>for that you have to install a separate server to virtualize the i/o and disk</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>wtf?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>why?</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>so IBM can squeeze more money out of you, that&#8217;s why</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:17 AM </span><span style="display:block;padding-left:6em;"><span>system p virtualization is all done in firmware, so that may have something to do <span class="nfakPe">with</span> it, but I&#8217;m not convinced</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:18 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: no thanks</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:19 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: yea, its a pain</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:23 AM </span><span style="display:block;padding-left:6em;"><span>well, I&#8217;d better get to work</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>take it easy</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:25 AM </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;"><span class="nfakPe">Matt</span></span>: Yeah me too</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;"><span>Sorry, I&#8217;m on the phone</span></span></div>
<div><span style="display:block;float:left;color:#888888;">10:26 AM </span><span style="display:block;padding-left:6em;"><span>I&#8217;ll talk to you later</span></span></div>
<div><span style="display:block;float:left;color:#888888;"> </span><span style="display:block;padding-left:6em;text-indent:-1em;"><span><span style="font-weight:bold;">me</span>: peace</span></span></div>
</div>

	<h4>Possibly Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://jonathanbuys.com/297" title="Essentials (November 4, 2008)">Essentials</a> (0)</li>
	<li><a href="http://jonathanbuys.com/463" title="Spit and Polish (March 31, 2009)">Spit and Polish</a> (0)</li>
	<li><a href="http://