<?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>Morgajel.net &#187; Hobbies</title>
	<atom:link href="http://morgajel.net/category/hobbies/feed" rel="self" type="application/rss+xml" />
	<link>http://morgajel.net</link>
	<description>Stemming the flow of evincible Ignorance. We must try to understand for the sake of understanding.</description>
	<lastBuildDate>Sun, 25 Jul 2010 20:48:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>The Philosophy of Monitoring</title>
		<link>http://morgajel.net/2010/06/30/755</link>
		<comments>http://morgajel.net/2010/06/30/755#comments</comments>
		<pubDate>Thu, 01 Jul 2010 03:01:45 +0000</pubDate>
		<dc:creator>morgajel</dc:creator>
				<category><![CDATA[Hobbies]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[administration]]></category>

		<guid isPermaLink="false">http://morgajel.net/?p=755</guid>
		<description><![CDATA[As a system administrator, monitoring is a key job responsibility, yet arguments seem to arise on how to implement it (usually with people who won't be paged at 3am). Before writing this, I looked around for an article on the goals and philosophy of system monitoring, but found very little that really applied to this topic. Hopefully this will help set some expectations for admins, managers and stakeholders on what you should monitor, and why it should be monitored.]]></description>
			<content:encoded><![CDATA[<p>As a system administrator, monitoring is a key job responsibility, yet arguments seem to arise on how to implement it (usually with people who won&#8217;t be paged at 3am). Before writing this, I looked around for an article on the goals and philosophy of system monitoring, but found very little that really applied to this topic. Hopefully this will help set some expectations for admins, managers and stakeholders on what you should monitor, and why it should be monitored.</p>
<h2>Why you Monitor</h2>
<p>Before you set up a single monitor, you have to ask yourself, &#8220;<em>what is the goal</em>?&#8221;  After all, why are you even setting something up? Here a few common reasons for configuring monitors:</p>
<ol>
<li><strong>Notification: </strong>Warning of an issue that requires intervention. What most people think of when you say &#8220;Monitoring&#8221;.</li>
<li><strong>Reactionary: </strong>Automatic actions are taken when certain criteria are met. If common countermeasures are automated, you&#8217;ll have less to handle manually.</li>
<li><strong>Informational: </strong>System status and historical trending allows you to show business customers that production &#8220;isn&#8217;t always down.&#8221; In reality,  you may have 99% uptime, and often downtime is due to requested deployments. Statistical information can also be used for capacity planning.</li>
</ol>
<p>Mentally dividing your monitors into groups will help you calculate which monitors require involvement. It&#8217;s not uncommon to have several thousand monitors at any given time, so it&#8217;s important not to assign critical importance to all of them. A wise man once said &#8220;When all alerts are critical, none of them are.&#8221;</p>
<h2>When you should NOT Notify</h2>
<p>Some monitors may have thresholds set which check for certain conditions; when those conditions are met, you may want to send some type of alert to an administrator. There are two types of notifications &#8211; Active and Passive:</p>
<ul>
<li><strong>Active Notification: </strong>Immediate Action is Required: &#8220;Site is Down!&#8221; A phone call, page, or IM may be used to contact someone. Direct action expected.</li>
<li><strong>Passive Notification: </strong>Informational Purposes only:  &#8220;JVM Memory usage is high.&#8221; Information is logged, and perhaps an email is sent. No direct action is expected.</li>
</ul>
<p>It&#8217;s easy to become addicted to passive notifications &#8211; but remember, data overload can mask important information. It becomes habit to ignore notifications if they are unimportant. The question then is not so much &#8220;when should you notify,&#8221; but &#8220;when shouldn&#8217;t you?&#8221; What it really boils down to is &#8220;Can/should I do anything about it right now?&#8221;</p>
<ul>
<li>Non-critical (disk space creeps above  90%  on /var on a dev server at 2am on a Saturday after several months of growth).</li>
<li>Nothing Systemic is wrong (admins can&#8217;t fix &#8220;low sales&#8221;).</li>
<li>3rd party system, such as a geocoding webservice, is down.</li>
<li>Will resolve shortly, such as a backup server pegging the CPU during midnight backups.</li>
</ul>
<p>Some of these alerts can be avoided by setting a correct monitoring window (ignore CPU during the backup window). Others simply can&#8217;t be addressed by administrators, although you may want to send informational emails to other members of the company (those managing 3rd party SLAs or responsible for tracking online sales).  The next step after getting an alert is figure out what to do about it.</p>
<h2>Reacting Properly</h2>
<p>When a notification is sent out, there should be a definitive action that you can take. Think about why you were notified. There are a few rules to keep in mind when something goes wrong.</p>
<ol>
<li style="margin-bottom: 10px;"><strong>Don&#8217;t Panic. </strong> When 100 alarms go off, your first instinct is to panic. Before you act, take a breath. Spend a moment to get your bearings, and calm yourself. The worst possible thing you can do is flail. Randomly  making changes without rhyme or reason and restarting services can do  more harm than good and may make the situation worse.</li>
<li style="margin-bottom: 10px;"><strong>Identify Obvious Patterns. </strong> What is the commonality? If a central system goes down, you may see many similar alerts. Dependencies can help immensely, masking redundant alerts. A single database failure could take down a dozen sites. Which is better: getting a single alert that the database is down, or 250 alerts that various sites are down and one database notification in the middle? While 250 alerts may impress the gravity of the situation upon you, it may instill panic and anxiety, which leads to flailing.</li>
<li style="margin-bottom: 10px;"><strong>Get things up and running as quickly as possible. </strong> Root-cause analysis can be tedious, time consuming, and occasionally inconclusive. If you have a major system outage, don&#8217;t worry about doing root-cause analysis on the spot.  Do what you need to in order to get things up and running &#8211; you can search the logs later. If the problem is recurring, you&#8217;ll get another chance to investigate later.</li>
<li style="margin-bottom: 10px;"><strong>Communicate with Stakeholders. </strong> The business units don&#8217;t need to know the details, but they do need to know that there is an outage and that it&#8217;s being addressed. If the situation is not quickly resolved, give them status reports. Be warned &#8211; any details you reveal will be warped and held against you. I&#8217;ve learned this one many times. People have a tendency to blame what they don&#8217;t understand. &#8220;Site is down? It must be a witch!&#8221; At my last job we had a &#8220;jump to conclusions&#8221; board which had our favorite scapegoats &#8211; load balancer, connection pool, Endeca, etc. Everyone is guilty of it &#8211; Business, devs, sysops, QA, etc. Even a one-time problem that has been resolved will be brought back up, even if it&#8217;s only tangentially related. Communicating too much information creates future scapegoats.</li>
<li style="margin-bottom: 10px;"><strong>Contact Domain Experts. </strong> If your java site is crashing and you&#8217;re not a java developer, get a java developer involved. If your DNS server falls down and the fix isn&#8217;t obvious, contact your DNS administrator. Expert eyes on the problem may resolve it quicker. Group chat is crucial for sharing information and talking out theories. Someone familiar with the code will know what the error messages mean.</li>
<li style="margin-bottom: 10px;"><strong>Fix the Problem. </strong> It should go without saying that if you find the problem, you should make every effort to resolve it. Workarounds are fine, just don&#8217;t let that band-aid become permanent. What often happens is a workaround is put in place; the alert clears and management no longer feels the pain, so they ignore the problem without putting forth the effort to fix the issue. When the next issue appears, a new fix is layered on the old. Band-aid is layered on band-aid.  Eventually you&#8217;ll need to pull those band-aids off; and the more there are, the more painful it will be.</li>
</ol>
<h2>How Much is Too Much?</h2>
<p>Most administrators prefer to be proactive rather than reactive, resolving issues before they become a problem. Proper monitoring can be a great asset, but if you&#8217;re not careful it can cause problems. For example, at a previous job we had a load balancer, apache instances and tomcat instances set up for each site. Each site had the following:</p>
<p><strong>In (Sitescope) legacy monitoring system:</strong></p>
<ul>
<li>Health check on load balancer URL</li>
</ul>
<p><strong>In Nagios:</strong></p>
<ul>
<li>Health check on Apache instances</li>
<li>Health check on Tomcat instances</li>
<li>Health check on Load balancer URL</li>
</ul>
<p><strong>In Apache:</strong></p>
<ul>
<li>Health check on tomcat instances</li>
</ul>
<p><strong>In Load balancer:</strong></p>
<ul>
<li>Health check on Apache instances</li>
<li>Health check on Tomcat instances</li>
</ul>
<p>Individually, these don&#8217;t seem that bad. If an apache instance goes down *of course* the load balancer needs to know so it won&#8217;t send traffic to that instance. The same with Apache watching Tomcat. The problem was the frequency of the checks; the load balancer was checking each monitor every five seconds. When a poorly load-tested site update was released, certain pages took 7 seconds to load. Things quickly went downhill as threads and processes backed up, crashing the site.</p>
<p>Balancing responsiveness with common sense is essential. Having a monitor check every minute won&#8217;t change the fact that it will take an admin 20 minutes to get to a computer, boot up, log into the VPN, and identify the issue. Don&#8217;t add to the problem by DOS&#8217;ing your applications.</p>
<h2>Making Contact</h2>
<p>One mistake I&#8217;ve seen is using email as a reliable and immediate method of contact, often expecting a quick response. My favorite is when someone sends you and email, then walks down to your desk immediately after and asks &#8220;did you see my email?&#8221; You check and see it was sent literally less than two minutes ago. People don&#8217;t reliably check their email. Admins especially don&#8217;t due to the sheer volume we receive.</p>
<p>Email has it&#8217;s uses, but active contact in an emergency situation is not one of them. Personally, I only check my email when I think about it, which may mean large delays between when the message is sent and received. Couple that with spam filters, firewalls, solar flares and the 500 other unread messages and email becomes a less-than-reliable medium for emergency notifications (even during business hours).</p>
<p>Paging (or SMS)  is preferable if you expect a quick response, although it is far from perfect. Just like email, SMS messages can be lost in the ether, however recipients usually have their phone alert them when a message comes in since it happens far less often than an email drops into the inbox. That said, every alert should not be sent as a page, or apathy will quickly sink in. The escalation path should look something like this (although all steps are not needed):</p>
<ul>
<li><strong>Front-end web interface alert:</strong> User would have to actively be browsing to see the status change. Usually the first clue something is wrong and shows the most recent status changes on a dashboard.</li>
<li><strong>Email Alert: </strong>User would have to be actively checking their email. Usually sent when something is first confirmed down.</li>
<li><strong>Instant Message:</strong> User would have to be at a computer and logged into IM to receive the alert. Rarely used, but an option during business hours.</li>
<li><strong>Page/SMS:</strong> Reserved for emergencies. This means there is trouble.</li>
<li><strong>Phonecall:</strong> Only used if Admin does not respond to the previous contact attempts. Usually performed by an irate manager.</li>
</ul>
<p>If you&#8217;re lucky enough to have a 24&#215;7 call center/ help desk, they can also be leveraged to resolve issues before a system administrator is needed. If recurring patterns start to emerge,  automation can be used to deal with the problem (or better yet you can fix the underlying issue). Sadly, many issues can&#8217;t be automated away or solved by a call-center staffer pressing a button. A real admin will eventually need to be contacted.</p>
<p>I don&#8217;t want to dig too deeply into on-call rotations, but an effort should be made to balance off-hours support with a personal life.  Being on-call means no theaters, fancy dinners, or quality time with the family. Without balance, burn out will ensue.</p>
<h2>Afflictions</h2>
<p>System monitoring often brings out odd behavior in even the most steadfast of administrators. Some behaviors are relatively benign, while others can cause severe problems down the road. Identifying these behaviors before they cause a problem is just as important as having good monitors.</p>
<ul>
<li style="margin-bottom: 10px;"><strong>Data Addiction: </strong> Knowledge is power, but do not mistake information with knowledge. It&#8217;s possible to have 700 alerts, and not one of them identify the underlying issue. One of my least favorite phrases is &#8220;Can we put a monitor on that?&#8221; It&#8217;s often uttered right after a one-off failure; the type of thing that fails once, and once fixed will never cause a problem again. An example of this is a new server, where apache was not configured to restart after a reboot. When the server is restarted, you quickly find apache is down, start it, configure it to auto-start, and move on. There is already a monitor on the websites hosted by that apache instance as well as a monitor on how many apache threads are currently running; What purpose would another monitor serve? How often would it run? This is a prime example of how a data addict can spin out of control &#8211; too many useless monitors will mask a more important issue.</li>
<li style="margin-bottom: 10px;"><strong>Over Automation: </strong> Automation is a wonderful thing, however, it&#8217;s possible to have too much of a good thing. In one instance, there was a coldfusion server which would crash often. Rather than trace out the root cause, restarts were automated, then forgotten about. A few years later, it was found that the coldfusion servers were restarting every twenty minutes, and no one knew about it &#8211; no one except the users. If it takes 20 seconds to restart, and that&#8217;s 26280 twenty-second interrupts over the course of a year &#8211; that can translate into a bad user experience and loss of sales. Make sure that automation is audited and verifiable, and doesn&#8217;t cause more trouble than it prevents.</li>
<li style="margin-bottom: 10px;"><strong>Over Communication: </strong> While it is important to communicate with stakeholders, it is possible to over communicate.  Stakeholders don&#8217;t need to know that there are 130 defunct apache processes caused by a combination of a bug in mod_jk and the threading configuration in JBoss &#8211; all they need is &#8220;Site availability is intermittent &#8211; we&#8217;ve located the root cause and are working on a solution. More information to follow.&#8221; Details aren&#8217;t needed. Likewise, not every single person should be notified when an alert goes off &#8211; does your backup administrator need to know when a web server goes down? No. Does the DBA need to know when an SSL cert is about to expire? No. Tailor the messages to the correct audience. Most monitoring systems allow you to configure  contact groups &#8211; use them.</li>
<li style="margin-bottom: 10px;"><strong>Complexification: </strong> There are dozens of relationships between services, hosts, hostgroups, contacts, servicegroups, notification windows, dependencies, parents, etc. Try as you might, it&#8217;s usually impossible to perfectly model every relationship. Don&#8217;t become distracted by perfecting the configuration &#8211; focus on maintainability, scalability and accuracy. If you can&#8217;t add new systems and monitors, your configuration is too complex.</li>
<li style="margin-bottom: 10px;"><strong>Reporting vs Monitoring: </strong> Reports are the more successful cousin of Alerts. They may superficially appear similar, but serve entirely different purposes. Monitors should only be used to track and trend data and to notify if there is a problem, whereas reports take the collected data and massage it into an aggregated format. Monitors shouldn&#8217;t send out scheduled alerts. They can collect data, but they shouldn&#8217;t be used to present it to users. You&#8217;d be surprised how often someone asks for a monitor to send a nightly report. That slippery slope will turn your monitoring system into crystal reports.</li>
<li style="margin-bottom: 10px;"><strong>False Positives: </strong> False positives are the scourge of the monitoring world. There are many causes, but the reaction is always the same &#8211; start to investigate, realize that it&#8217;s a false positive, and lose interest, knowing that nothing is broken. The problem is that a false positive leads to lazy behavior &#8211; if you&#8217;re pretty sure it&#8217;s a false positive, you don&#8217;t bother looking into it, figuring it will clear on it&#8217;s own. This trains people to have a &#8220;wait and see&#8221; mentality when alerts go off, causing unneeded delays when a major issue appears.</li>
<li style="margin-bottom: 10px;"><strong>Apathy: </strong> It&#8217;s 2am on a Saturday, and you get paged that the CPU on a utility server is pegged. Without looking, you know that it&#8217;s the backup process copying the home directories, so you ignore it. The following Monday at 10am the QA JBoss instance stops responding. You know that it will clear within minutes because the QA team always rebuilds the QA instance Monday morning.  When you get monitors constantly failing and recovering on their own, you start to ignore the pages that come in because you know they&#8217;re unimportant. It&#8217;s only a matter of time before you miss something important. If you have a situation that promotes apathy towards alerts, resolve it before something important is missed.</li>
</ul>
<h2>Don&#8217;t be [A]pathetic</h2>
<p>I mentioned apathy above, but there&#8217;s a bit more to it &#8211; it&#8217;s not just admins that become apathetic.  If an issue is identified, action must be taken to correct it. The coldfusion example mentioned above is a great example of  company apathy &#8211; failure of the business unit to prioritize it and failure of IT to push back hard enough.  A former manager once had someone laugh because his team had ignored my manager&#8217;s bug report for a full year.  That&#8217;s not funny; it&#8217;s pathetic.</p>
<p>When management fails to address an issue; be it a known system problem or something as simple as morale from a lost team member, it shows the team that they don&#8217;t care. It soon becomes a vicious cycle of uncaring when managers no longer care that the site is down, which in turn causes developer apathy.  Developers then don&#8217;t care about code quality, leading to buggy code. Sysops stop caring that alerts are going off, leading to downtime. By the time the cycle is broken, it&#8217;s far too late &#8211; you&#8217;ve established a bad reputation with your customers.</p>
<p>Often times this will start with unreasonable development expectations, causing devs to cut corners, QA to be rushed, and monitors to be forgotten. There is a balance that must be maintained between getting code out the door and making sure that the code can stand up to the abuse it will receive when it goes live.  It&#8217;s a team effort, and everyone must care (and keep caring) to keep the systems running.</p>
<p>Wow. Well, that&#8217;s a lot more than I intended on writing. I should state that I am guilty of 75% or more of the bad behaviors listed here. I hope that this will help start discussion on how to better improve monitoring systems.</p>
<p>If you have feedback, suggestions or enhancements, please leave them in the comments.</p>
<p>(Thanks to jdrost, jslauter, keith4, pakrat, romaink, and my wife Jackie for their peer review/editing.)</p>
]]></content:encoded>
			<wfw:commentRss>http://morgajel.net/2010/06/30/755/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>What&#8217;s up?</title>
		<link>http://morgajel.net/2009/01/29/410</link>
		<comments>http://morgajel.net/2009/01/29/410#comments</comments>
		<pubDate>Fri, 30 Jan 2009 03:38:35 +0000</pubDate>
		<dc:creator>morgajel</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Guitar]]></category>
		<category><![CDATA[Jackie]]></category>
		<category><![CDATA[Jerks]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Ziggy]]></category>

		<guid isPermaLink="false">http://morgajel.net/?p=410</guid>
		<description><![CDATA[So I&#8217;ve been pretty quiet since I hit 100k words- what&#8217;s been going on? Round of layoffs at work Friend diagnosed with cancer Another round of layoffs at work. Jackie became a pampered chef consultant Finances have been wiped out from christmas and getting her PC stuff off the ground. 10% paycut at work Guitar [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been pretty quiet since I hit 100k words- what&#8217;s been going on?</p>
<ul>
<li> Round of layoffs at work</li>
<li> Friend diagnosed with cancer</li>
<li> Another round of layoffs at work.</li>
<li> Jackie became a pampered chef consultant</li>
<li> Finances have been wiped out from christmas and getting her PC stuff off the ground.</li>
<li> 10% paycut at work</li>
<li> Guitar lessons are now done because no one can afford them.</li>
<li> Have been reading <a href="http://astore.amazon.com/literescap-20/detail/0399533958">Manuscript Makeover</a> for ways to improve my book</li>
<li> Decided to do an initial cleanup of the first draft of my script, then rewrite the outline before starting draft #2</li>
<li>started <a href="https://sourceforge.net/projects/morgnagplug/">yet another</a> opensource project- this time it&#8217;s a collection of Nagios Plugins.
</li>
</ul>
<p>So I&#8217;ve been pretty busy. I&#8217;ve finished the cleanup of the first two chapters of book 1; hopefully I&#8217;ll finish the rest shortly, but it&#8217;s very slow going. We&#8217;ll see where things head in the next few months- I expect more crappiness.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgajel.net/2009/01/29/410/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guitar Lessons</title>
		<link>http://morgajel.net/2008/12/03/401</link>
		<comments>http://morgajel.net/2008/12/03/401#comments</comments>
		<pubDate>Thu, 04 Dec 2008 00:40:17 +0000</pubDate>
		<dc:creator>morgajel</dc:creator>
				<category><![CDATA[Guitar]]></category>

		<guid isPermaLink="false">http://morgajel.net/?p=401</guid>
		<description><![CDATA[So I&#8217;ve started teaching guitar again- This time the cash will go directly towards the G-400. As you can see on the sidebar, I&#8217;m now a hair closer. My new student is a coworker who is very excited to learn, so that makes things easy on several fronts (schedules, payment, attendance, etc). At this rate, [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve started teaching guitar again- This time the cash will go directly towards the G-400. As you can see on the sidebar, I&#8217;m now a hair closer. My new student is a coworker who is very excited to learn, so that makes things easy on several fronts (schedules, payment, attendance, etc). At this rate, I should have the guitar by next fall- sooner if I pick up another student (which is a possibility).</p>
<p>that said, I&#8217;m still accepting donations <img src='http://morgajel.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://morgajel.net/2008/12/03/401/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Reading Guitar Tab</title>
		<link>http://morgajel.net/2008/09/22/309</link>
		<comments>http://morgajel.net/2008/09/22/309#comments</comments>
		<pubDate>Tue, 23 Sep 2008 02:11:43 +0000</pubDate>
		<dc:creator>morgajel</dc:creator>
				<category><![CDATA[Guitar]]></category>
		<category><![CDATA[Hobbies]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://morgajel.net/?p=309</guid>
		<description><![CDATA[So some of you may know that I&#8217;ve been working on a second book- this one is music-based. Anyways, I have a few friends who are new to guitar and my book is more or less aimed at them, however some of them don&#8217;t know how to read tab- hence this post. So here&#8217;s the [...]]]></description>
			<content:encoded><![CDATA[<p>So some of you may know that I&#8217;ve been working on a second book- this one is music-based. Anyways, I have a few friends who are new to guitar and my book is more or less aimed at them, however some of them don&#8217;t know how to read tab- hence this post. So here&#8217;s the rundown:</p>
<p><code><br />
e|-------------------------------------------<br />
B|--------x----------------------------------<br />
G|--------x-------5---5-7b9r7-5--------------<br />
D|--------x--5h7---7--------------7~~~~------<br />
A|---5/7--x----------------------------------<br />
E|-------------------------------------------<br />
</code></p>
<p>The above is a sample of some tablature. Each of the 6 lines represents a string on the guitar, each number represents a fret on that string. The lower case (small) e represents the &#8220;high e&#8221; string on the guitar (the thinnest one), and the rest fall into place from there. In the example above, to play the first note you&#8217;d place a finger right behind the 5th fret on the A string (second fattest string), and pluck the string with a finger or a pick.</p>
<p>Above I&#8217;ve also laid out some basic notation, as listed below:</p>
<ul>
<li><b>/</b>: indicates a slide between two or more frets, e.g. 5/7 says start on the 5th fret and slide to the 7th.  A forward slash usually indicates sliding up, while a backslash indicates liding down (e.g. 5/7\5\3).</li>
<li><b>x</b>: Indicates a muted string.  This is usually done with the fleshy edge of your palm on the pinkie side. In the instance above it&#8217;s used to set rhythm.</li>
<li><b>h</b>: Indicates a &#8220;hammer-on&#8221;, where a note is struck and you hammer a finger on the next fret without actually striking the string a second time. By quickly pressing the following fret you retain the vibration from the previous note.  This is often paired with <b>p</b>, pull-offs (e.g. 5h7p5 is  5, hammer on 7, release back to 5).</li>
<li><b>b</b>: Bend a note. By stretching the string slightly sideways on the fretboard you can change the pitch of the note. Notes are usually only bent one or two step (frets), and are occasionally bent back, which is signified by an r (e.g. 7b9r7 means bend the 7th fret to sound like a 9, then back down to 7)</li>
<li><b>~</b>: Vibrato. there are two ways to do this- slightly vary the pressure on the string of a struck note so it wabbles back and forth, or bend it back and forth using the technique above very slightly, like a quarter of a step. It produces an effect similar to a whammy bar on an electric guitar. The more of these in a row, the longer you do it.</li>
</ul>
<p> You&#8217;ll read through guitar tablature like the old pianos with the punch-card sheet music on a reel, playing each note as you go. Tab is meant to be a rough guide, so don&#8217;t expect exquisite timing details. Generally speaking, the farther apart the notes, the farther the pause; the closer the notes, the quicker the interval.  Notes that appear on the same column are usually chords, and should be played in a single strum. Some tablature will define a set of used chords at the top, and simply refer to their name later on.</p>
<p>So that&#8217;s a quick intro into guitar tab. Let me know if I missed anything.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgajel.net/2008/09/22/309/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Epiphany.</title>
		<link>http://morgajel.net/2008/09/15/300</link>
		<comments>http://morgajel.net/2008/09/15/300#comments</comments>
		<pubDate>Tue, 16 Sep 2008 02:11:13 +0000</pubDate>
		<dc:creator>morgajel</dc:creator>
				<category><![CDATA[Guitar]]></category>
		<category><![CDATA[Hobbies]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://morgajel.net/?p=300</guid>
		<description><![CDATA[I&#8217;m the first to admit I&#8217;ve been slacking on my scales practice, mainly sticking to pentatonic (because I&#8217;m lazy). So while reading through my Scales and Modes book and I stumbled across something obvious, yet I&#8217;d never recognized. Each scale has a mode for each note in the scale- Major scale having 7, pentatonic scale [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m the first to admit I&#8217;ve been slacking on my scales practice, mainly sticking to pentatonic (because I&#8217;m lazy). So while reading through my Scales and Modes book and I stumbled across something obvious, yet I&#8217;d never recognized. Each scale has a mode for each note in the scale- Major scale having 7, pentatonic scale having 5, etc.  That I was remotely aware of, but didn&#8217;t think much of it.</p>
<p>I never really bothered with the major scale since it&#8217;s sorta boring, and felt overwhelmed by all of the basic scales (ionian, dorian, phrygian, etc) knowing that I&#8217;d have to learn their modes as well. Then the book pointed out that the first mode of the major scale was called the Ionian scale- wait, what? It turns out that all of those scales I feared learning didn&#8217;t have modes- they <i>were</i> modes- of the major scale!</p>
<p>So here&#8217;s the following:</p>
<pre><code>
Ionian In C:   C D E F G A B
Dorian In D:     D E F G A B C
Phrygian In E:     E F G A B C D
etc...
</code>
</pre>
<p>This means, rather than learning 7 scales with 7 modes each, I just have to get down the 7 modes of the major scale.  So simple, yet I never put it together.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgajel.net/2008/09/15/300/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Writing another Book</title>
		<link>http://morgajel.net/2008/09/05/293</link>
		<comments>http://morgajel.net/2008/09/05/293#comments</comments>
		<pubDate>Sat, 06 Sep 2008 04:28:26 +0000</pubDate>
		<dc:creator>morgajel</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Guitar]]></category>

		<guid isPermaLink="false">http://morgajel.net/?p=293</guid>
		<description><![CDATA[So I&#8217;ve started on another book- this one however isn&#8217;t a novel, it&#8217;s a notebook for guitar students. The first two pages contain a layout of notes on the fretboard, commonly played chords (open, barred and power), pentatonic modes, and relationship of the guitar and tablature to standard musical notation. The rest of the book [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve started on another book- this one however isn&#8217;t a novel, it&#8217;s a notebook for guitar students.  The first two pages contain a layout of notes on the fretboard, commonly played chords (open, barred and power), pentatonic modes, and relationship of the guitar and tablature to standard musical notation.</p>
<p>The rest of the book will follow a simple format, allowing notes, sketches and some notation on the left page and the right containing 6 tab staffs similar to this:<br />
<code><br />
e|----------------------------------------<br />
B|----------------------------------------<br />
G|----------------------------------------<br />
D|----------------------------------------<br />
A|----------------------------------------<br />
E|----------------------------------------<br />
</code><code></p>
<p>I suspect it will be around 80 pages, about the same size as a black and white college-rule journal-type notebook. It'll be US-letter size paper and spiral bound (so it'll lay flat).</p>
<p>If you can think of anything else that should be added to the first two pages of cheat sheet, let me know. I also need a name for this beast, something better than "Morgajel's Guitar Notebook".<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://morgajel.net/2008/09/05/293/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Epic Fail</title>
		<link>http://morgajel.net/2008/07/30/266</link>
		<comments>http://morgajel.net/2008/07/30/266#comments</comments>
		<pubDate>Thu, 31 Jul 2008 02:20:15 +0000</pubDate>
		<dc:creator>morgajel</dc:creator>
				<category><![CDATA[Hobbies]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://morgajel.net/?p=266</guid>
		<description><![CDATA[Why yes, my internet connection is still fubar&#8217;d, thank you for asking. Here&#8217;s your epic fail for the day- my internet connection: Downstream Upstream Max Allowed Speed (kbps) 1184 768 SN Margin (dB) 4.70 6.00 Line Attenuation (dB) 34.50 20.50 CRC Errors 2516 413 This image is my download speed since I started monitoring. Note [...]]]></description>
			<content:encoded><![CDATA[<p>Why yes, my internet connection is still fubar&#8217;d, thank you for asking.</p>
<p>Here&#8217;s your epic fail for the day- my internet connection:</p>
<table>
<th>
<td>  	Downstream </td>
<td>	Upstream</td>
</th>
<tr>
<td> Max Allowed Speed (kbps)</td>
<td> 	1184 </td>
<td>	768</td>
</tr>
<tr>
<td>SN Margin (dB) </td>
<td>	4.70 </td>
<td>	6.00</td>
</tr>
<tr>
<td>Line Attenuation (dB)</td>
<td> 	34.50 </td>
<td>	20.50</td>
</tr>
<tr>
<td>CRC Errors</td>
<td> 	2516 	</td>
<td>413</td>
</tr>
</table>
<p><img src='http://farm3.static.flickr.com/2322/2718225949_12f74bf793.jpg'/><br />
This image is my download speed since I started monitoring. Note that this is just what the modem is reporting, it does not mean that the connection was usable- most of that time PPoE couldn&#8217;t authenticate.</p>
<p>Yes, you&#8217;re seeing that correctly- my connection is 1 meg down, 768 up.<br />
As far as signal:noise margin is concerned, here&#8217;s what <a href='http://www.dslreports.com/faq/6734'>DSL reports had to say</a> (thanks general):</p>
<blockquote><p>
6dB or below is bad and will experience no synch or intermittent synch problems<br />
7dB-10dB is fair but does not leave much room for variances in conditions<br />
11dB-20dB is good with no synch problems<br />
20dB-28dB is excellent<br />
29dB or above is outstanding
</p></blockquote>
<p>so as you can see, my internet tubes have a hairball. Covad came out and tested the line, they confirmed that there was undue resistance on the line, and that the internal wiring was in perfect working order. </p>
<p>We&#8217;ll eventually get to the bottom of this.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgajel.net/2008/07/30/266/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s blue and white and still not working?</title>
		<link>http://morgajel.net/2008/07/10/255</link>
		<comments>http://morgajel.net/2008/07/10/255#comments</comments>
		<pubDate>Thu, 10 Jul 2008 16:33:40 +0000</pubDate>
		<dc:creator>morgajel</dc:creator>
				<category><![CDATA[Hobbies]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[Jackie]]></category>
		<category><![CDATA[Jerks]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[The House]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://morgajel.net/?p=255</guid>
		<description><![CDATA[My internet connection. SO here&#8217;s the scoop 5 days until cutover: I call AT&#038;T, tell them I&#8217;m moving and need to transfer my Static IP DSL service on the 30th(Monday). Tech says no problem it&#8217;s all set. I am pleasantly surprised at how little of a hassle it was and that it was way smoother [...]]]></description>
			<content:encoded><![CDATA[<p>My internet connection.</p>
<p>SO here&#8217;s the scoop</p>
<p><b>5 days until cutover:</b><br />
I call AT&#038;T, tell them I&#8217;m moving and need to transfer my Static IP DSL service on the 30th(Monday). Tech says no problem it&#8217;s all set. I am pleasantly surprised at how little of a hassle it was and that it was way smoother than any other interaction I&#8217;ve had with them.</p>
<p><b>Saturday, 2 days until cutover:</b><br />
We&#8217;re planning on doing the actual moving Sunday morning and plan to spend Saturday packing and planning. However at 3am Saturday morning, the internet connection drops, leaving me unable to contact many of the people who may be able to help us move. It sucks, but ok, we can work around it. I still have enough people to get by with and have ways to contact most of them. Since we asked to be connected on Monday, maybe they had to disconnect the old line the day before in order to get their stuff in place. Maybe they cut it on Saturday rather than Sunday because nobody works on Sunday. I get that, I can understand it. While annoying, it&#8217;s still better than my previous interactions with them.</p>
<p><b>Sunday,move day, day before cutover:</b><br />
We move on Sunday and realize that we never actually checked to see if the house had any phone cables in it. It didn&#8217;t. Fortunately my father-in-law knows a bit about phone installation and was able to help me wire up a stub for the AT&#038;T guy to connect to.</p>
<p><b>Monday, 1 day after move:</b><br />
AT&#038;T shows up, runs cable, says service will be enabled withing X hours. yippie.</p>
<p><b>Tuesday, 2 days after move:</b><br />
Connection is there, but my ip address has changed. &#8220;crap,&#8221; I think, &#8220;now I gotta update dns entries for our sites.&#8221; But I can understand this, perhaps my old static ip was tied to the network near my old apartment and didn&#8217;t reach this area. I can buy that. So I change my DNS entries&#8230; and they don&#8217;t work. I look again and I apparently mistyped the IP because the new DNS entry doesn&#8217;t match the external IP on the router. So I change it again. and 20 minutes later the external IP has changed again.</p>
<p>They had me on a fricking dynamic IP. For the non techies out there, large ISPs only have a limited number of ip addresses, and more often than not don&#8217;t have one for every customer. Since few customers stay online 100% of the time, they can take addresses away from people not using them and redistribute them as needed. This is called a Dynamic IP account. For people who run servers from their homes, keeping the same IP is important, so when your computer goes to connect to morgajel.com, it needs to be able to find the right IP address. That&#8217;s why I pay extra for AT&#038;T to guarantee me the same IP address. That is why I am pissed. While there are ways to get around this (dyndns) but they&#8217;re a pain in the ass an not an option for me since I run an IRC server as well.</p>
<p>So I tinker around, thinking maybe *I* did something wrong- maybe my router was reset and it cleared the static info. I dig around with Jackie&#8217;s help and find the original documentation and try to set up the networking listed manually. No dice. Then I remember that yes, they did manage the info via the PPOE settings, and that just required a user name and password, which is what I was originally using. I switch it back and get yet another dynamic IP.  I should point out that my static IP range was 75.x.x.x, while the dynamic stayed in the 66.x.x.x range- this made it easy to keep track of what was going on.</p>
<p>So I call them up and surprise surprise, they screwed up. See, they don&#8217;t really transfer accounts so much as shut off the old one and create a new one. The tech didn&#8217;t bother to notice I had a static account and replaced it with a dynamic account.  I&#8217;m livid at this point, and tell them that it needs to be switched back. &#8220;Ok, I&#8217;ll put in the order. It&#8217;ll be ready in 10 days.&#8221; Now, this should NOT take 10 days from a technical point of view, this is all red tape causing the delay. But WTF can I do, so I say hell with it and go along with it.</p>
<p>At some point my father-in-law comes back over to help with the baby gate and notes that the technician illegally ran the line through the neighbor&#8217;s yard. While I&#8217;m half tempted to yell at them to fix it, I just wanna get a connection up and running again so I can actually write about the house.</p>
<p><b>Saturday, 5 days after cutover (timeline gets a little fuzzy here)</b><br />
Connection is still flaky, but generally working. I call to check on the status of the static IP order, and find out it was never placed. They&#8217;ll get right on that.</p>
<p><b>Sunday, 6 days after cutover</b><br />
Connection goes down at 7:37am. Completely. It does not come back. Jackie calls tech support this time. Flames, brimstone cries of the undead ensue. Eventually I take the phone and find out there&#8217;s still no mention of a static order of any sort for our account. Guess what? They can&#8217;t do anything about it because &#8220;orders&#8221; isn&#8217;t open on weekends. They agree to send out a tech to look at the line since they can&#8217;t see the modem from their end. He should be out between 8am and noon on monday</p>
<p><b>Monday, 7 days after cutover:</b><br />
Connection begins working again around 7am- I think to myself &#8220;great, maybe they just took it down to switch over to the static IP-  finally I can get my stuff up.&#8221; Nope, still a dynamic IP address.  I call AT&#038;T to get the static IP address set up and let them know the connection is up. They say hold off until the technician confirms it&#8217;s not an issue. ok. I&#8217;ll call back later. I spend my time waiting for the technician looking for any other ISPs in the area on dslreports.com</p>
<p>Technician comes out, nice guy, doesn&#8217;t see anything wrong, says he&#8217;s seen this behavior before when switching from dynamic to static, but the business won&#8217;t fess up to it. Whatever. At least the wiring was good, presuming that both the installer and the inspecting tech were both competent. While he was tooling around, I found out that Cyberonic, my ISP from DC, covers this area (they didn&#8217;t in grand rapids or rochester hills). They resell business class Covad lines to residential customers. I contemplate switching over to them, but figure it would be too much effort since I&#8217;ve gotten this far. I&#8217;m not even sure they&#8217;d have a decent plan in this area.</p>
<p>So he leaves and I call AT&#038;T back and get the static all set up. She also said the static IP would be in place tomorrow. Just as we&#8217;re finishing she informs me that since I don&#8217;t have a contract, my payment will go up to $70 a month from $55. &#8220;WTF, this isn&#8217;t my screwup- you guys said you could transfer service, then you pooch it, then you want to charge me for it??&#8221;</p>
<p>&#8220;Oh, no,&#8221; she says, &#8220;When we transfer service, we don&#8217;t transfer contracts. If you want the original rate, you&#8217;ll have to sign up for another year of service.&#8221;  </p>
<p>This is where Jesse snaps.</p>
<p>&#8220;You know what? Fine, make it the month to month price, because it&#8217;ll take me about 3 weeks to get covad in here.&#8221;  She was a bit shocked by that statement, and the conversation ended awkwardly. I think she was supposed to ask if I was please with my experience but she knew the answer. </p>
<p>I then spent 10 minutes looking through DSL reports for ISPs in the area and narrowing down their plans- turns out that Cyberonic offers the same plan I had in DC for $60. Lets compare the plans side by side:</p>
<table>
<tr>
<th></th>
<th>AT&#038;T</th>
<th>Cyberonic</th>
</tr>
<tr>
<th>Download speed</th>
<td>3meg</td>
<td>6meg</td>
</tr>
<tr>
<th>Upload speed</th>
<td>386k</td>
<td>768k</td>
</tr>
<tr>
<th>IP address</th>
<td>5 static</td>
<td>5 static</td>
</tr>
<tr>
<th>Stability</th>
<td>False</td>
<td>True</td>
</tr>
<tr>
<th>Cost</th>
<td>$55/mo</td>
<td>$60/mo</td>
</tr>
</table>
<p>I call up cyberonic, phone is picked up on the 3rd ring. I tell the technician that I&#8217;m interested in their plan, I get signed up, cc infos taken, etc. The entire call lasted 22 minutes and 28 seconds. I was never transferred once, my call was never dropped, the technician never once said &#8220;I don&#8217;t know,&#8221; and they were going to do a hotswap on the line and cancel the AT&#038;T DSL for us since we obviously can&#8217;t have 2 DSL services on the same line. The transfer should take place in the next 7-14 business days.</p>
<p>I&#8217;d like to point out that AT&#038;T still hasn&#8217;t got their act together as of this morning (Thursday), and dropped my connection while I was beginning a deployment for work.  That was real awesome btw. Thankfully my neighbor is allowing us to use his wireless connection until we get it straightened out. If the issues aren&#8217;t resolved by switching to cyberonic, I&#8217;ll have the neighbor report the cable crossing his yard and they&#8217;ll have to come out and redo it (this is my backup plan).</p>
<p>The good news is we&#8217;ve moved our blogs to <a href="http://gopedro.net">gopedro.net</a>. I&#8217;m still in the process of converting them, but expect to be done by next Monday. The only site that will still point to my static IP is morgajel.com, for my streaming music, IRC server, etc. We&#8217;ve also decided to move all of our pictures to flickr, so expect to see broken images for a while.</p>
<p>I really want to thank gopedro.net for in all of this. I highly recommend them for any domain name purchases or hosting. They&#8217;ve been handling our domain names for years now, and their service is outstanding.  I&#8217;d also like to thank our new neighbor Bobby for being one hell of a cool guy.</p>
<p>I&#8217;ll keep you updated on how things go. Hopefully I&#8217;ll start writing about the house soon.</p>
<p><b>*UPDATE 2008-07-14*</b><br />
Cybronic called and told me they&#8217;d be sending a technician out tomorrow to verify the lines. Hopefully I should have a working connection soon.</p>
<p><b>*UPDATE 2008-07-16*</b><br />
My bad, it was wednesday. Connection is up now and I&#8217;m back online with a static IP!</p>
]]></content:encoded>
			<wfw:commentRss>http://morgajel.net/2008/07/10/255/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>starting opensourcecook.com development</title>
		<link>http://morgajel.net/2008/01/16/233</link>
		<comments>http://morgajel.net/2008/01/16/233#comments</comments>
		<pubDate>Thu, 17 Jan 2008 04:36:58 +0000</pubDate>
		<dc:creator>morgajel</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Jackie]]></category>
		<category><![CDATA[Opensourcecook]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://morgajel.net/2008/01/16/233/</guid>
		<description><![CDATA[So jackie wants to take her recipes and build an open cookbook sorta thing. I&#8217;m not sure how all of this is gonna play out, but I&#8217;ve set up the dev environment for it. I&#8217;ll try to make notes about it when I can.]]></description>
			<content:encoded><![CDATA[<p>So jackie wants to take her recipes and build an open cookbook sorta thing. I&#8217;m not sure how all of this is gonna play out, but I&#8217;ve set up the dev environment for it. I&#8217;ll try to make notes about it when I can.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgajel.net/2008/01/16/233/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>28</title>
		<link>http://morgajel.net/2007/12/31/230</link>
		<comments>http://morgajel.net/2007/12/31/230#comments</comments>
		<pubDate>Mon, 31 Dec 2007 06:30:29 +0000</pubDate>
		<dc:creator>morgajel</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Dreams]]></category>
		<category><![CDATA[Ian]]></category>
		<category><![CDATA[Jackie]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://morgajel.net/2007/12/31/230/</guid>
		<description><![CDATA[Whew, it&#8217;s been a busy year. Back in 2005 I wrote a list of things I&#8217;d like to do eventually that I&#8217;d be able to do if I had the time and resources that winning the lotto would provide. I&#8217;ve made a positive step towards realizing a couple of those. Family The big change this [...]]]></description>
			<content:encoded><![CDATA[<p>Whew, it&#8217;s been a busy year. Back in 2005 I wrote a list of things I&#8217;d like to do eventually that I&#8217;d be able to do if I had the time and resources that winning the lotto would provide. I&#8217;ve made a positive step towards realizing a couple of those.</p>
<h2>Family</h2>
<p>The big change this year was the addition of Ian. We didn&#8217;t get off too well in the beginning, but we&#8217;re doing pretty good now. He&#8217;s just now to the point where he&#8217;s taking his first steps. He&#8217;s a smart kid, very inquisitive, but stubborn. Within a few years he&#8217;ll be learning how to read and write- I&#8217;m guessing it won&#8217;t be long until I&#8217;m teaching him how to program. He&#8217;s got an eye for any type of electronics, but goes nutty for my blackberry or laptop. Yeah, he&#8217;s a geek in training.</p>
<p>Jackie&#8217;s been doing fairly well, all things considered. She&#8217;s been staying home with Ian rather than going back to work, and it&#8217;s driving her a little stir crazy. To help ease the cabin fever, she got a laptop for christmas- Ian wasn&#8217;t letting her stay in the office, so now she has a way to keep in contact with people from the living room.</p>
<h2>Weddings</h2>
<p>This was the year of the wedding&#8230; Brad and Erin, Jordan and Beth, Matt and Carrie, William  and Charleen, Jackie&#8217;s friend Joslyn, Jackie&#8217;s sister Lori, and Paul and Kristen. I only made it to 4 of the weddings, but I was standing up in two of them. The ones we went to were all in Grand Rapids, so we had the joy of driving back and forth 155 miles each way, with the added bonus of dropping Ian off somewhere along the way</p>
<h2>Work</h2>
<p>Work started off pretty rough. I have a habit of reflecting the attitudes of those around me, and my supervisor at the beginning of the year was pretty negative. That coupled with Ian&#8217;s birth and all the associated expenses turned me into a pretty miserable person. Fortunately the supervisor left and was replaced with a cautious optimist. Things got better- so much so that I just passed the 1 year mark at my current place and still find it interesting and entertaining.</p>
<h2>Technologies</h2>
<p>I&#8217;ve played with many new technologies this year- Jboss, Netscaler and CentOS being the three foremost. I&#8217;ve dug back into ruby with a couple of new projects, as well as LDAP and a plethora of new utilities. I even picked up a bit of python. This trend doesn&#8217;t look like it&#8217;s gonna let up, so the job should be exciting and interesting for some time to come.</p>
<h2>Projects</h2>
<p>This year saw me move away from music and go back towards software (although I have been playing harmonica in the car at stoplights on the way to work). I joined the Luma team as head cheerleader and started the QT4 branch. After becoming frustrated with the python, qt3->qt4 transition and the codebase in general, I started an unofficial sister project, <a href="http://rubyforge.org/projects/ruma/">Ruma</a>. I still sit in the Luma channel and help when I can, but I&#8217;m gonna sit back and wait until we&#8217;re ready for QT4- hopefully we&#8217;ll scrap the entire codebase and start fresh.</p>
<p>Right now I have two other developers &#8220;working&#8221; for me on Ruma, Lars and Hiro. They&#8217;ve put a lot of effort into bringing this bad boy to life, and I&#8217;m thankful I&#8217;ve had their help. For those of you not aware, Luma and Ruma are <a href="http://en.wikipedia.org/wiki/LDAP">LDAP</a> administration tools. As a System Administrator, I use LDAP a lot, so having specialized tools can be helpful.</p>
<p>Another project I started this year was competing in National Novel Writing Month. I finished the rough draft for my first book, <a href=http://www.nanowrimo.org/eng/user/243541"">Sinblade</a>, a week early. It&#8217;s only 150 pages or so, but not a bad start all things considered. Jackie&#8217;s (sorta) working on revising it, and once she&#8217;s done I&#8217;ll open it up for others to start giving me feedback. I&#8217;m excited and nervous about it. If it takes off and people like it, I have 6 or so more books that I&#8217;m interested in writing.</p>
<p>The money situation is still pretty tight, but it&#8217;s getting better. Hopefully next year will be as much of an improvement over this year as this was over last year.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgajel.net/2007/12/31/230/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
