<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>mikeg's blog - Computers</title>
    <link>http://www.bsd-box.net/~mikeg/blog/</link>
    <description></description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:mikeg-blog@bsd-box.net" />
    <generator>Serendipity 1.5.2 - http://www.s9y.org/</generator>
    <webMaster>mikeg@bsd-box.net</webMaster>
<pubDate>Sun, 18 Apr 2010 02:24:21 GMT</pubDate>

    <image>
        <url>http://www.bsd-box.net/~mikeg/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: mikeg's blog - Computers - </title>
        <link>http://www.bsd-box.net/~mikeg/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>InterMapper &amp; RT: You two play nice now…</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/102-InterMapper-RT-You-two-play-nice-now.html</link>
            <category>Computers</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/102-InterMapper-RT-You-two-play-nice-now.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=102</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=102</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    &lt;p&gt;This is going to be one of my rambling sysadmin-y entries talking about stuff that&#039;s probably of little general interest. Fair warning given.&lt;/p&gt;
&lt;p&gt;There are two components that I would consider essential to proper system administration: &lt;b&gt;GOOD Monitoring&lt;/b&gt; and &lt;b&gt;Issue/Incident Tracking&lt;/b&gt;.  It is imperative that you know when a problem arises (preferably before anyone else notices) and that you keep track of the problems you have encountered in order to spot troublesome systems and redesign them to stop bugging you.&lt;br /&gt;
Those of you who have worked with me know I have my prejudices in both of these areas, and that for the last few years I&#039;ve settled on two pieces of software to fill these roles: &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.intermapper.com/&#039;]);&quot;  href=&quot;http://www.intermapper.com/&quot; title=&quot;InterMapper&quot;&gt;InterMapper&lt;/a&gt; for monitoring and &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.bestpractical.com/rt&#039;]);&quot;  href=&quot;http://www.bestpractical.com/rt&quot; title=&quot;Request Tracker&quot;&gt;RT&lt;/a&gt; for issue tracking.&lt;/p&gt;
&lt;p&gt;The major caveat of this pairing is that the two have no formal integration: InterMapper will happily send emails, and RT will happily accept emails and turn them into tickets, but RT doesn&#039;t know when InterMapper is telling it about the same problem twice, or that a previous issue has been cleared. The end result of this lack of integration is that you have a bunch of RT tickets for the same issue which need to be manually merged and resolved, and this manual bit bugged me enough that I actually took the time to fix it!&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/102-InterMapper-RT-You-two-play-nice-now.html#extended&quot;&gt;Continue reading &quot;InterMapper &amp;amp; RT: You two play nice now…&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 15 Apr 2010 15:30:00 -0400</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/102-guid.html</guid>
    
</item>
<item>
    <title>Interesting (impractial) OpenSSL attack</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/100-Interesting-impractial-OpenSSL-attack.html</link>
            <category>Computers</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/100-Interesting-impractial-OpenSSL-attack.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=100</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=100</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    &lt;p&gt;While I usually read &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.theregister.co.uk/2010/03/04/severe_openssl_vulnerability/&#039;]);&quot;  href=&quot;http://www.theregister.co.uk/2010/03/04/severe_openssl_vulnerability/&quot;&gt;El Reg&lt;/a&gt; for teh lulz occasionally they come up with an interesting nugget, like their article on a &quot;severe&quot; OpenSSL vulnerability (quotes theirs).  This vulnerability comes to us courtesy of the University of Michigan, and is tied to a simple oversight in the OpenSSL code: It doesn&#039;t perform a verification pass on signatures before sending them to a client.&lt;br /&gt;
