<?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>Maven R&#124;D</title>
	<atom:link href="http://www.mavenrd.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mavenrd.com</link>
	<description>Personal Site of Matt O&#039;Donnell</description>
	<lastBuildDate>Thu, 22 Mar 2012 22:26:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Five Button Guys</title>
		<link>http://www.mavenrd.com/blog/five-button-guys/</link>
		<comments>http://www.mavenrd.com/blog/five-button-guys/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 06:15:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://www.mavenrd.com/?p=122</guid>
		<description><![CDATA[During the past year I&#8217;ve come to a conclusion about many IT professionals that make up their departments. I&#8217;ve begun calling this archetype: five button guys. A quick definition Your local five button guy walks into work and presses the same five buttons in the same application everyday. As a result, a knowable and recurring [...]]]></description>
			<content:encoded><![CDATA[<p>During the past year I&#8217;ve come to a conclusion about many IT professionals that make up their departments. I&#8217;ve begun calling this archetype: five button guys.</p>
<p><span id="more-122"></span></p>
<h2>A quick definition</h2>
<p>Your local five button guy walks into work and presses the same five buttons in the same application everyday. As a result, a knowable and recurring problem does not happen that day. While five button fixes are quick and many times necessary, they are always a cop out. Five button fixes never get to the root of the problem.</p>
<p>Five button guys are defined not by the fix they are named after but by the lack of preventing the problem again. They are happy to take the easy way out EVERYDAY. Five button guys don&#8217;t take initiative to UNDERSTAND and PREVENT future five button problems.</p>
<h2>Why this is a problem</h2>
<p>Five button guys are a single point of failure in your organization. Five button guys own a system in that they are the only one with the knowledge of the quick fixes required to keep the system afloat. You have to wait for a specific five button guy to get un-busy to press his five buttons to solve a problem on HIS system. What happens when he goes on vacation or worse yet leaves the company?</p>
<p>Five button fixes don&#8217;t scale. By definition, they never fix the underlying problem. Five button guys promote a company culture having an ever increasing pool of persistent problems. Having a collection of problems that only gets bigger is itself big a problem.</p>
<p>Five button guys don&#8217;t promote solid system development. The lack of solid understanding of underlying technologies and willingness to take the easy way out means they will produce more five button situations. Obviously this is going to put your future projects on a shaky foundation. Businesses whose foundations are laid in understanding instead of Magic are light-years ahead of their counterparts.</p>
<h2>An aside on Magic</h2>
<p>Five button fixes are just one example of Magic. <strong>Magic is an assumed response to a set of poorly understood actions.</strong> Magic is restarting your computer when your network card can&#8217;t connect to your home network for no reason. Magic is accepting &#8216;it just does that sometimes.&#8217; Magic is bullshit.</p>
<p>Magic is a problem because it doesn&#8217;t leave you with a lot of options when it fails. You end up trying to the same Magic solution, but increasing the level of applied hope. Computers respond much better to logic than hope.</p>
<h2>Fixing the problem means fixing your culture</h2>
<p><b> Eliminate five button guys by eliminating five button fixes.</b> Identify your organization’s persistent quick fix problems. The quick fix means five button problems can fly under the radar. We can only fix problems we know about so ask around. Put some time into sharing your organization infrastructure with another group to hash out persistent reacquiring problems.</p>
<p>Give people time to solve the problem the right way. Allow time for root cause analysis of their five button problems. If you don&#8217;t have time, allow for analysis as they come up again. Still to many? Fix one a week. Don&#8217;t accept cop outs solutions.</p>
<p>Give your people time to understand the technologies they work with. Focus on shell/regex/<a href="http://zachholman.com/posts/glue-languages/">glue languages</a>, automation technologies, and a heavy understanding of your core technologies. Side projects and <a href="http://en.wikipedia.org/wiki/Hack_Day">hack days</a> are a great way to give people a different perspective on tech they work with every day.</p>
<p>At the end of the day we eliminate five button guys by increasing THEIR knowledge base. We tip the scale of the quick fix vs root understanding a little each day towards root understanding to make real fixes easier.</p>
<p>And remember there is a little five button guy in all of us. Nobody knows everything or has all of the answers. We are in all in this together.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mavenrd.com/blog/five-button-guys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>News &#8211; 11/14/11</title>
		<link>http://www.mavenrd.com/news/news-1114211/</link>
		<comments>http://www.mavenrd.com/news/news-1114211/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 05:13:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.mavenrd.com/?p=108</guid>
		<description><![CDATA[There is a new page for blog posts. It&#8217;s structured a little differently than most blogs. Check it out here or through the menu above. Its still written and edited mostly by just me. Please be patent with any typos / errors or better yet shoot me an email through the contact page]]></description>
			<content:encoded><![CDATA[<p>There is a new page for blog posts.  It&#8217;s  structured a little differently than most blogs.  Check it out <a href="blog/"> here </a> or through the menu above.  Its still written and edited mostly by just me.  Please be patent with any typos / errors or better yet shoot me an email through the <a href="contact"> contact page </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mavenrd.com/news/news-1114211/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Questions for Startups</title>
		<link>http://www.mavenrd.com/blog/questions-for-startups/</link>
		<comments>http://www.mavenrd.com/blog/questions-for-startups/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 04:42:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://www.mavenrd.com/?p=90</guid>
		<description><![CDATA[A few weeks ago I was posed with a new question. Q: What would you ask a new start-up or set of people thinking about a starting one. I believe that there are a lot people disillusioned about startups by the &#8216;quick success&#8217; or the promise of short hours. There are no quick successes, nor [...]]]></description>
			<content:encoded><![CDATA[<p> A few weeks ago I was posed with a new question.  </p>
<p><b>Q: </b> What would you ask a new start-up or set of people thinking about a starting one.</p>
<p><span id="more-90"></span><br />
I believe that there are a lot people disillusioned about startups by the &#8216;quick success&#8217; or the promise of short hours.  There are no quick successes, nor are there many half days.  So here are my questions, and then some comments.  </p>
<ul>
<li>
Can you define you goal in less than 140 characters, without specifying underlying technologies?
</li>
<li>
What makes you different?
</li>
<li>
What makes you better?
</li>
<li>
Are you ready to make this a priority?
</li>
<li>
Are you in this for the $$ or the &#8216;thing&#8217; you are doing? (The right answer is the latter)
</li>
<li>
How stubborn are you.  You need to not accept failure.  You need to get back up when you fall down.  However, you do need to acknowledge and respond to criticism.
</li>
<li>
How attached are you to your idea?  Are you willing to change with it?  Your idea is going to evolve.  Are you ready for that?
</li>
<li>
Are you excited ?? (&#8216;Yes.&#8217; is the wrong answer.  We are actually looking for &#8216;YES!!!!! LETS DO IT!!!&#8217; )
</li>
</ul>
<h2> My Comments </h2>
<p>
This is going to be hard.  You are going to need to put in some long hours, pound on doors, and not accept failure.  Success takes time.  A lot of time.  This only works if you are excited to get up at 6:00am and sad when you have to leave at 8:00pm.  You are going to have the privileged of trading in your old life.  For this you get&#8230;
</p>
<ul>
<li>
to leave 9-5 behind.
</li>
<li>
take your work home with you.
</li>
<li>
hold your future in your own hands.
</li>
<li>
own your failures.
</li>
<li>
make a difference
</li>
<li>
make the rules.
</li>
<li>
be yourself.
</li>
<p> and </p>
<li>
<b> build something awesome ! </b>
</li>
]]></content:encoded>
			<wfw:commentRss>http://www.mavenrd.com/blog/questions-for-startups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coding Standard</title>
		<link>http://www.mavenrd.com/blog/coding-standard/</link>
		<comments>http://www.mavenrd.com/blog/coding-standard/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 03:56:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Programming - General]]></category>

		<guid isPermaLink="false">http://www.mavenrd.com/?p=65</guid>
		<description><![CDATA[A coding standard is an important part of programming.  It lays the ground rules for how software is constructed and formatted .  This standard has the following goals. Reduce the &#8220;holy shit&#8221; factor when faced with a lot of new code. Encourage a style of making software that is more maintainable and less likely to [...]]]></description>
			<content:encoded><![CDATA[<p>A coding standard is an important part of programming.  It lays the ground rules for how software is constructed and formatted .  This standard has the following goals.</p>
<ul>
<li>Reduce the &#8220;holy shit&#8221; factor when faced with a lot of new code.</li>
<li>Encourage a style of making software that is more maintainable and less likely to contain errors</li>
<li>Make collaboration easier</li>
</ul>
<p><span id="more-65"></span></p>
<h2>Naming</h2>
<p>All variable names shall be descriptive.  The only exception is non-nested for loops, where the counter or iterator variable is &#8216;i&#8217;</p>
<p>All names shall be spelled correctly.</p>
<p>All names shall follow the camel case convention</p>
<p>Class variable names shall be a noun and start with a capital letter</p>
<p>Method or function names shall start with a verb and start with a lower case letter.</p>
<p>All non-class names shall start with a lower case letter</p>
<p>Constants shall be written in all capital letters delimiting words with &#8216;_&#8217;</p>
<p>Private class variables start with a &#8216;_&#8217;</p>
<p>All method and function parameters start with a &#8216;p&#8217;</p>
<p>All return variables start with a &#8216;r&#8217;</p>
<h2>General</h2>
<p>There shall never be two section (10 consecutive lines long) that have the same content.  Content that breaks this rule should be re-factored into a separate function or method.</p>
<p>All methods shall only have one return statement.  Instances that break this rule should use a single return variable to keep track of return information.</p>
<p>Nesting function calls as function parameters shall never go more than 3 levels deep.</p>
<h2>Comments</h2>
<p>Class files shall be preceded with a comment block denoting author, date create, and general purpose of the class.</p>
<p>Methods shall be preceded with a comment block denoting purpose, parameters (including expected format), and return type.</p>
<p>Inline comments shall follow one of the following formats:</p>
<p>//&#8211;COMMENT&#8211;// comment string directly about code.</p>
<p>//&#8211;NOTE&#8211;// the note string.  this is usually about an assumption or use case</p>
<p>//&#8211;TODO&#8211;// a item that still needs to be done or finished.</p>
<h2>Documents, Files and Folders</h2>
<p>All class shall be in separate files with the file name being consistent with the class name</p>
<p>All classes shall have an associated UML diagram or section in a project UML diagram (depending on the scope of the project)</p>
<p>All code files shall be back up on the source control server.  The source control server shall never be more than 2 days out of date with any local copy.</p>
<h2>Process</h2>
<p>All code shall be review for correctness and understanding by at least one person who was not involved in writing it.</p>
<p>All instances where this coding standard is intentionally broken shall be documented in a project centric location.  This should include the files and methods breaking the standard, what parts of the standard is being broken, and why that part of standard is unable to conform.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mavenrd.com/blog/coding-standard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>News &#8211; 11/03/11</title>
		<link>http://www.mavenrd.com/news/news-11311/</link>
		<comments>http://www.mavenrd.com/news/news-11311/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 03:10:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.mavenrd.com/?p=67</guid>
		<description><![CDATA[My first blog items have been posted! My goal is to provide some insight into my feelings about software, process, and software engineering culture. Please be patient with any typos, misspellings, or grammar errors. If you have any comments or want to point out a mistake I would love to hear from you. In the [...]]]></description>
			<content:encoded><![CDATA[<p>My first blog items have been posted!  My goal is to provide some insight into my feelings about software, process, and software engineering culture.  Please be patient with any typos, misspellings, or grammar errors.  If you have any comments or want to point out a mistake I would love to hear from you.  In the interest of keeping my inbox free of spam, please use the <a href="www.mavenrd.com/contact"> contact page </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mavenrd.com/news/news-11311/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Deal-breakers</title>
		<link>http://www.mavenrd.com/blog/deal-breakers/</link>
		<comments>http://www.mavenrd.com/blog/deal-breakers/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 02:42:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Nerds]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.mavenrd.com/?p=35</guid>
		<description><![CDATA[This post started as an email to the great people at 5by5.  The email suggested that although Apple is a great company that makes great products there is still a minority they might not be be right for.  Apple products don&#8217;t solve my problems, and have a list of deal-breakers that prevent me from buying [...]]]></description>
			<content:encoded><![CDATA[<p>This post started as an email to the great people at 5by5.  The email suggested that although Apple is a great company that makes great products there is still a minority they might not be be right for.  Apple products don&#8217;t solve my problems, and have a list of deal-breakers that prevent me from buying in.  My reasons might be menial, but they are my own.<br />
<span id="more-35"></span></p>
<h2>Deal-breakers</h2>
<p><strong>deal-breaker</strong>: light UI.  This is the biggest one.  It has to do with that whole working in the dark hipster thing.  In all seriousness this is a huge problem I have.  A dimly lit screen and a hoodie help me focus on the task at hand.  A room fully engulfed in light breaks me out of <a href="http://www.randsinrepose.com/archives/2006/07/10/a_nerd_in_a_cave.html"> The Zone</a>.<br />
<strong>deal-breaker</strong>: product cost. I&#8217;m still in poor college student mode.<br />
<strong>deal-breaker</strong>: phone data plan costs.<br />
<strong>deal-breaker</strong>: software lock-in.  One upon a time,  iTunes took all my files/directory and converted them.  I felt betrayed.  I don’t know if iTunes still does that, but I&#8217;ve found alternatives that work great.  I have no reason to return for music reasons.<br />
<strong>deal-breaker</strong>: Safari still doesn’t render a lot of the the web.  I hate flash sites like everybody else, but it&#8217;s a big deal when its between me and the content I want.</p>
<h2>Deal-makers (My Setup)</h2>
<ul>
<li>I have a LaunchBar equivalent (Gnome Do) I press [super+space] and start typing to get to programs and folders.</li>
<li>Most of my writing and code is text based.  <a href="http://projects.gnome.org/gedit/"> Gedit </a>, <a href="http://www.eclipse.org/"> Eclipse </a>, and <a href="http://live.gnome.org/Dia"> Dia </a> are my main tools.</li>
<li>Dark UI &#8211; with monospace green font.  I have more colors for code.</li>
</ul>
<div>
<dl id="attachment_85">
<dt><a href="http://localhost/Maven/wp-content/uploads/2011/10/Desktop.png"><img title="Desktop" src="http://localhost/Maven/wp-content/uploads/2011/10/Desktop.png" alt="" width="575" height="359" /></a></dt>
</dl>
</div>
<ul>
<li>Gmail is everywhere</li>
<li>I have one computer; I just have to manage the risk of spontaneous laptop combustion.  I can always get all my critical stuff right away.  I could get by with just text editors for a few days.  Since laptop combustion doesn&#8217;t happen all that often I can accept a couple hour refresh.   One laptop means sync is not a problem.</li>
<li>Backup.  Since all my files are text based subversion is a great backup option.</li>
<li>HTML is ubiquitous.  This is key for things I makes as well as web services that I consume.</li>
<li>shell and cron are so powerful.</li>
<li>Battery life.  I get a solid 4 hours on my Thinkpad.  That is good enough for a long US plain ride,  My laptop is plugged in most of the time anyway.</li>
<li>Real books.  You can read during takeoff and landings, I don&#8217;t have to worry about deleting digital copies or how long they will have to be in the cloud.  My book will never run out of batteries.. Real books feel and smell better.  Bookshelves are sexy :)</li>
<li>Banshee.  Point it towards your  music directory(s) and it sucks the music in.  You have to opt in to tell it to change stuff and even then its only file names and attributes.</li>
</ul>
<p><a href="http://localhost/Maven/wp-content/uploads/2011/10/Banshee.png"><img title="Banshee" src="http://localhost/Maven/wp-content/uploads/2011/10/Banshee.png" alt="" width="615" height="384" /></a></p>
<ul>
<li>Skype. History, quotes, groups, video, screen sharing are totally deal-makers</li>
</ul>
<h2>Phone</h2>
<p>I have a dumb phone.  I&#8217;m at a computer for more than 10 hours a day so connecting to social networks is not a problem.  An added bonus is less interruptions when I&#8217;m unplugged.  There exists of a definite line of working / not working.  Not at a computer.?  I&#8217;m not working.  My  phone has a 7 day battery life.</p>
<h2>Apple</h2>
<p>Apple stuff is still really great. Really great.  Below are some reasons why they are right for a lot of people.</p>
<ul>
<li>It&#8217;s easier to use.</li>
<li>Their stuff is pretty.  Really really  pretty.</li>
<li>A lot of stuff just works.  I have the time and patience to work though a ton of stuff other people would not.  High impact problems don&#8217;t come up all that often on my computer and devices, but they hardly come up at all with Apple products.</li>
<li>Apple stuff is trendy.  This is the one that most people won&#8217;t like or agree with.  Many people buy smart phones to be cool.  A majority of the population doesn’t need one.  This is a feature or a bug depending on who you talk to.</li>
<li>Apple has your best interest in mind.  For instance, windows shutdown time can still be around the 10 min mark.  The enterprise people like waiting so Microsoft keeps it in.</li>
</ul>
<h2>Android</h2>
<p>I like Android, but it has deal-breakers too.  The data cost is still THE problem.  Other than that, the number one platform problem is the scroll jitters.  Android would still be my platform of choice.  I&#8217;m fixing my problems not yours and I like Java better..</p>
<p>&nbsp;</p>
<p>Just keep in mind people have different problems so solutions, however great they are, won&#8217;t be right for everyone.  I sure there are some people out there that feel bad for the guy who hasn’t found the zen of Apple products.  Don&#8217;t feel bad for me.  I like where I&#8217;m at.  My set up works for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mavenrd.com/blog/deal-breakers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nerd Problems</title>
		<link>http://www.mavenrd.com/blog/nerd-problems/</link>
		<comments>http://www.mavenrd.com/blog/nerd-problems/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 00:18:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Nerds]]></category>
		<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://www.mavenrd.com/?p=32</guid>
		<description><![CDATA[So nerds have problems, but nerd problems are different from everybody elses. Nerd problems are low impact / high frequency while normal people problems are high impact / low frequency. In layman’s terms, when it comes to computers, normal people have relatively hard problems that take a long time to solve, but these problems are [...]]]></description>
			<content:encoded><![CDATA[<p>So nerds have problems, but nerd problems are different from everybody elses. Nerd problems are low impact / high frequency while normal people problems are high impact / low frequency. In layman’s terms, when it comes to computers, normal people have relatively hard problems that take a long time to solve, but these problems are fairly infrequent.  Nerds on the other hand have problems that are easier to solve, but happen at much shorter intervals.  To be clear I&#8217;m talking about computer nerds throughout this piece, but I think the impact / frequency distinction is fairly accurate for all nerds. Time for an couple of examples.<br />
<span id="more-32"></span></p>
<p>The common problem that is used in these two examples is the configuration of network adapters. As you will see it effects these two groups differently.</p>
<p>Normal People Problem – Your mom can’t connect to the network. When fixed, her computer will remember the password until it dies and she has the same problem come again next year, in which time she will go through the same process of asking you to set it back up for her. High impact because it takes a non-technical person forever to figure out; low frequency because it only happens once a year.</p>
<p>Nerd Problem – A nerd sets up so many virtual machines it is a pain to configure all of the network adapters every-time. When fixed we have an automated solution of configuring network adapters that works with our automated solution for setting up VMs. Low impact because it only takes us a few minutes to set one network adapter up but high frequency because we might do this 10 time a day.</p>
<p>This stem from nerd’s religious observance to process as well as insatiable appetite for finding and assimilating information. This may seem tedious but here’s the good news. A lot of nerds have to same problems. We build solutions that help out our fellow nerds everywhere. After we are done with our problems we can then solve your problems faster or get back to making the next angry birds.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mavenrd.com/blog/nerd-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Home</title>
		<link>http://www.mavenrd.com/sticky/home/</link>
		<comments>http://www.mavenrd.com/sticky/home/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 07:19:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sticky]]></category>

		<guid isPermaLink="false">http://www.mavenrd.com/?p=21</guid>
		<description><![CDATA[New Again! This site is a place to show off some of my current projects and thoughts about making software. More coming soon.]]></description>
			<content:encoded><![CDATA[<p>New Again! This site is a place to show off some of my current projects and thoughts about making software.  More coming soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mavenrd.com/sticky/home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

