<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Greymeister.net]]></title>
  <link href="http://www.greymeister.net/atom.xml" rel="self"/>
  <link href="http://www.greymeister.net/"/>
  <updated>2012-05-01T19:08:00-04:00</updated>
  <id>http://www.greymeister.net/</id>
  <author>
    <name><![CDATA[Charles Erwin]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Jackrabbit 2.4 Content Indexing]]></title>
    <link href="http://www.greymeister.net/blog/2012/05/01/jackrabbit-2-dot-4-content-indexing/"/>
    <updated>2012-05-01T18:38:00-04:00</updated>
    <id>http://www.greymeister.net/blog/2012/05/01/jackrabbit-2-dot-4-content-indexing</id>
    <content type="html"><![CDATA[<p>I have been working with <a href="http://jackrabbit.apache.org">Jackrabbit</a> for about a year now, and recently wanted
to upgrade to 2.4 which was the latest, stable revision.  We had been using version 2.2 since that was latest
stable version when we started the project, but recently changes
including an unexpected upgrade of our PostgreSQL database servers to version 9.1 which was not compatible
with 2.2.0.  Upgrading to 2.4 seemed to go smoothly, except for one application which expects to use content
search.  This seemed to work fine in 2.2.x, but not at all in 2.4.  I posted a <a href="https://issues.apache.org/jira/browse/JCR-3287">JIRA Ticket</a>
hoping that I could get some resolution.  Well, it turns out that it seems to have happened as far back as 2.3 due
to a change in how Jackrabbit handles its content scraping.  I found that by adding an <em>indexingConfiguration</em> and
a <em>tikaConfigPath</em> to the <strong>SearchIndex</strong> element of repository.xml seemed to do the trick.  I&#8217;ve updated the
<a href="https://github.com/greymeister/clustered-jackrabbit">GitHub project</a> linked to in my
<a href="http://www.greymeister.net/blog/2011/11/28/jackrabbit-clustering-primer/">previous post</a> on Jackrabbit.  It&#8217;s
basically just a ton of XML to add to your project, but it seems to trick Jackrabbit into actually indexing the
content nodes in your repository.</p>

<p>As a side note, you may have to do what <a href="https://issues.apache.org/jira/browse/JCR-3287?focusedCommentId=13261949&amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13261949">Razvan Potter explained</a>
on the JIRA ticket and manually override your dependency resolution tool to use Tika 1.1 instead of the version
that comes with Jackrabbit as a dependency.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Keeping the 9's]]></title>
    <link href="http://www.greymeister.net/blog/2012/04/05/keeping-the-9s/"/>
    <updated>2012-04-05T21:00:00-04:00</updated>
    <id>http://www.greymeister.net/blog/2012/04/05/keeping-the-9s</id>
    <content type="html"><![CDATA[<p>Wednesday at work, the network went down in our office.</p>

<iframe width="420" height="315" src="http://www.youtube.com/embed/hIxvpjREwyI" frameborder="0" allowfullscreen></iframe>


<p>While not quite that bad, hilarity does often ensue when everyone realizes they are basically paralyzed when shut off
from the Internet.  I work on products that are hosted on the Internet in the &#8220;cloud&#8221; A.K.A. the already-worn-out buzzword for
any services hosted over the Internet.  In this context, I wondered what types of uptime my company was promising to its customers
for the services I work on.  The &#8220;holy grail&#8221; of availability, usually referred to as
<a href="http://en.wikipedia.org/wiki/High_availability">five nines</a>, is availability 99.999% of the time.  I have worked in my current position
for almost exactly a year, and so I thought it would be funny to calculate the availability of my corporate network in that
period.  I&#8217;m making some pretty big assumptions, mainly that this was the only outage that occurred, which I&#8217;m pretty sure it wasn&#8217;t, and that
it lasted for exactly 2 hours.  It may have lasted less time, but effectively this was how long it lasted for me, because I went home
more than 2 hours earlier than expected.  I&#8217;m also assuming that there are 24 hours a day, and 365 days in a year, which isn&#8217;t
<a href="http://blogs.discovermagazine.com/badastronomy/2012/02/29/why-we-have-leap-days-2/">exactly accurate either</a>:</p>

<div markdown="0">
\[ A = \frac{T_{Total} - T_{Down}}{T_{Total}} = \frac{24 * 365 - 2}{24 * 365} \approx 99.98\% \]
</div>


<p>According to that Wikipedia chart, it looks like the folks in our IT department are close to four nines this past year.  Hope we aren&#8217;t
promising much more to our customers!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[You're No Tom Brokaw Sir]]></title>
    <link href="http://www.greymeister.net/blog/2012/03/01/youre-no-tom-brokaw-sir/"/>
    <updated>2012-03-01T22:16:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2012/03/01/youre-no-tom-brokaw-sir</id>
    <content type="html"><![CDATA[<iframe width="420" height="315" src="http://www.youtube.com/embed/uWXRNySMW4s" frameborder="0" allowfullscreen></iframe>


<p>Notice how the audience applauds Tom Brokaw when he asks a relevant question, and didn&#8217;t boo or hiss at him when Quayle complains
about having to answer it more than once.  Not only that, but Brokaw points out Quayle&#8217;s exaggeration on how many times he&#8217;s
responded to that criticism.</p>

<p>Compare that to how the crowd <a href="http://www.youtube.com/watch?v=To_g23JkXnU">basically threw cabbages</a> at John King
for asking a question about Newt Gingrich&#8217;s stance on open relationships.  Not only a relevant question based on Newt&#8217;s
personal history, but one that points out Republican hypocrisy when it comes to being the &#8220;family values&#8221; party.</p>

<p>Seems like there&#8217;s a little less gravitas than in &#8216;88 all around.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The Problem With Architects]]></title>
    <link href="http://www.greymeister.net/blog/2012/02/22/the-problem-with-architects/"/>
    <updated>2012-02-22T03:03:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2012/02/22/the-problem-with-architects</id>
    <content type="html"><![CDATA[<iframe width="560" height="315" src="http://www.youtube.com/embed/JznYDwazfYc" frameborder="0" allowfullscreen></iframe>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The 2012 Presidential Election in a Nutshell]]></title>
    <link href="http://www.greymeister.net/blog/2012/02/19/the-2012-presidential-election-in-a-nutshell/"/>
    <updated>2012-02-19T23:51:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2012/02/19/the-2012-presidential-election-in-a-nutshell</id>
    <content type="html"><![CDATA[<iframe width="560" height="315" src="http://www.youtube.com/embed/G7iMqgOkbzo" frameborder="0" allowfullscreen></iframe>


<p>I think it&#8217;s pretty much a <a href="http://www.usatoday.com/news/washington/2007-04-26-tenet-interview_N.htm">slam dunk</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Mount &amp; Blade Face Code Fun]]></title>
    <link href="http://www.greymeister.net/blog/2012/02/06/mount-and-blade-face-code-fun/"/>
    <updated>2012-02-06T23:33:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2012/02/06/mount-and-blade-face-code-fun</id>
    <content type="html"><![CDATA[<p>I&#8217;ve been toying around with editing my <a href="http://www.taleworlds.com/">Mount and Blade</a> character&#8217;s looks for some time, and found
that one of the more annoying aspects is that the code generated is not the same format as the one when you export your character.</p>

<p><img src="http://images.greymeister.net.s3-website-us-east-1.amazonaws.com/mount_and_blade_character_screen.jpg" width="512" height="320" title="Character Editor Screen" alt="So original looking"></p>

<p>However, after looking at the different face code strings, I did see a method to the madness, and managed to create a crappy VBS file
that makes it easy for me to go from the one in the editor screen to the one in the character file.</p>

<!-- more -->




<figure class='code'><figcaption><span>facecode.vbs</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
<span class='line-number'>18</span>
<span class='line-number'>19</span>
<span class='line-number'>20</span>
<span class='line-number'>21</span>
<span class='line-number'>22</span>
<span class='line-number'>23</span>
<span class='line-number'>24</span>
<span class='line-number'>25</span>
<span class='line-number'>26</span>
<span class='line-number'>27</span>
<span class='line-number'>28</span>
<span class='line-number'>29</span>
<span class='line-number'>30</span>
<span class='line-number'>31</span>
<span class='line-number'>32</span>
<span class='line-number'>33</span>
<span class='line-number'>34</span>
<span class='line-number'>35</span>
<span class='line-number'>36</span>
<span class='line-number'>37</span>
<span class='line-number'>38</span>
<span class='line-number'>39</span>
<span class='line-number'>40</span>
<span class='line-number'>41</span>
<span class='line-number'>42</span>
<span class='line-number'>43</span>
<span class='line-number'>44</span>
<span class='line-number'>45</span>
<span class='line-number'>46</span>
<span class='line-number'>47</span>
<span class='line-number'>48</span>
<span class='line-number'>49</span>
<span class='line-number'>50</span>
</pre></td><td class='code'><pre><code class='vbnet'><span class='line'><span class="n">strInput</span> <span class="o">=</span> <span class="n">InputBox</span><span class="p">(</span><span class="s">&quot;Enter Full Face Code from CTRL-E on Character Screen&quot;</span><span class="p">,</span><span class="s">&quot;Facecode Converter&quot;</span><span class="p">)</span>
</span><span class='line'><span class="n">firstCode</span> <span class="o">=</span> <span class="n">GetFirstPart</span><span class="p">(</span> <span class="n">strInput</span> <span class="p">)</span>
</span><span class='line'><span class="n">lastCode</span> <span class="o">=</span> <span class="n">GetSecondPart</span><span class="p">(</span> <span class="n">strInput</span> <span class="p">)</span>
</span><span class='line'><span class="c">&#39; Thanks to http://nerds-central.blogspot.com/2007/01/using-vbscript-to-paste-text-into.html</span>
</span><span class='line'><span class="c">&#39; Open notepad </span>
</span><span class='line'><span class="k">Set</span> <span class="n">WshShell</span> <span class="o">=</span> <span class="n">WScript</span><span class="p">.</span><span class="n">CreateObject</span><span class="p">(</span><span class="s">&quot;WScript.Shell&quot;</span><span class="p">)</span>
</span><span class='line'><span class="n">WshShell</span><span class="p">.</span><span class="n">Run</span> <span class="s">&quot;notepad&quot;</span><span class="p">,</span> <span class="mi">9</span>
</span><span class='line'>
</span><span class='line'><span class="c">&#39; Give Notepad time to load</span>
</span><span class='line'><span class="n">WScript</span><span class="p">.</span><span class="n">Sleep</span> <span class="mi">1000</span>
</span><span class='line'>
</span><span class='line'><span class="n">WshShell</span><span class="p">.</span><span class="n">SendKeys</span> <span class="s">&quot;// Replace the bottom of your character text file with the following 2 lines: {ENTER}&quot;</span>
</span><span class='line'><span class="n">WshShell</span><span class="p">.</span><span class="n">SendKeys</span> <span class="s">&quot;face_key_1 = &quot;</span> <span class="o">&amp;</span> <span class="n">firstCode</span> <span class="o">&amp;</span> <span class="s">&quot; {ENTER}&quot;</span>
</span><span class='line'><span class="n">WshShell</span><span class="p">.</span><span class="n">SendKeys</span> <span class="s">&quot;face_key_2 = &quot;</span> <span class="o">&amp;</span> <span class="n">lastCode</span> <span class="o">&amp;</span> <span class="s">&quot; {ENTER}&quot;</span>
</span><span class='line'>
</span><span class='line'><span class="k">Function</span> <span class="nf">GetFirstPart</span><span class="p">(</span> <span class="n">faceCode</span> <span class="p">)</span>
</span><span class='line'>  <span class="c">&#39; Take the first part of the face code based on substrings</span>
</span><span class='line'>  <span class="n">first16</span> <span class="o">=</span> <span class="n">Mid</span><span class="p">(</span> <span class="n">faceCode</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">16</span> <span class="p">)</span>
</span><span class='line'>  <span class="n">first16AsDecimal</span> <span class="o">=</span> <span class="n">Hex_to_Dec</span><span class="p">(</span> <span class="n">first16</span> <span class="p">)</span>  
</span><span class='line'>  <span class="n">GetFirstPart</span> <span class="o">=</span> <span class="n">MyHex</span><span class="p">(</span> <span class="n">first16AsDecimal</span> <span class="p">)</span>
</span><span class='line'>  <span class="n">WScript</span><span class="p">.</span><span class="n">Echo</span> <span class="s">&quot;First Code &quot;</span> <span class="o">&amp;</span> <span class="n">GetFirstPart</span>   
</span><span class='line'><span class="k">End</span> <span class="k">Function</span>
</span><span class='line'>
</span><span class='line'><span class="k">Function</span> <span class="nf">GetSecondPart</span><span class="p">(</span> <span class="n">faceCode</span> <span class="p">)</span>
</span><span class='line'>  <span class="c">&#39; Take the first part of the face code based on substrings</span>
</span><span class='line'>  <span class="n">secondPart</span> <span class="o">=</span> <span class="n">Mid</span><span class="p">(</span> <span class="n">faceCode</span><span class="p">,</span> <span class="mi">19</span><span class="p">,</span> <span class="mi">32</span> <span class="p">)</span>
</span><span class='line'>  <span class="n">GetSecondPart</span> <span class="o">=</span> <span class="n">Left</span><span class="p">(</span> <span class="n">secondPart</span><span class="p">,</span> <span class="mi">16</span> <span class="p">)</span>
</span><span class='line'>  <span class="n">WScript</span><span class="p">.</span><span class="n">Echo</span> <span class="s">&quot;Second Code &quot;</span> <span class="o">&amp;</span> <span class="n">GetSecondPart</span> 
</span><span class='line'><span class="k">End</span> <span class="k">Function</span>
</span><span class='line'>
</span><span class='line'><span class="k">Function</span> <span class="nf">Hex_to_Dec</span><span class="p">(</span><span class="n">hex_value</span><span class="p">)</span>
</span><span class='line'>  <span class="n">Hex_to_Dec</span> <span class="o">=</span> <span class="k">CDbl</span><span class="p">(</span><span class="s">&quot;&amp;h&quot;</span> <span class="o">&amp;</span> <span class="n">hex_value</span><span class="p">)</span>
</span><span class='line'><span class="k">End</span> <span class="k">Function</span>
</span><span class='line'>
</span><span class='line'><span class="k">Function</span> <span class="nf">MyHex</span><span class="p">(</span><span class="k">ByVal</span> <span class="n">Number</span><span class="p">)</span>
</span><span class='line'><span class="c">&#39; Thanks to http://blogs.msdn.com/b/ericlippert/archive/2004/08/30/222760.aspx for this</span>
</span><span class='line'>  <span class="k">Dim</span> <span class="n">Sign</span>
</span><span class='line'>  <span class="k">Const</span> <span class="n">HexChars</span> <span class="o">=</span> <span class="s">&quot;0123456789ABCDEF&quot;</span>
</span><span class='line'>  <span class="n">Sign</span> <span class="o">=</span> <span class="n">Sgn</span><span class="p">(</span><span class="n">Number</span><span class="p">)</span>
</span><span class='line'>  <span class="n">Number</span> <span class="o">=</span> <span class="n">Fix</span><span class="p">(</span><span class="n">Abs</span><span class="p">(</span><span class="k">CDbl</span><span class="p">(</span><span class="n">number</span><span class="p">)))</span>
</span><span class='line'>  <span class="k">If</span> <span class="n">Number</span> <span class="o">=</span> <span class="mi">0</span> <span class="k">Then</span>
</span><span class='line'>    <span class="n">MyHex</span> <span class="o">=</span> <span class="s">&quot;0&quot;</span>
</span><span class='line'>    <span class="k">Exit</span> <span class="k">Function</span>
</span><span class='line'>  <span class="nf">End</span> <span class="k">If</span>
</span><span class='line'>  <span class="k">While</span> <span class="n">Number</span> <span class="o">&gt;</span> <span class="mi">0</span>
</span><span class='line'>    <span class="n">MyHex</span> <span class="o">=</span> <span class="n">Mid</span><span class="p">(</span><span class="n">HexChars</span><span class="p">,</span> <span class="mi">1</span> <span class="o">+</span> <span class="p">(</span><span class="n">Number</span> <span class="o">-</span> <span class="mi">16</span> <span class="o">*</span> <span class="n">Fix</span><span class="p">(</span><span class="n">Number</span> <span class="o">/</span> <span class="mi">16</span><span class="p">)),</span> <span class="mi">1</span><span class="p">)</span> <span class="o">&amp;</span> <span class="n">MyHex</span>
</span><span class='line'>    <span class="n">Number</span> <span class="o">=</span> <span class="n">Fix</span><span class="p">(</span><span class="n">Number</span><span class="o">/</span><span class="mi">16</span><span class="p">)</span>
</span><span class='line'>  <span class="k">WEnd</span>
</span><span class='line'>  <span class="k">If</span> <span class="n">Sign</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> <span class="k">Then</span> <span class="n">MyHex</span> <span class="o">=</span> <span class="s">&quot;-&quot;</span> <span class="o">&amp;</span> <span class="n">MyHex</span>
</span><span class='line'><span class="k">End</span> <span class="k">Function</span>
</span></code></pre></td></tr></table></div></figure>


<p>Ugly, as most <a href="http://en.wikipedia.org/wiki/VBScript">VBScript</a> is to me.  Unfortunately, Mount and Blade only runs on Windows.  I would
love it if I could stop having to use my Windows machine to play on it, but that&#8217;s a sacrifice I&#8217;m willing to make for this awesome game.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Hudson]]></title>
    <link href="http://www.greymeister.net/blog/2012/02/02/hudson/"/>
    <updated>2012-02-02T16:32:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2012/02/02/hudson</id>
    <content type="html"><![CDATA[<iframe width="560" height="315" src="http://www.youtube.com/embed/qrjFuTbl_SA" frameborder="0" allowfullscreen></iframe>


<p>Game over man.  <strong>Game over</strong>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Ned Stark can't win at Mount &amp; Blade]]></title>
    <link href="http://www.greymeister.net/blog/2012/02/02/ned-stark-cant-win-at-mount-and-blade/"/>
    <updated>2012-02-02T11:19:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2012/02/02/ned-stark-cant-win-at-mount-and-blade</id>
    <content type="html"><![CDATA[<iframe width="560" height="315" src="http://www.youtube.com/embed/D3PeNGsuAr8" frameborder="0" allowfullscreen></iframe>


<p>I have been spending <strong>way</strong> too much time playing this game lately.  More details to come.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The 2012 Presidential Match Game]]></title>
    <link href="http://www.greymeister.net/blog/2012/01/25/the-2012-presidential-match-game/"/>
    <updated>2012-01-25T20:15:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2012/01/25/the-2012-presidential-match-game</id>
    <content type="html"><![CDATA[<p><a href="http://www.usatoday.com/news/politics/candidate-match-game">USA Today</a> has a nice little website to let you pick a stance out of
a set of choices to see which of the theoretical candidates we get to vote on in November.  This is obviously not scientific, but
it&#8217;s still interesting because they based the choices on quotes from each of the candidates while they&#8217;ve been campaigning.</p>

<p><img src="http://images.greymeister.net.s3-website-us-east-1.amazonaws.com/2012_candidate_match_game.png" alt="political-match-game"></p>

<p>I wasn&#8217;t too surprised by my results.  I think for progressives, it has become a sad cycle of having to pick
the least conservative of the two options available.  We haven&#8217;t had a good progressive candidate since I&#8217;ve
been able to vote.</p>

<p>Oh, and by the way, this site uses Flash.  If by chance you&#8217;re one of those people who brag about disabling
Flash in your browser, don&#8217;t bother.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Go Get Your Shinebox]]></title>
    <link href="http://www.greymeister.net/blog/2012/01/18/go-get-your-shinebox/"/>
    <updated>2012-01-18T20:44:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2012/01/18/go-get-your-shinebox</id>
    <content type="html"><![CDATA[<iframe width="420" height="315" src="http://www.youtube.com/embed/2oP1NMB_I0s" frameborder="0" allowfullscreen></iframe>


<p>Great <a href="http://5by5.tv/movies/1">discussion</a> on <a href="http://5by5.tv">5by5</a> about the
classic movie <a href="http://www.imdb.com/title/tt0099685/">Goodfellas</a>.  <a href="https://twitter.com/#!/danbenjamin">Dan</a>
and <a href="https://twitter.com/#!/siracusa">John</a> devote a good 3 hours to the subject.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Boomer Ballin]]></title>
    <link href="http://www.greymeister.net/blog/2012/01/16/boomer-ballin/"/>
    <updated>2012-01-16T18:44:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2012/01/16/boomer-ballin</id>
    <content type="html"><![CDATA[<iframe width="560" height="315" src="http://www.youtube.com/embed/7yN3IP6rkvQ" frameborder="0" allowfullscreen></iframe>


<p>If nothing else, this just validates that Coach is the hippest character in the <a href="http://www.l4d.com/blog/">Left 4 Dead</a>
franchise.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Just How Out of Touch are Slashdot Commenters?]]></title>
    <link href="http://www.greymeister.net/blog/2012/01/10/just-how-out-of-touch-are-slashdot-commenters/"/>
    <updated>2012-01-10T09:22:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2012/01/10/just-how-out-of-touch-are-slashdot-commenters</id>
    <content type="html"><![CDATA[<p>I still read <a href="http://slashdot.org">Slashdot</a> daily in my RSS reader&#8230; for now.  While the
articles linked to usually contain interesting information, the comments are another story.  Comments have
always been a big component of Slashdot, but the way they work now feels more like a relic of the  past.  There have
been <a href="http://shawnblanc.net/2007/07/why-daring-fireball-is-comment-free/">several</a> <a href="http://mattgemmell.com/2012/01/03/comments-still-off/">blogs</a>
which are noteworthy for adhering to the idea that comments do not belong on a blog.  If you want to reach out or react to
content on the web, there are <a href="https://plus.google.com/">so</a> <a href="http://facebook.com">many</a> <a href="http://twitter.com">ways</a> to
achieve that now that blog comments should be segregated from the blog content and channeled through the appropriate
social network.</p>

<p>Whether Slashdot decides to do that is not the point of this post, but that they need to do something different.  The
content on Slashdot has not decreased in quality, but I think that the comments have.  I present three specific articles
that I think aptly demonstrates how terrible they really are now.</p>

<!-- more -->


<h2><a href="http://it.slashdot.org/story/11/12/18/2154224/how-to-thwart-the-high-priests-in-it">How to Thwart the High Priests In IT</a></h2>

<p>Okay, so right off the bat I immediately empathize with the title of this post.  Anyone who has had the misfortune of
working at big companies and dealing with an out-of-control IT bureaucracy probably will feel the same way.  As someone
who writes software for a living, I am always demanding more of the hardware and software I use to meet my deadlines and
ship software.  However, any situation involving IT turns into a quagmire.  For example, at one time, it was the policy to
start encrypting your hard drive on any laptop after some sales executive lost their laptop on vacation.  Fine, I enabled
encryption on my Ubuntu laptop I was using.  Suddenly though, it was apparent that &#8220;encryption&#8221; meant installing this very
specific software suite on a Windows machine.  &#8220;Linux Encryption is impossible.  Because it is Open Source you see.&#8221;  WOW.</p>

<p>Anyway, here&#8217;s a few of the comments on this article:</p>

<blockquote><p>Fine. When the CORPORATE network blows up, it isn&#8217;t &#8220;mine&#8221;, and I won&#8217;t give a shit. How does THAT sound?</p><p>&#8220;My Network&#8221; doesn&#8217;t imply &#8220;ownership&#8221; as much as it does &#8220;complete responsibility&#8221;, which is why TWITS like you don&#8217;t get it. &#8220;My Network&#8221; is something that I take a great deal of pride in. It is MY responsibility, and therefore it is MY network. It is like the sales guys getting all upset when another sales rep &#8220;steals my client&#8221;. It isn&#8217;t your client, it is the company. That isn&#8217;t YOUR desk, it is the company&#8217;s. It isn&#8217;t your office, it is the Company&#8217;s.</p><p>You get the point now?</p><footer><strong>Archangel Michael</strong><cite><a href='http://it.slashdot.org/comments.pl?sid=2580272&cid=38421248'>it.slashdot.org/&hellip;</a></cite></footer></blockquote>




<blockquote><p>Sounds like the article was written by a tool with no understanding of how enterprise IT works, and no grasp of what bringing alien, unknown systems into contact with critical infrastructure can lead to.</p><footer><strong>MaskedSlacker</strong><cite><a href='http://it.slashdot.org/comments.pl?sid=2580272&cid=38419266'>it.slashdot.org/&hellip;</a></cite></footer></blockquote>


<p>Oh yes, we know you&#8217;re important.  You don&#8217;t have to yell at us.</p>

<h2><a href="http://developers.slashdot.org/story/12/01/03/0315251/testing-the-mongodb-global-write-lock-improvements?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Slashdot%2Fslashdot+%28Slashdot%29">Testing the MongoDB Global Write Lock Improvements</a></h2>

<p>For some background, <a href="http://www.mongodb.org/">MongoDB</a> is a very popular <a href="http://en.wikipedia.org/wiki/NoSQL">NoSQL</a>
solution for persistent storage.  This role has typically been filled by a <a href="http://en.wikipedia.org/wiki/Relational_database">RDBMS</a>
until recently.  This is largely due to some unique use cases that have arisen from the different type of processing that
social networking and other new technologies demand.  Well wait one second, I thought that was fairly well known in the
tech community?</p>

<blockquote><p>Congratulations. You matter enough to bother reinventing this wheel again. If you continue to matter for a meaningful amount of time you&#8217;ll end up locking individual documents, or whatever you call them. Oracle called that &#8216;row&#8217; locking. 15 years ago.</p><footer><strong>Anonymous Coward</strong><cite><a href='http://developers.slashdot.org/comments.pl?sid=2601014&cid=38569556'>developers.slashdot.org/&hellip;</a></cite></footer></blockquote>




<blockquote><p>For when you&#8217;re too cheap to spring for a BerkeleyDB license, some amateur playing a decade of catchup gives you everything you&#8217;d ever need, as long as you don&#8217;t need support, performance, stability or data integrity.</p><footer><strong>Rogerborg</strong><cite><a href='http://developers.slashdot.org/comments.pl?sid=2601014&cid=38575486'>developers.slashdot.org/&hellip;</a></cite></footer></blockquote>


<p>Um, okay.  Well they&#8217;re probably right, I mean this NoSQL business is silly then if it&#8217;s just rehashing old technology.  I
guess you could just stick with Oracle, I&#8217;m sure they won&#8217;t take part in any of
<a href="http://docs.google.com/viewer?a=v&amp;q=cache:G4pI4ZOkzWYJ:www.oracle.com/technetwork/database/debunking-nosql-twp-399992.pdf+oracle+debunking+nosql&amp;hl=en&amp;gl=uk&amp;pid=bl&amp;srcid=ADGEESiaUPuEdyJ9cnDc_GzgsfsNq6UytDZeO5f0pgDJyUeo7x-xfe2W091nseq4s1cIl9lZ79jmGT0TRpE5PF8svROWbJSjcbrm6TXb2AWfM2TaAa6Z80dEupN3oSFzZG6y9mWBsgTd&amp;sig=AHIEtbSXOrH6n87xP4yC4bqqMaLHSMBBNg">this NoSQL Hype</a>.  Oops,
<a href="http://www.wired.com/wiredenterprise/2011/10/oracle-nosql-database/">spoke too soon</a>.</p>

<h2><a href="http://news.slashdot.org/story/12/01/09/2359210/michael-dell-dismisses-tablet-threat-to-the-pc-market">Michael Dell Dismisses Tablet Threat To the PC Market</a></h2>

<p>Okay, the obvious point is that Michael Dell sells PCs, and tablets are a perceived threat on the PC market.  Of course,
Michael Dell <a href="http://www.zdnet.com/blog/btl/michael-dell-on-his-infamous-1997-apple-comment-video/61364">isn&#8217;t always right on his predictions anyway</a>.</p>

<blockquote><p>Trying to do much REAL WORK(tm) on a tablet is an exercise in frustration. By the time you add a keyboard and mouse so that you can be even marginally productive you might as well get the tablet so that you can work even where/when there isn&#8217;t a wireless network.</p><p>The tablet&#8217;s niche is on the couch or the train or the bus</p><footer><strong>icebike</strong><cite><a href='http://news.slashdot.org/comments.pl?sid=2612368&cid=38645090'>news.slashdot.org/&hellip;</a></cite></footer></blockquote>


<p>Do I even need to make a comment about this?  I think adding a keyboard means you don&#8217;t really understand what a tablet
is supposed to do, and if you have a hard time doing any work on a tablet, you&#8217;re probably using
<a href="http://www.marco.org/2011/11/17/kindle-fire-review">the wrong tablet</a>.</p>

<p>I don&#8217;t expect everyone to agree with me on my feelings about these comments, and of course there are some comments
that weren&#8217;t as out of touch with reality.  If anything, I hope it shows how comments don&#8217;t
necessarily add anything useful to site content.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[I Forgot how to uninstall Oracle]]></title>
    <link href="http://www.greymeister.net/blog/2011/12/31/i-forgot-how-to-uninstall-oracle/"/>
    <updated>2011-12-31T19:55:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2011/12/31/i-forgot-how-to-uninstall-oracle</id>
    <content type="html"><![CDATA[<p>Near the end of the year I have been doing some housekeeping at work during the quiet days of December.  I was
about to install <a href="http://www.mongodb.org/">mongodb</a> on a development server for a new project, when I noticed the
server was low on disk space.  The culprit, an Oracle database I had installed near the beginning of the year.  This
made me laugh out loud when I realized that our team had not been using at since May.  After the initial amusement had
worn off, I suddenly realized something:</p>

<p>I had forgotten to how to uninstall Oracle.  The temerity!</p>

<!-- more -->


<p>After all, at my last job and for the past few years, installing and working with Oracle DB servers had become
old hat to me.  Whether we had to do some testing on a dump from production or we just needed a new
development database, I had learned how to do it myself.  Now, a year later, I was back to being an Oracle noob,
fumbling around looking for documentation.  Scouring Oracle blog posts for useless information and
broken links to supposedly useful information.  It finally came back to me deep inside some byzantine directory
like &#8220;/u01/app/oracle/11/dbms/oui&#8221; that I found what I needed to know.  Perhaps some last bit of forbidden knowledge
had been shaken loose by all of my searching, but eventually I was able to properly remove the last remnants of
Oracle 11g.</p>

<p>At first I felt a little ashamed: perfectly good knowledge of mine which had gone to waste from lack of use.  However,
thinking about it some more, it made me feel pretty good.  It was equivalent to forgetting how to wiggle the
TV antenna to get a broadcast station to come in without the static.  The tools I&#8217;m using now are far less
convoluted and are usually pretty easy to work with.  Anyone that I work with is perfectly capable of setting up
anything we use.  This made me think about what that role is like in a general case.  It can be enticing to be
&#8220;that wizard&#8221; who can get something working that no one else can.  Sure, you don&#8217;t want to ask them any questions
about what they had to do in order for it to work, it must be magic!  Sadly, I&#8217;m no longer that person when it comes
to Oracle database setups on random GNU/Linux or Solaris systems.</p>

<p>While it was nice to have people rely on you for something, it&#8217;s not necessarily a good
thing if it is just because you know something no one else really cares about.  If setting up Oracle database
systems was my only talent, I would be in a pretty bad spot at my current job.  Suppose at your family you
have &#8220;Uncle Frank&#8221; who is a wizard and knowing where the tinfoil goes on the rabbit ears to make your 4 channels
come in without static.  Now, when you get cable and no longer need the rabbit ears, Uncle Frank might seem to
be a little grouchier than normal.  Fortunately for me, that&#8217;s not the case, as I&#8217;m happy to leave that part of
my experience in the past alongside other embarrassing knowledge that once seemed important.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Dark Bands showing intermittently for MacBook Pro]]></title>
    <link href="http://www.greymeister.net/blog/2011/12/26/dark-bands-showing-intermittently-for-macbook-pro/"/>
    <updated>2011-12-26T13:16:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2011/12/26/dark-bands-showing-intermittently-for-macbook-pro</id>
    <content type="html"><![CDATA[<p>This blog post is to capture a support article which helped me fix a problem on
my <a href="http://www.everymac.com/systems/apple/macbook_pro/stats/macbook-pro-core-2-duo-2.5-15-early-2008-penryn-specs.html">MacBook Pro</a>.  Google still
<a href="http://lmgtfy.com/?q=reset+monitor+macbook+pro">brings it up</a> as the first result, but Apple seems to &#8220;misplace&#8221;
the page when I visit it.  The <a href="http://support.apple.com/kb/TS1258">page in question</a> was live at the time of this post,
but I&#8217;m going to capture the relevant information here in case Apple misplaces the page again.</p>

<!-- more -->


<ul>
<li>Last Modified: October 28, 2009</li>
<li>Article: <a href="http://support.apple.com/kb/TS1258">TS1258</a></li>
</ul>


<h3>Symptoms</h3>

<p>You may see multiple, dark vertical bands or dark bumps starting along the bottom of the MacBook Pro
(15-inch, Early 2008) or MacBook Pro (17-inch, Early 2008) with the high resolution LED backlit display, as shown below.</p>

<p><img src="http://images.greymeister.net.s3-website-us-east-1.amazonaws.com/MBP Dark bands.jpg"/></p>

<h3>Resolution</h3>

<p>To help prevent this from occurring, download and install Mac OS X v10.5.3 or later from Apple Downloads.</p>

<p>If the issue persists when running Mac OS X v10.5.3 or later, a quick reset of the display panel will reset the LED backlights.</p>

<p>The quickest way to reset the display is to use the following key combination:</p>

<ul>
<li>Press Control - Shift - Eject.</li>
<li>After the display goes to sleep, wake it by pressing any key on the keyboard.</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Festivus For The Rest Of Us]]></title>
    <link href="http://www.greymeister.net/blog/2011/12/23/festivus-for-the-rest-of-us/"/>
    <updated>2011-12-23T11:09:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2011/12/23/festivus-for-the-rest-of-us</id>
    <content type="html"><![CDATA[<p>It&#8217;s <a href="http://en.wikipedia.org/wiki/Festivus">that</a> time of year again.  Happy Festivus!</p>

<iframe width="420" height="315" src="http://www.youtube.com/embed/7KIMRsTu12g" frameborder="0" allowfullscreen></iframe>




<blockquote><p>That must have been some kind of doll.<br/>She was.</p><footer><strong>Seinfeld</strong><cite>The Strike</cite></footer></blockquote>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The Hobbit Teaser Trailer]]></title>
    <link href="http://www.greymeister.net/blog/2011/12/22/the-hobbit-teaser-trailer/"/>
    <updated>2011-12-22T13:19:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2011/12/22/the-hobbit-teaser-trailer</id>
    <content type="html"><![CDATA[<iframe width="1280" height="720" src="http://www.youtube.com/embed/G0k3kHtyoqc?hd=1" frameborder="0" allowfullscreen></iframe>


<p>It&#8217;s weird to think that <a href="http://www.imdb.com/title/tt0120737/">Fellowship of the Ring</a> came out 10 years ago this
month.  I can vividly remember how excited I was to see the movie, and how I wasn&#8217;t disappointed in the slightest when
I saw it on opening day.  This teaser trailer has got me just as excited, possibly even more so because I know what
kind of quality to expect in December, 2012.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Duane &amp; Brando - Final Fantasy]]></title>
    <link href="http://www.greymeister.net/blog/2011/12/19/duane-and-brando-final-fantasy/"/>
    <updated>2011-12-19T22:30:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2011/12/19/duane-and-brando-final-fantasy</id>
    <content type="html"><![CDATA[<iframe width="420" height="315" src="http://www.youtube.com/embed/yc32Znoj8dk" frameborder="0" allowfullscreen></iframe>


<p>It&#8217;s truly a shame that these guys no longer produce videos.  Check out their individual sites here:
<a href="http://www.actionadventureworld.com/">Duane</a>
<a href="http://theamazingbrando.com/news.cfm">Brando</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Let Them Know it's Christmas Time]]></title>
    <link href="http://www.greymeister.net/blog/2011/12/11/let-them-know-its-christmas-time/"/>
    <updated>2011-12-11T14:16:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2011/12/11/let-them-know-its-christmas-time</id>
    <content type="html"><![CDATA[<iframe width="420" height="315" src="http://www.youtube.com/embed/bmj7KlIut1w" frameborder="0" allowfullscreen></iframe>



]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The Browsers I've Used]]></title>
    <link href="http://www.greymeister.net/blog/2011/12/05/the-browsers-ive-used/"/>
    <updated>2011-12-05T08:17:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2011/12/05/the-browsers-ive-used</id>
    <content type="html"><![CDATA[<p>I&#8217;ve used several different web browsers over the years:</p>

<ul>
<li><a href="http://en.wikipedia.org/wiki/Netscape#Netscape_Navigator_.28versions_0.9.E2.80.934.08.29">Netscape Navigator Gold 3</a> - The browser my school system had installed.</li>
<li><a href="http://en.wikipedia.org/wiki/Netscape_Communicator">Netscape Communicator</a> - Just an upgraded version with more features.</li>
<li><a href="http://en.wikipedia.org/wiki/Mozilla_Application_Suite">Mozilla</a> - Netscape Communicator without the &#8220;N&#8221;.</li>
<li><a href="http://en.wikipedia.org/wiki/History_of_the_Opera_web_browser#Version_5">Opera</a> - The first browser I found with good tab navigation.</li>
<li><a href="http://en.wikipedia.org/wiki/Firefox_2">Mozilla Firefox</a> - I switched when several sites I visited stopped working.</li>
<li><a href="http://en.wikipedia.org/wiki/Safari_(web_browser)#Safari_5">Safari</a> - When Firefox 4 came out and broke every add-on I used with Macs.</li>
</ul>


<p>It&#8217;s been an interesting ride.  The story that came out last week about
<a href="http://gs.statcounter.com/press/chrome-overtakes-firefox-globally-for-first-time">Chrome overtaking Firefox</a>
in browser market share got me thinking about it.  I can&#8217;t say I&#8217;m surprised, it was hard
navigating to any of Google sites in the last few years without being inundated with &#8220;Try Google Chrome&#8221;
on each page.  I&#8217;ve never tried using Chrome as my primary browser. The only places I always install
it are on Linux machines or Windows Servers.  Chrome works pretty well on Linux machines, considering
that the computers I usually put Linux on are older laptops.  Windows Servers had IE so locked down
by default I couldn&#8217;t navigate anywhere, and I didn&#8217;t care enough to figure out exactly what policies
I needed to change in order to fix that.  I&#8217;d just copy a Chrome Installer.exe over onto the server
and be done with it.</p>

<p>The thing that surprises me about this list is that Safari is the first browser I&#8217;ve ever used that&#8217;s
the default for an operating system.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The Real Problem With Carrier IQ]]></title>
    <link href="http://www.greymeister.net/blog/2011/12/02/the-real-problem-with-carrier-iq/"/>
    <updated>2011-12-02T18:50:00-05:00</updated>
    <id>http://www.greymeister.net/blog/2011/12/02/the-real-problem-with-carrier-iq</id>
    <content type="html"><![CDATA[<p>One of the biggest tech stories this week involved the independent discovery of an application embedded in
<a href="http://www.theregister.co.uk/2011/12/01/apple_sprint_carrier_iq/">several major smartphones</a>.  The application,
created by the company <a href="http://www.carrieriq.com/">Carrier IQ Inc.</a>, functions by &#8220;counting and measuring operational
information in mobile devices - feature phones, smartphones and tablets.&#8221;  According
to Trevor Eckhart, who <a href="http://androidsecuritytest.com/features/logs-and-services/loggers/carrieriq/carrieriq-part2/">reported</a>
the application&#8217;s existence and functionality, Carrier IQ&#8217;s software goes so far as to
<a href="http://en.wikipedia.org/wiki/Keystroke_logging">log individual keystrokes</a> made by the user.  The broad scope of
such capability seems to render concerns associated with
<a href="http://radar.oreilly.com/2011/04/apple-location-tracking.html">tracking location data</a> insignificant by
comparison.  Eckhart <a href="http://www.wired.com/threatlevel/2011/11/secret-software-logging-video/">demonstrates several examples</a>
of Carrier IQ&#8217;s interesting capabilities:</p>

<ul>
<li>Recording individual keys pressed by the user</li>
<li>Recording the contents of SMS messages</li>
<li>Recording requests made to websites, even when using HTTPS</li>
</ul>


<!-- more -->


<p>I recommend you watch Eckhart&#8217;s video.  If you feel the way I do about privacy, you should start to have
a sinking feeling about 9 minutes in.</p>

<iframe width="420" height="315" src="http://www.youtube.com/embed/T17XQI_AYNo" frameborder="0" allowfullscreen></iframe>


<p>All of this seems <a href="http://www.youtube.com/watch?v=jyaLZHiJJnE">bad</a>.  More
<a href="http://latimesblogs.latimes.com/technology/2011/12/carrier-iq-privacy.html">developments</a>
have been reported that seem to indicate that Eckhart&#8217;s findings portray Carrier IQ&#8217;s software
inaccurately.  I&#8217;m sure that this story is far from over, but I think the most shocking part to me is
unrelated to the veracity of Eckhart&#8217;s findings.  In response to Eckhart sharing his information, Carrier IQ sent him a
<a href="http://www.wired.com/threatlevel/2011/11/rootkit-brouhaha/">cease-and-desist notice</a> based on copyright
infringement related to hosting the company&#8217;s manuals on his website.  Eckhart argued that he wanted the
manuals in order to verify his research.  He obtained them from the Carrier IQ website, and
hosted them only as a precaution should they become unavailable from Carrier IQ.  According to Wired.com,
Carrier IQ had in fact removed the manuals around the same time they sent the
letter to Eckhart.  Another Wired.com article goes on to show how the <a href="https://www.eff.org/">EFF</a> stepped in, and not
long after that, <a href="http://www.wired.com/threatlevel/2011/11/rootkit-brouhaha-apology/">Carrier IQ apologized</a> for the
letter.</p>

<p>Carrier IQ&#8217;s response is more damning than anything Eckhart could have
demonstrated.  The &#8220;root&#8221; of the problem isn&#8217;t necessarily what mechanisms the application is capable of, but what
data it actually records.  It&#8217;s possible that Carrier IQ only records a small subset of what it is
capable of logging.  If they had been more transparent about it, this whole story goes from &#8220;brouhaha&#8221; to not
even newsworthy.  However, instead of disclosure, Carrier IQ&#8217;s initial reaction was to push the big red lawyer
button.  This means that the only notion I think anyone can take away is that Carrier IQ has something to
hide.  After threatening didn&#8217;t work, Carrier IQ defended themselves based on a premise that the
<a href="http://allthingsd.com/20111201/carrier-iq-speaks-our-software-monitors-service-messages-ignores-other-data/">carriers determine what information</a>
was collected and stored.  Why should full disclosure be a last resort if someone inaccurately portrays your work?  If
Carrier IQ&#8217;s claims are true, why not come out with that first and not after you fail in silencing your critics?</p>

<p>I would hope that most companies choose not to react the way Carrier IQ did to criticism.  They should be
up front in defending their products or at least acknowledging privacy issues when they arise.  By threatening legal
action against Eckhart as a first response, Carrier IQ set themselves up as a bully who can&#8217;t own up to the facts,
no matter how damaging they actually are.</p>
]]></content>
  </entry>
  
</feed>