So all you crypto-nerds, how many of you do a verify on your signatures before you send them?  Hands please? Nobody? Not even me? -- Yeah, we all tend to trust that our math &lt;i&gt;Just Works&lt;/i&gt;.  I mean it&#039;s a computer, you put in fixed input through a deterministic algorithm and you get the same output ever time. Right?  &lt;b&gt;Nope&lt;/b&gt;.&lt;br /&gt;
&lt;ul&gt;Computers, as we all hopefully know, aren&#039;t perfect.  Trillions of minor errors happen every day, and they&#039;re usually compensated for: ECC RAM, cross-checks of math, etc.  But because OpenSSL doesn&#039;t do a cross-check it&#039;s possible for those minor errors to creep into a transmitted signature.  As the good folks from UMichigan explain &lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/uploads/entry_media/20100305/DATE10RSA.pdf&quot; title=&quot;DATE10RSA.pdf&quot; target=&quot;_blank&quot;&gt;in their paper&lt;/a&gt; if you can induce some minor errors in the OpenSSL signature math and collect a good signature and a large enough set of flawed signatures you can eventually derive the private key used for the signing.&lt;/ul&gt;&lt;/p&gt;
&lt;p&gt;That is all well and good, except it relies on errors in the system generating the signatures.  These errors are rare (and pretty random) in the real world, so no problem, right? &lt;b&gt;Wrong again Sparky&lt;/b&gt;!  These clever folks came up with something I wouldn&#039;t ever have thought of.&lt;br /&gt;
&lt;ul&gt;
Those of you who have worked on old Commodore computers probably know one of the first symptoms of a power supply going wonky is that the system starts acting up: Lots of random crashes, video corruption, etc.  Why does that happen? Because the voltage being supplied to the system is fluctuating.  Fluctuating voltages (specifically down-swings) cause all the magical voltage regulation hardware to go out of regulation, which feeds out-of-spec voltages to the chips, which in turn start making mistakes in their math.&lt;/ul&gt;
&lt;br /&gt;
The bottom line for this attack is an extension of that well-known Commodore problem: By putting controlled voltage fluctuations into the power supply of real computers (SPARC boxen running Linux) the UMichigan folks were able to induce errors in the math used by the real-world OpenSSL code and recover an actual key.&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/100-Interesting-impractial-OpenSSL-attack.html#extended&quot;&gt;Continue reading &quot;Interesting (impractial) OpenSSL attack&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 05 Mar 2010 13:31:23 -0500</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/100-guid.html</guid>
    
</item>
<item>
    <title>The Wheel: Let me reinvent it for you! (update-notifier redux)</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/98-The-Wheel-Let-me-reinvent-it-for-you!-update-notifier-redux.html</link>
            <category>UNIX</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/98-The-Wheel-Let-me-reinvent-it-for-you!-update-notifier-redux.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=98</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=98</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    &lt;p&gt;OK, for the record: I &lt;u&gt;&lt;strong&gt;&lt;em&gt;DESPISE&lt;/em&gt;&lt;/strong&gt;&lt;/u&gt; Linux. I Hate, Loathe, Abhor and Revile it.  I am a BSD-Bigot and proud of it, and if all the BSDs suddenly evaporated I would eschew Linux in favor of a commercial Unix (probably AIX).&lt;/p&gt;
&lt;p&gt;Why do I hate Linux so much? Simply put, it&#039;s shoddy code written by shoddy coders.  In my experience shit mysteriously breaks for no reason, standards and conventions are arbitrarily ignored, critical components of the system are perpetually at version zero-dot-something, regression testing seems to be a myth, and the average Linux developer seems to make no effort to ensure their code will work on anything except their particular favorite distribution (to say nothing about porting it to &amp;lt;GASP&amp;gt; a BSD system, or &amp;lt;HORRORS&amp;gt; Commercial Unix).&lt;/P&gt;
&lt;p&gt;This particular tirade was kicked off by the Ubuntu &lt;strong&gt;update-notifier&lt;/strong&gt; program suddenly and mysteriously no longer popping up update notification balloons.  As some of you know my company ships a Linux-based appliance (built around a very stripped-down Ubuntu plus our commercial packages), and one of the things that made me go with Ubuntu was that they had gotten the update-notifier thing working beautifully and it had been stable for several versions.&lt;br /&gt;
Lo and Behold about a month ago our support guys came to visit me and asked &quot;Hey, is the update notifier bubble broken?&quot;  I looked upon it and saw that it indeed appeared to be non-functional, but as all good (lazy) admins are wont to do I demanded they test and verify the breakage.&lt;/p&gt;
&lt;p&gt;The breakage came back to me verified earlier this week, and as I really couldn&#039;t be assed to figure out why the update-notifier is happy to display the &quot;you must reboot!&quot; dialog box  but refuses to display the &quot;Yo, bitch! You have updates!&quot; notifier icon &amp;amp; bubble I took the easy way out and re-implemented update-notifier in Python.&lt;/p&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/98-The-Wheel-Let-me-reinvent-it-for-you!-update-notifier-redux.html#extended&quot;&gt;Continue reading &quot;The Wheel: Let me reinvent it for you! (update-notifier redux)&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 26 Feb 2010 15:57:51 -0500</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/98-guid.html</guid>
    
</item>
<item>
    <title>Trigonometric Programming: The tangent function &amp; Software Development</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/97-Trigonometric-Programming-The-tangent-function-Software-Development.html</link>
            <category>Programming</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/97-Trigonometric-Programming-The-tangent-function-Software-Development.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=97</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=97</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    &lt;p&gt;Blocked waiting for my either the software development group to give me new code to test or my FreeBSD build VM to give me a new OS build to test, so how about some random thoughts on programming?&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;I&#039;ve reached the inescapable conclusion that all software development cycles can be expressed as a single equation: y=tan(x+(&amp;pi;/2))&lt;/p&gt;
&lt;p&gt;X represents time (on a totally non-linear scale) with each interval of width&amp;#160;&amp;pi; being the development of a software release and the zero point where the function crosses the X axis representing the release of the &lt;strong&gt;X/&amp;pi;&lt;/strong&gt;&lt;sup&gt;th&lt;/sup&gt; version. &amp;#160;The Y axis represents the state of the code - how &amp;quot;bug free&amp;quot; it is. &amp;#160;I&#039;ll call the Y value within a version the &amp;quot;completeness&amp;quot; of the code for simplicity.&lt;/p&gt;
&lt;p&gt;This functional model actually works surprisingly well:&lt;/p&gt;
&lt;div&gt;&lt;!-- s9ymdb:90 --&gt;&lt;img class=&quot;serendipity_image_right&quot; width=&quot;300&quot; height=&quot;300&quot;  src=&quot;http://www.bsd-box.net/~mikeg/blog/uploads/entry_media/20100223/SWDev.png&quot;  alt=&quot;Tangent Graph with notes&quot; /&gt;
&lt;ul&gt;
    &lt;li&gt;During pre-0.0 release (&lt;strong&gt;X|0...&amp;pi;/2&lt;/strong&gt;) the software is riddled with bugs and brokenness (&amp;quot;completeness&amp;quot; is negative - that shit don&#039;t work!).
    &lt;ul&gt;
        &lt;li&gt;At some point (&lt;strong&gt;X=(&amp;pi;+&amp;epsilon;)/2&lt;/strong&gt;)&amp;#160;the software becomes at least functional (miniscule positive completeness), and is released to the unsuspecting public.&lt;/li&gt;
        &lt;li&gt;The initial release is buggy as shit, and massive patching and bug fixing happens&lt;br /&gt;
        (This is roughly from &lt;strong&gt;X|(&amp;pi;+&amp;epsilon;)/2...3&amp;pi;/2&lt;/strong&gt; -- For the sake of argument let&#039;s call the &lt;strong&gt;3&amp;pi;/2&lt;/strong&gt; mark the .1 release, or in MS parlance, &amp;quot;Service Pack 1&amp;quot;)&lt;/li&gt;
        &lt;li&gt;The software continues asymptotically approaching infinite completeness -- that nirvana state of having no bugs...&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li&gt;...At which point Marketing comes along and says the users want new features -- On our graph this corresponds to one of the vertical asymptote at multiples of&amp;#160;&lt;strong&gt;&amp;pi;&lt;/strong&gt;.
    &lt;ul&gt;&lt;li&gt;Development begins on the next (N/&amp;pi;)-dot-zero release, starting al over again from negative completeness.&lt;/li&gt;&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;In practical terms software development is not a true function: Each development window is independent and shifted toward X=0, with some overlap between the currently released version and the version under development.&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 23 Feb 2010 12:17:45 -0500</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/97-guid.html</guid>
    
</item>
<item>
    <title>Lions and Tigers and Unscheduled Outages, Oh My!</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/96-Lions-and-Tigers-and-Unscheduled-Outages,-Oh-My!.html</link>
            <category>UNIX</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/96-Lions-and-Tigers-and-Unscheduled-Outages,-Oh-My!.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=96</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=96</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    &lt;p&gt;&amp;#160;For those of you wondering where bsd-box.net went this weekend, here&#039;s the scoop:&lt;/p&gt;
&lt;p&gt;A while back I &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/bsd-box.net/~mikeg/blog/index.php?/archives/89-Broken...-and-now,-UnBroken.html&#039;]);&quot;  href=&quot;http://bsd-box.net/~mikeg/blog/index.php?/archives/89-Broken...-and-now,-UnBroken.html&quot;&gt;stopped being a data protection douche&lt;/a&gt; and implemented backups. &amp;#160;I didn&#039;t blog about the implementation, but it was bacula writing to rsync.net over &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.FreeBSD.org/cgi/ports.cgi?query=sshfs&amp;amp;amp;stype=name&amp;amp;amp;sektion=all&#039;]);&quot;  href=&quot;http://www.FreeBSD.org/cgi/ports.cgi?query=sshfs&amp;amp;stype=name&amp;amp;sektion=all&quot;&gt;sshfs&lt;/a&gt; (&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.FreeBSD.org/cgi/ports.cgi?query=fusefs-kmod&amp;amp;amp;stype=name&amp;amp;amp;sektion=all&#039;]);&quot;  href=&quot;http://www.FreeBSD.org/cgi/ports.cgi?query=fusefs-kmod&amp;amp;stype=name&amp;amp;sektion=all&quot;&gt;fuse&lt;/a&gt; for the win).&lt;/p&gt;
&lt;p&gt;These backups worked fine for a good while, but on Friday (my first full backup since upgrading to 8.0) the damn thing blew up and took the server down with it. &amp;#160;Near as I can tell without being on the console something caused the FUSE kernel module to go insane - The system goes unresponsive, starts taking forever to respond to pings and eventually falls over entirely.&lt;/p&gt;
&lt;p&gt;Troubleshooting that mess is on my list as soon as I can reproduce the problem in a test lab, but until then bsd-box.net is running a ghetto-ass tar-then-SCP backup routine (so I&#039;m not a data protection douche since I&#039;ve still got backups, but my backups are decidedly more ghetto).&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;Those of you who sent me emails, panic not: I have a very fine secondary MX which will eventually despool whatever you sent me. &amp;#160;If it&#039;s urgent go ahead and resend.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 08 Feb 2010 14:38:46 -0500</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/96-guid.html</guid>
    
</item>
<item>
    <title>The Open-Source Environment (List)</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/92-The-Open-Source-Environment-List.html</link>
            <category>UNIX</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/92-The-Open-Source-Environment-List.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=92</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=92</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    &lt;p&gt;It occurs to me that aside from a few exceptions I&#039;ve managed to get Premier Heart to a nearly 100% open-source / free(-as-in-beer) footing.&lt;/p&gt;
&lt;p&gt;As 2009 is pretty much over I think it only makes sense to take stock of the software we&#039;re using for posterity - 5 years from now we can look back at this list and laugh the same way people laugh now when they remember FoxPro or COBOL...&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/92-The-Open-Source-Environment-List.html#extended&quot;&gt;Continue reading &quot;The Open-Source Environment (List)&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 13 Oct 2009 11:37:19 -0400</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/92-guid.html</guid>
    
</item>
<item>
    <title>Broken... and now, UnBroken</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/89-Broken...-and-now,-UnBroken.html</link>
            <category>UNIX</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/89-Broken...-and-now,-UnBroken.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=89</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=89</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    &lt;p&gt;So yeah, I decided to upgrade the server to FreeBSD 7.2 in preparation for the 7-&amp;gt;8 transition.&lt;/p&gt;
&lt;p&gt;SOMEHOW (IT speak for &amp;quot;I&#039;m sure it&#039;s my fault, but I don&#039;t know what the fuck I did to cause it&amp;quot;) flexo wound up with the GENERIC kernel instead of his nice customized one. &amp;#160;Customized with all sorts of essentials, like GEOM_MIRROR which provides my RAID.&lt;/p&gt;
&lt;p&gt;So obviously the system wasn&#039;t going to boot.&lt;/p&gt;
&lt;p&gt;I did this on 9/10&lt;/p&gt;
&lt;p&gt;CoLo closed(ish) on 9/11&lt;/p&gt;
&lt;p&gt;Server fixed 9:30 on 9/14&lt;/p&gt;
&lt;p&gt;Spam flow resumed 9:31 on 9/14&lt;/p&gt;
&lt;p&gt;Kernel rebuilt. Much other tuning done.&lt;/p&gt;
&lt;p&gt;Postgres and Apache upgrades next week. &amp;#160; &amp;#160;Hard to really fuck those up.&lt;/p&gt;
&lt;p&gt;(Oh, and maybe I&#039;ll implement off-site backups now and stop being a douche)&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 14 Sep 2009 11:55:07 -0400</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/89-guid.html</guid>
    
</item>
<item>
    <title>Managing Multiple FreeBSD Machines with radmind -- Part Four</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/79-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Four.html</link>
            <category>UNIX</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/79-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Four.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=79</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=79</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    This is part Four of an N-part series (Definitely 4 parts, plus an epilogue) discussing the investigation of radmin as a patch/deployment tool for FreeBSD.

This part deals with creating and deploying patch sets using radmind. I&#039;m assuming you already &lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/75-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-One.html&quot;&gt;built an radmind server&lt;/a&gt;, &lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/76-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Two.html&quot;&gt;created a base load&lt;/a&gt; and &lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/78-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Three.html&quot;&gt;deployed it to some machine(s)&lt;/a&gt;.

Now you just found out about a &quot;ZOMG SUPER CRITICAL MAY CAUSE YOUR SYSTEM TO SPONTANEOUSLY COMBUST!&quot; vulnerability in the base load, and you need to patch your systems.  This is why I started looking at radmind in the first place, and it&#039;s pretty well suited to the task.

 &lt;br /&gt;&lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/79-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Four.html#extended&quot;&gt;Continue reading &quot;Managing Multiple FreeBSD Machines with radmind -- Part Four&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 05 Mar 2009 14:40:00 -0500</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/79-guid.html</guid>
    
</item>
<item>
    <title>Managing Multiple FreeBSD Machines with radmind -- Part Three</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/78-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Three.html</link>
            <category>UNIX</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/78-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Three.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=78</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=78</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    This is part Three of an N-part series (I&#039;m thinking 4 parts, plus an epilogue) discussing the investigation of radmin as a patch/deployment tool for FreeBSD.

This part deals with initial deployment of machines using radmind, and it has some prerequisites:
- You need to have a target machine (a naked FreeBSD install w/ the radmind package installed)
- &lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/75-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-One.html&quot; title=&quot;Part One&quot;&gt;You need to have an radmind server set up&lt;/a&gt;
- &lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/76-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Two.html&quot; title=&quot;Part Two&quot;&gt;You need to have a base load built&lt;/a&gt;

If this is the first time you&#039;re doing an radmind deployment there is an additional requirement: You need to be willing to break the target machine (It might happen -- If there is a problem with your base load you might wind up with an unusable or even unbootable system).

As with &lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/76-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Two.html&quot; title=&quot;Part Two&quot;&gt;Part Two&lt;/a&gt;, I&#039;m not getting into the details of how to meet the prerequisites.  If you can&#039;t get FreeBSD installed and add a package you really don&#039;t belong here.

 &lt;br /&gt;&lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/78-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Three.html#extended&quot;&gt;Continue reading &quot;Managing Multiple FreeBSD Machines with radmind -- Part Three&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 03 Mar 2009 11:50:00 -0500</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/78-guid.html</guid>
    
</item>
<item>
    <title>Managing Multiple FreeBSD Machines with radmind -- Part Two</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/76-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Two.html</link>
            <category>UNIX</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/76-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Two.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=76</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=76</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    This is part Two of an N-part series (I&#039;m thinking 4 parts) discussing the investigation of radmin as a patch/deployment tool for FreeBSD.  It will be filled in over the course of Q2/2009 as we test (and possibly deploy) radmin at Premier Heart.

This part deals with some more basics: Creating an radmind &quot;Base Load&quot; to distribute to your machines.

The radmind Base Load is the template that will be deployed to all servers and consists of Three major parts:
&lt;li&gt;A &quot;Positive Transcript&quot; (often just called a transcript), which lists files and directories to be &lt;i&gt;included&lt;/i&gt; in radmind deployments&lt;/li&gt;
&lt;li&gt;A &quot;Negative Transcript&quot;, which lists files and directories to be &lt;i&gt;created or adjusted, but not replaced&lt;/i&gt; by radmind deployments&lt;/li&gt;
&lt;li&gt;A &quot;Defaults Transcript&quot;, which is a special case of a negative transcript.&lt;/li&gt;
&lt;li&gt;A &quot;Command File&quot;, which lists the transcripts to be applied, and the order in which to apply them.

These transcripts are used to create &quot;Load Sets&quot;, which are what radmind actually distributes to the clients.

 &lt;br /&gt;&lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/76-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Two.html#extended&quot;&gt;Continue reading &quot;Managing Multiple FreeBSD Machines with radmind -- Part Two&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 27 Feb 2009 12:18:00 -0500</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/76-guid.html</guid>
    
</item>
<item>
    <title>Managing Multiple FreeBSD Machines with radmind -- Part Zero</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/74-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Zero.html</link>
            <category>UNIX</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/74-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Zero.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=74</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=74</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    This is part Zero of an N-part series (I&#039;m thinking 4 parts) discussing the investigation of radmin as a patch/deployment tool for FreeBSD.  It will be filled in over the course of Q2/2009 as we test (and possibly deploy) radmin at Premier Heart.

As many (if not all) of you know, I&#039;m a BSD Bigot - I firmly believe that the BSD projects have a huge edge over Linux &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.freebsd.org/doc/en/books/handbook/updating-upgrading-freebsdupdate.html&#039;]);&quot;  href=&quot;&quot; title=&quot;Linux rules the desktop -- I&#039;m content to concede that ground.  The only &quot;desktop quality BSD&quot; is Mac OS X.&quot;&gt;on servers&lt;/a&gt; in all the areas that matter to me most: Performance, Security &amp;amp; Stability.  That being said, there&#039;s one area where they suck big floppy donkey dick: Patch Management.

Over the years I&#039;ve had several solutions:
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Ignore the Problem&lt;/b&gt;&lt;br /&gt;Don&#039;t patch and hope you never get compromised.  This has never been an acceptable solution to me.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Patch Manually&lt;/b&gt;&lt;br /&gt;Log in to every machine in your organization once a quarter, do a Make World / Portupgrade and deal with the fallout.&lt;br /&gt;&lt;i&gt;This is great if all you have are 1-2 machines, and it&#039;s how I patch bsd-box.net.&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Deploy a Build Server&lt;/b&gt;&lt;br /&gt;A central machine builds the world and ports, then you log in to each machine to install them.  It&#039;s manual patching, but you don&#039;t wait for Make World to run a bunch of times.&lt;br /&gt;&lt;i&gt;This is what most BSD admins do, but I&#039;m lazier than the average admin.&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Deploy a Commercial Solution&lt;/b&gt;&lt;br /&gt;This is OK as far as it goes, but using commercial solutions puts you on someone else&#039;s patch schedule.&lt;br /&gt;Also, I&#039;m not aware of any commercial solutions that Don&#039;t Suck&amp;trade;.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Use &lt;a href=&quot;http://www.freebsd.org/doc/en/books/handbook/updating-upgrading-freebsdupdate.html&quot; title=&quot;You have NO excuse for not applying security updates!&quot;&gt;freebsd-update&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;While I greatly admire what the FreeBSD Security Team has done with freebsd-update, it&#039;s just not for me -- Patching my custom software and ports with freebsd-update is a pain in the ass (I would have to essentially roll a custom release - More work than I want to do.)  Also, freebsd-update is geared toward applying the security team&#039;s patches, not managing system deployments - that&#039;s only half of what I want.&lt;/li&gt;
&lt;/ol&gt;
None of these solutions work for me, so for the last 3 years or so I&#039;ve been trying to find one that does.  I&#039;ve examined a few options, from the traditional &quot;let a junior admin do the patching&quot; through writing a remote execution program to handle it.  None of these give me what I need: A simple, straightforward way to go from configuration X to configuration Y without breaking anything.


 &lt;br /&gt;&lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/74-Managing-Multiple-FreeBSD-Machines-with-radmind-Part-Zero.html#extended&quot;&gt;Continue reading &quot;Managing Multiple FreeBSD Machines with radmind -- Part Zero&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 25 Feb 2009 11:22:19 -0500</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/74-guid.html</guid>
    
</item>
<item>
    <title>Woot?</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/70-Woot.html</link>
            <category>Internet</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/70-Woot.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=70</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=70</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/voices.washingtonpost.com/securityfix/2008/11/major_source_of_online_scams_a.html&#039;]);&quot;  href=&quot;http://voices.washingtonpost.com/securityfix/2008/11/major_source_of_online_scams_a.html&quot;&gt;Spammers begone!&lt;/a&gt;

I&#039;m quite pleased - It doesn&#039;t solve the problem of the infected computers that comprise the botnets controlled by the folks hosted at McColo (so they could just start up again at another ISP), but at least it quiets the spam wars down for a few weeks.  I&#039;ll take good news wherever I can get it :)


Now, all of you motherfuckers with unpatched virus laden computers listen up: You&#039;re just as bad... no, you&#039;re WORSE than the McColo&#039;s of the world -- Clean your shit up so they can&#039;t keep using your machines for cannon fodder.  Anyone with half a brain knows that this is just a blip and they&#039;ll be moving their machines to a new home (probably offshore with more unscrupulous upstream providers - the kind that don&#039;t care enough to cut off spammers and child pornographers but are too big for our Tier 1s to just kick off the internet), so take this reprieve for what it is and patch the holes in your roof!

KTHXBAI.


 
    </content:encoded>

    <pubDate>Wed, 12 Nov 2008 11:18:04 -0500</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/70-guid.html</guid>
    
</item>
<item>
    <title>I Can Has Cheezburger? No...</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/68-I-Can-Has-Cheezburger-No....html</link>
            <category>Internet</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/68-I-Can-Has-Cheezburger-No....html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=68</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=68</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    ... but Cheezburger can has ICANN.  I bet next time Ceiling Cat wants a seat on the ICANN board they&#039;ll take him more seriously, huh? 
&lt;!-- s9ymdb:67 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;639&quot; height=&quot;480&quot; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.bsd-box.net/~mikeg/blog/uploads/entry_media/20081013-ICANN_HAS_CHEEZBURGER/Cheezburger_Has_ICANN.jpeg&quot; alt=&quot;&quot;  /&gt;
 
    </content:encoded>

    <pubDate>Mon, 13 Oct 2008 14:40:35 -0400</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/68-guid.html</guid>
    
</item>
<item>
    <title>ICANN't believe it...</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/63-ICANNt-believe-it....html</link>
            <category>Internet</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/63-ICANNt-believe-it....html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=63</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=63</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    ICANN has officially lost their limited minds.  Open Top-Level Domain registration.  It&#039;s usenet all over again.

Someone please stop teh intertubes, I wanna get off....

This has been a public service crying by a crusty old fart who remember when 14.4kbps modems were blazingly fast, CompuServe didn&#039;t suck (sucked less than AOSchnell!), and you had to manually start up PPP on your shell account if you wanted that fancy crap, otherwise you could use Lynx and Pine and be DAMN FUCKING GREATFUL FOR THE OPPORTUNITY!  These kids today with their high speed multimeg pipes to the home... when I was your age we shared one T1 line for an entire class C of dial-up users!  What? What do you mean &quot;What&#039;s a &#039;class C&#039;?&quot;  DAMNIT!

DIE!


(:-P) 
    </content:encoded>

    <pubDate>Sat, 28 Jun 2008 23:16:43 -0400</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/63-guid.html</guid>
    
</item>
<item>
    <title>You little git!</title>
    <link>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/61-You-little-git!.html</link>
            <category>UNIX</category>
    
    <comments>http://www.bsd-box.net/~mikeg/blog/index.php?/archives/61-You-little-git!.html#comments</comments>
    <wfw:comment>http://www.bsd-box.net/~mikeg/blog/wfwcomment.php?cid=61</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.bsd-box.net/~mikeg/blog/rss.php?version=2.0&amp;type=comments&amp;cid=61</wfw:commentRss>
    

    <author>mikeg@bsd-box.net (mikeg)</author>
    <content:encoded>
    ZOMG! Something good came of Linux?  I&#039;ll eat a Yankees hat...

Yes folks it&#039;s true, something that Finnish Fucktard created has actually impressed me.  The lead developer at the new job was shopping around for a new version control system (because &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/kerneltrap.org/mailarchive/git/2005/10/30/195694&#039;]);&quot;  href=&quot;http://kerneltrap.org/mailarchive/git/2005/10/30/195694&quot; title=&quot;CVS Sucks&quot;&gt;CVS Sucks&lt;/a&gt;) and he wanted to try GIT because of its offline capabilities (commit locally when you&#039;re not connected to das interweb, then push it up when you are).  For the record, that&#039;s something SVN doesn&#039;t do either.

So I set out on a mini crusade to learn about and deploy GIT for him - Stumbling along the way into a bit of Python called &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way&#039;]);&quot;  href=&quot;http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way&quot; title=&quot;gitosis&quot;&gt;gitosis&lt;/a&gt; which allows you to manage GIT repositories &amp;amp; access using SSH keys (w00t?).

I played around, deployed it, ran a wonderful CVS-to-GIT script, and found GIT + gitosis to be quite good.  I&#039;m even considering moving some of my stuff into GIT.

GIT also has one major advantage over CVS/SVN in my mind -- The distributed local copy is a full repository - therefore each workstation with a working directory is a de-facto backup of the master repository (as of whenever a pull/update was last done).  Should a meteor strike the GIT master server all one would need to do is put one of these repositories on another box somewhere and development can continue relatively uninterrupted (minus the gitosis configuration -- I haven&#039;t quite worked that out yet).


 &lt;br /&gt;&lt;a href=&quot;http://www.bsd-box.net/~mikeg/blog/index.php?/archives/61-You-little-git!.html#extended&quot;&gt;Continue reading &quot;You little git!&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 01 May 2008 10:39:51 -0400</pubDate>
    <guid isPermaLink="false">http://www.bsd-box.net/~mikeg/blog/index.php?/archives/61-guid.html</guid>
    
</item>

</channel>
</rss>