<?xml version="1.0" encoding="iso-8859-1"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">

<channel>
<title>Tales of the Raccoon Fink: KDE 4.2.4 Released to Fink Unstable</title>
<link>http://www.raccoonfink.com/?utm_source=rss&amp;utm_medium=rss</link>
<description>...now with web 1.9!</description>
<dc:language>en-us</dc:language>
<dc:creator>blog@raccoonfink.com</dc:creator>
<dc:rights>Copyright 2009</dc:rights>
<dc:date>2009-06-10T11:01:55-05:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=4.23-en" />
<admin:errorReportsTo rdf:resource="mailto:blog@raccoonfink.com"/>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>


<item>
<title>KDE 4.2.4 Released to Fink Unstable</title>
<link>http://www.raccoonfink.com/2009/06/kde-424-released-to-fink-unstable.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=kde_424_released_to_fink_unstable</link>
<description> Just a note to say that I&apos;ve released KDE 4.2.4 to Fink unstable. And now it&apos;s time for the fun part: big bold red text telling you it breaks stuff. KDE4/X11 Plasma Desktop on Mac OS X in Xephyr...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/06/kde-424-released-to-fink-unstable.html</guid>
<category>KDE</category>
<pubDate>Wed, 10 Jun 2009 11:01:55 -0500</pubDate>
<content:encoded><![CDATA[<p>
Just a note to say that I've released KDE 4.2.4 to Fink unstable.  And now it's time for the fun part: <strong style="color: #ff0000; font-size: 110%">big bold red text telling you it breaks stuff</strong>.
</p>
<table style="float: right">
 <tr><td style="border: 0px"><a href="http://gallery.raccoonfink.com/v/misc/screenshots/kde-screenshots/KDE4_X11_Plasma_Desktop_on_Mac_OS_X-20090609-115205.png.html?g2_imageViewsIndex=2"><img src="http://gallery.raccoonfink.com/d/27314-2/KDE4_X11_Plasma_Desktop_on_Mac_OS_X-20090609-115205.png" alt="KDE4/X11 Plasma Desktop on Mac OS X" /></a></td></tr>
 <tr><td style="border: 0px; font-size: smaller">KDE4/X11 Plasma Desktop on Mac OS X in Xephyr</td></tr>
 <tr><td>&nbsp;</td></tr>
 <tr><td style="border: 0px"><a href="http://gallery.raccoonfink.com/v/misc/screenshots/kde-screenshots/Working_KOffice_file_associations-20090607-174737.png.html?g2_imageViewsIndex=1"><img src="http://gallery.raccoonfink.com/d/27315-2/Working_KOffice_file_associations-20090607-174737.png" alt="Working KOffice file asociations" /></a></td></tr>
 <tr><td style="border: 0px; font-size: smaller"> Working KOffice file asociations </td></tr>
</table>
<p>
Actually, that was just the text saying that I was <em>going</em> to have big bold red text telling you it breaks stuff.  Here's the real thing:
</p>
<p>
  <strong style="color: #ff0000; font-size: 110%; padding-left: 20px">It breaks stuff!</strong>
</p>
<p>
But let me explain: it makes things better!  Because of some esoteric stuff relating to case-sensitivity, existing packages, and bugs in Fink dpkg, there were issues on a number of people's systems with the existing KDE packages and conflicting paths.  Of course, the root of the issue is that Fink didn't have a proper "/opt" type directory, so a number of packages for quite some time have been using "/sw/lib" for that purpose (/sw/lib/qt4-x11, /sw/lib/flex, etc.)
</p>
<p>
Since I was going to have to move things around anyways to fix this issue, I decided to do it right.  As of Fink 0.29.7, the package validator accepts "/sw/opt" as a valid path to root packages.  All of the KDE4 packages have been changed to use this new path, so when you upgrade to KDE 4.2.4, you will end up with a nice fresh clean KDE in /sw/opt/kde4/x11 or /sw/opt/kde4/mac (or both).
</p>
<p>
<strong style="font-size: 110%">But wait, there's more!</strong>
</p>
<p>
I've also spent a lot of time fixing bugs and tweaking some fink-specific behaviors so that KDE integrates better with your Fink experience.
</p>
<ul>
 <li> Fink's kdelibs4 automatically knows about the usual locations for kde4 files, so all KDE4 apps will start properly without needing /sw/opt/kde4/{x11,mac} in the path.  This includes KDE4 apps launched from the Finder. </li>
 <li> The kdebase-workspace package is now supported for KDE4/X11.  That means you can start a full KDE desktop! </li>
 <li> As a test, I created proper Info.plist files for KOffice, so file associations actually work.  <a href="http://www.hubbahubba.de/">Till Adam</a> has been working on a more robust way of doing this in the future, but if I find the time I might work on setting up more associations for common KDE apps in the mean time.  (Kommon apps?) </li>
</ul>
<p>
So, for those of you who have already tinkered with KDE4 in Fink, I'm sorry to say it all needs an upgrade.  But, on the bright side, once you do, you'll have a much nicer KDE.
</p>
<p>
As always, if you run into any issues, please let me know.
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/06/kde-424-released-to-fink-unstable.html#comments" title="Comment on: KDE 4.2.4 Released to Fink Unstable">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>The Open Source Philosophy (Continued)</title>
<link>http://www.raccoonfink.com/2009/05/the-open-source-philosophy-continued.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=the_open_source_philosophy_continued</link>
<description> The conversation has continued over at the 451 CAOS Theory blog. In response to my musings on intent, David Dennis asked a great question: Benjamin, A question for you (and Tarus). Is this topic important to you because: You...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/05/the-open-source-philosophy-continued.html</guid>
<category>Free/Open-Source Software</category>
<pubDate>Fri, 08 May 2009 08:04:29 -0500</pubDate>
<content:encoded><![CDATA[<p>
The conversation has continued over at the <a href="http://blogs.the451group.com/opensource/2009/05/07/what-the-osd-doesnt-say-about-open-source/">451 CAOS Theory blog</a>.  In response to my musings on intent, <a href="http://www.gwos.com/">David Dennis</a> asked a great question:
</p>
<blockquote>
<p>Benjamin,</p>
<p>A question for you (and Tarus). Is this topic important to you because:</p>
<ol style="list-style-type: lower-alpha">
<li>You believe it's an important marketing differentiator for the software you work on vs. competitors</li>
<li>You believe it's an important philosophical / moral issue worth evangelizing</li>
<li>both</li>
</ol>
<p>
Tackling a) involves traditional marketing objectives around branding, awareness, messaging, positioning, etc. Not necessarily a cake walk, but certainly possible to make progress.
</p>
<p>
Tackling b) involves changing the way people think and behave, which is much much more challenging.
</p>
</blockquote>
<p>
My response is:
</p>
<p><strong>Definitely both.</strong></p>
<p>
From a personal point of view, I've been involved in open source software since before the phrase was coined, so I do feel that it is at least a personal philosophical issue.  BUT I'm also a pragmatist, and I know that arguing purely for philosophy's sake will not convince anyone.
</p>
<p>
That said, that philosophy drives me to support the companies that I think are doing it "right."  I work for OpenNMS not just because I think the software's great, but also because I love that we can compete with "the big guys" by having a better community.
</p>
<p>
Part of the reason that we get so passionate about it is that a lot of these "does it really matter?" conversations start with the implication that we're already failing to compete, which is just plain wrong.  I'm sure that's why we probably often sound defensive when we are hoping to sound convincing.  ;)
</p>
<p>
I'm the first to roll my eyes at the "true believers" -- while I think that in the end open source is a better way to do things in a "pay it forward" kind of way, I believe it's better from a philosophical <b>and</b> pragmatic way.  It won't work for everyone, but it <b>can</b> work for open source projects as an alternative to big-money funding.
</p>
<p>
I am a child of the VC tech industry.  I've worked at startups and I know what it feels like to work on software you think is great only to be shut down and have the IP sold off, just because the VP of sales didn't do <i>his</i> job.  It's refreshing to work for a company that starts with community first, and grows by being truly profitable, rather than by incurring massive amounts of debt.  (See: current economy.)  It's refreshing to not be one of 10 companies the VC bets on, and if 9 of them fail, "eh, oh well, that's statistics."
</p>
<p>
Since we grow as we have profit, rather than funding, the biggest investment we can make is in our <b>time</b>, improving the software, and growing the community.  There is nothing wrong with the "<a href="http://www.fauxpensource.org">fauxpen source</a>" companies' business model, they are welcome to write good software as best they can, and get market share, but in the end, we <i>do</i> differentiate by our openness and our interaction with the community.  When they co-opt the phrase that was meant to be equivalent to "free software" to now mean "kind of free software," it does pure open source companies a disservice and it is a lie by omission that they equate their software to be "just as free" as ours.
</p>
<p>
Sure, that's competition, but that's why it's important for us to get the word out that there <strong>is</strong> a difference.
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/05/the-open-source-philosophy-continued.html#comments" title="Comment on: The Open Source Philosophy (Continued)">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>The Open Source Philosophy</title>
<link>http://www.raccoonfink.com/2009/05/the-open-source-philosophy.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=the_open_source_philosophy</link>
<description> There has been a lot of discussion recently on the Open Source Definition, and the use (and abuse) of the term &quot;Open Source.&quot; One of the things that has been missing from this discussion is a higher-level overview of...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/05/the-open-source-philosophy.html</guid>
<category></category>
<pubDate>Thu, 07 May 2009 09:56:11 -0500</pubDate>
<content:encoded><![CDATA[<p>
There has been a lot of discussion recently on the <a href="http://www.opensource.org/docs/definition.php">Open Source Definition</a>, and the use (and abuse) of the term "Open Source."  One of the things that has been missing from this discussion is a higher-level overview of where the friction between "open source" and so-called "<a href="http://www.fauxpensource.org/">fauxpen source</a>" comes from: intent.
</p>
<p>
The Open Source Definition arose out of the ambiguity of the word "free" in "Free Software," as defined by the <a href="http://www.fsf.org/">Free Software Foundation</a>."  In the English language, "free" is a loaded term that has two meanings: "freedom", and "costing nothing."  It was created to get rid of some of the emotional baggage that came with the intense philosophical point of view of the FSF, but just because the OSD is more "business-friendly" does not mean that it doesn't have the philosophy and intent of openness behind it.
</p>

<p>
This friction comes from two very different approaches to open source that I think have been missing from a lot of the discussion regarding how open source applies to business models.  I'm going to call these "community value" and "monetary value."
</p>
<p>
In some ways, this dichotomy reminds me of the <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> (GNU Public License) versus the <a href="http://www.gnu.org/copyleft/lgpl.html">LGPL</a> (Lesser GNU Public License).  The GPL is a pure open-source license, which guarantees the user's freedom by making it so that no software that uses GPL software can hide or restrict that use in a derivative work.  The LGPL, on the other hand, was a compromise, a pragmatic license which allows one to create free software, but it does not require free distribution of things that <em>link</em> to that software.  The LGPL has always clearly been discouraged by the FSF precisely because it compromises the freedoms guaranteed by the GPL.
</p>

<h1>Open Core: Nurturing Monetary Value (<em>"Lesser"</em> Open Source)</h1>
<p>
Advocates of using the term "open source" to apply to open-core and similar business models approach open source from a monetary value point of view.  It is an approach of pragmatism: you create a business plan, get venture capital to get going, and sell software licenses to (hopefully) eventually pay back the VC firms and continue to grow.  In many ways, an open-core business is exactly the same as any other startup.  Open Source is not a fundamental philosophical part of the business, it is instead used to cut costs, and to help grow "buzz" about what your company is doing, and perhaps even get some free QA, bug reports, etc.  The focus is not on creating a community to draw customers indirectly by improving the product, but to draw customers directly by creating awareness.  To meet the demands of the venture capital, it requires a fast-growth, high-yield business model, and the community model doesn't grow that fast.
</p>
<p>
In the end, how much work you do nurturing a community is directly a matter of how many you can convert to paying year-over-year for software licenses, or whatever other artificial scarcity you create.  Once customers have decided they want the features only available in the up-sell ("enterprise") version of your software, they have more resistance to changing to another product.
</p>
<p>
This is growing monetary value.  The open-source community in a "monetary value" business is a side-effect of a marketing push to draw licensed customers.  If the community goes away, you still have an essentially standalone commercial business that can continue just as if the community never existed.  This is not to say the community doesn't provide value, nor that it doesn't derive value from the open source portion of their software, only that the business plan itself doesn't hinge on the openness of the software.
</p>

<h1>Open Source: Nurturing Community Value (<em>"Pure"</em> Open Source)</h1>
<p>
On the other hand, "pure" open source business models (services &amp; support, like <a href="http://www.opennms.com/">my employer</a>) approach business from a community value point of view.  This is <em>not</em> to say that pure open source companies don't want to make money -- only that to be successful, we compete with much bigger companies by multiplying our value with that of the community.  To be able to be competitive with companies with huge amounts of seed money, we can't afford to treat our community just as a resource to be mined; our community is what makes it possible to support a large user-base with a small number of employees.  Our community are like-minded individuals, working on this project with us together.
</p>
<p>
Since we are not beholden to venture capital, we don't have to get quick returns to maximize stockholder returns.  Instead what we need is to work with the community to make great software, and to continue to challenge ourselves to extend and expand our knowledge of that software, so we are able to provide our expert opinions as a service worth paying for.  As long as we can pay the bills, give ourselves a comfortable salary, keep customers and the user-base happy, and grow the business, we consider ourselves successful.  Our goal is to become the de facto network management platform, and we can do that better by not being in debt to venture firms for years.
</p>
<p>
On the surface, the value we and our community get from each other may not look that different from that of an open-core company, but looking deeper, there are a number of advantages to the "slow and steady wins the race" methodology we use:
</p>
<dl>
 <dt>Everyone Gets the "Enterprise" Version</dt>
  <dd><p>You are not held ransom for features that are only in the for-pay version.  You can evaluate the product as it truly is, without time-limited evaluation licenses, crippleware with features missing, or annoying shareware reminders.</p></dd>
 <dt>No Software Licenses</dt>
  <dd><p>The software isn't artificially limited, it is capable of whatever your hardware is capable of without an arbitrary restriction because the sales VP decided that's where to draw the line.  Note that it's easy to think that <a href="http://www.redhat.com/">Red Hat</a> is a counter-example, since they charge licenses for installed hosts, but from a freedom perspective, you can install <em>the code</em> on as many hosts as you like (ie, <a href="http://www.centos.org/">CentOS</a>) without restriction, the restriction is only on "official" support.</p></dd>
 <dt>Everyone Benefits from Community Involvement</dt>
  <dd>
   <p>When the community adds value, everyone benefits.  Users help each other with issues, provide patches, documentation, and so on.  The community contribution to OpenNMS has been <strong>huge</strong> -- not only major features, but default configuration for large amounts of network gear, which OpenNMS now supports out of the box on every new install.</p>
  </dd>
 <dt>Everyone Benefits from Commercial Involvement</dt>
  <dd>
   <p>Since the code is 100% open-source, customers who pay for custom development not only get their own value from the transaction, but the software goes back into the mainline, and benefits everyone.</p>
	 <p>An anecdote: We had a support customer who paid for some custom development for a somewhat esoteric feature.  It was originally done in a branch of OpenNMS something like 5 or 6 years ago.  The OpenNMS code base has gone through huge upheavals, refactorings, and architectural changes since that feature was created, but since it was released back into the OpenNMS mainline, when they finally upgraded their production system to an up-to-date OpenNMS release, the feature continued to work.  If a consulting company did that same custom work as an HP OpenView plugin, they would have to port/implement it all over again after 3 major version revisions of the upstream software.</p>
	</dd>
 <dt>100% Forkable</dt>
  <dd>
	 <p>While we make a living supporting OpenNMS, we do not "own" the project.  (Although, we do own the OpenNMS trademark -- the realities of business in the US require it if we want to be able to protect the name of the project.)</p>
	 <p>At best we are stewards, but the list of OpenNMS employees is a fraction of the number of "<a href="http://sourceforge.net/project/memberlist.php?group_id=4141">core</a>" contributors, and the core contributors are a fraction of the number of users who have added value to OpenNMS over the years.</p>
	 <p>We run and guide the project, but only because the community trusts us to do so.  Our job is to earn that trust, by upholding the principles I've outlined above.  When we do so, everyone gets value from OpenNMS.  If we fail to do so, the <a href="http://www.opennms.org/index.php/OGP">OGP</a> will "vote us off the island," and if it becomes bad enough, the source is fully available so it can be forked to something the community approves of.</p>
 </dd>
</dl>

<h1>Either Approach is "Better," but Only One is Truly Open</h1>
<p>
In the end, it's like the difference between a stable community bank who personally <em>knows</em> every person it gives a loan to, and an investment bank bringing in money fast with high-risk derivatives; they are focused on providing value to two entirely different sets of people.  Either approach is better depending on your point of view -- they each have their advantages.  However, in the end, I believe it is disingenuous to claim that open-core and similar business models have as much right to the phrase "open source" as pure open source businesses.
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/05/the-open-source-philosophy.html#comments" title="Comment on: The Open Source Philosophy">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>Shorn in the U.S.A.</title>
<link>http://www.raccoonfink.com/2009/04/shorn-in-the-usa.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=shorn_in_the_usa</link>
<description> Alright, folks, the bearding has commenced. Now&apos;s your chance to make a pledge for the Carolina Hurricanes Kids &apos;n&apos; Community Foundation. Just hit the &quot;Pledge a Friend&quot; button, and put in &quot;Benjamin Reed&quot;. If you know me, you know...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/04/shorn-in-the-usa.html</guid>
<category>Hockey</category>
<pubDate>Sun, 12 Apr 2009 21:59:54 -0500</pubDate>
<content:encoded><![CDATA[<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://gallery.raccoonfink.com/v/misc/my-beard/beard-a-thon-2009/2009-04-12.html"><img alt="Shorn in the U.S.A." src="http://gallery.raccoonfink.com/d/27093-2/2009-04-12" width="300" height="231" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></a></span>
<p>
Alright, folks, the bearding has commenced.
</p>
<p>
Now's your chance to <a href="https://www.beardathon.com/hurricanes/RangerRick/profile.aspx">make a pledge</a> for the Carolina Hurricanes Kids 'n' Community Foundation.  Just hit the "Pledge a Friend" button, and put in "<strong>Benjamin Reed</strong>".
</p>
<p>
If you know me, you know my dedication to never exposing my unfortunate double-chin to the horrors of sunlight.  Don't let this sacrifice be in vain!  <a href="https://www.beardathon.com/hurricanes/RangerRick/profile.aspx">Pledge now!</a>
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/04/shorn-in-the-usa.html#comments" title="Comment on: Shorn in the U.S.A.">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>It&apos;s Playoff Beard Time</title>
<link>http://www.raccoonfink.com/2009/04/its-playoff-beard-time.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=its_playoff_beard_time</link>
<description> In the &apos;05-&apos;06 Stanley Cup run, I grew a pretty substantial playoff beard, just for the heck of it. (see fig. 1, pictured right) This time, the Hurricanes are doing a great charity event for the Kids &apos;N Community...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/04/its-playoff-beard-time.html</guid>
<category>Hockey</category>
<pubDate>Thu, 09 Apr 2009 17:08:05 -0500</pubDate>
<content:encoded><![CDATA[<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="many-faces-of-ranger-rick-animation.gif" src="http://www.raccoonfink.com/2009/04/09/many-faces-of-ranger-rick-animation.gif" width="300" height="257" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></span>
<p>
In the '05-'06 Stanley Cup run, I grew a pretty substantial playoff beard, just for the heck of it.  (see fig. 1, pictured right)
</p>
<p>
This time, the Hurricanes are doing a great charity event for the <a href="http://hurricanes.nhl.com/team/app?service=page&amp;page=NHLPage&amp;bcid=radF928C">Kids 'N Community Foundation</a>: the <a href="https://www.beardathon.com/hurricanes/team.aspx">Beard-A-Thon</a>!
</p>
<p>
When the regular season games are over, I'm going to shave, and then grow a playoff beard <strong>as hard as I can</strong>.
</p>
<p>
Now, as I mentioned, it's a charity event, and I need you folks to help me out, by <a href="https://www.beardathon.com/hurricanes/pledge.aspx">pledging at the Beard-A-Thon page</a>.  Don't forget to enter "<strong>Benjamin Reed</strong>" where it says, "<em> There's a specific beard grower I'd like to support</em>."
</p>
<p>
<a href="https://www.beardathon.com/hurricanes/pledge.aspx"><img src="http://www.beardathon.com/images/team-20/btn_red_pledge_beard.gif" alt="Pledge now!" title="Pledge now!" /></a>
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/04/its-playoff-beard-time.html#comments" title="Comment on: It&apos;s Playoff Beard Time">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>KDE 4.2.2 in Fink Unstable</title>
<link>http://www.raccoonfink.com/2009/04/kde-422-in-fink-unstable.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=kde_422_in_fink_unstable</link>
<description> I&apos;ve just committed all of KDE 4.2.2 to Fink Unstable. There&apos;s still a lot of rough edges, but it&apos;s definitely at least beta quality, and a lot of apps work great. It includes a number of fixes, including updated...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/04/kde-422-in-fink-unstable.html</guid>
<category>KDE</category>
<pubDate>Fri, 03 Apr 2009 17:33:55 -0500</pubDate>
<content:encoded><![CDATA[<p>
I've just committed all of <a href="http://kde.org/announcements/announce-4.2.2.php">KDE 4.2.2</a> to Fink Unstable.
</p>
<p>
There's still a lot of rough edges, but it's definitely at least beta quality, and a lot of apps work great.  It includes a number of fixes, including updated scripts to register all of the desktop files properly with ksycocoa on post-install, case-sensitive filesystem fixes, and a number of other packaging fixes.  I've also finished packaging all of the "core" KDE distribution.
</p>
<p>
I've got <a href="http://amarok.kde.org/">Amarok</a> working in my experimental tree, I just need to do a little more testing before I can release it (It's based on a snapshot of what will become Amarok 2.1.0, since 2.0.x has some build issues on Mac OS X that are difficult to resolve).  Also, the <a href="http://www.koffice.org/">KOffice</a> folks just put out a release candidate that I'm working on finishing up packaging on.  Hopefully I will have that out soon.
</p>
<p>
As always, please let me know if you run into issues.  I've test-built on 10.5/i386 and 10.4/ppc so I'm sure some 10.4/i386 and 10.5/ppc users will give bug reports soon.  ;)
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/04/kde-422-in-fink-unstable.html#comments" title="Comment on: KDE 4.2.2 in Fink Unstable">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>Best Useless Stats Ever</title>
<link>http://www.raccoonfink.com/2009/03/best-useless-stats-ever.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=best_useless_stats_ever</link>
<description> If you&apos;ve followed this blog for a bit, you know that I write music and (finally) released an album last year. One of the places my music is available for download is bandcamp.com, who offers up a nice little...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/03/best-useless-stats-ever.html</guid>
<category>Music</category>
<pubDate>Tue, 31 Mar 2009 12:10:45 -0500</pubDate>
<content:encoded><![CDATA[<p>
If you've followed this blog for a bit, you know that <a href="http://music.raccoonfink.com/">I write music</a> and (finally) released an album last year.
</p>
<p>
One of the places my music is available for download is <a href="http://raccoonfink.bandcamp.com/">bandcamp.com</a>, who offers up a nice little download/portal service where you can make your music available.  You can get my music there for free at 128kbit, or if you want to support my music, or get a higher-quality format (all the way up to FLAC and Apple Lossless!), you can name your own price.
</p>
<p>
I was looking at my download/listen statistics, and I saw something strange.  They do 60-day, 30-day, week, or daily graphs, along with <em><strong>defender</strong></em> graphs.
</p>
<p>
<strong>Defender?!</strong>
</p>
<p>
So I clicked on it, and I saw the coolest most useless statistics graph ever.  You can <em>play</em> defender in your graphs.  The little UFO flies around, there's people on the ground, and you can move your ship back and forth and shoot them.  Awesome!
</p>
<p>
60-day graph: <br />
<img src="http://idisk.me.com/rangerick/Public/Pictures/Skitch/bandcamp-60-day-graph-20090331-120918.png" alt="60-day graph" title="60-day graph" />
</p>
<p>
Defender graph: <br />
<img src="http://idisk.me.com/rangerick/Public/Pictures/Skitch/bandcamp-defender-graph-20090331-120937.png" alt="Defender graph" title="Defender graph" />
</p>
<p>
How cool is that!!?
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/03/best-useless-stats-ever.html#comments" title="Comment on: Best Useless Stats Ever">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>KDE4 Fink Unstable Releases</title>
<link>http://www.raccoonfink.com/2009/03/kde4-fink-unstable-releases.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=kde4_fink_unstable_releases</link>
<description> I&apos;ve had a chance to get a few more of the KDE4 packages polished up into what I hope is a releasable state. :) Please give them a shot, let me know if you have any issues, if things...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/03/kde4-fink-unstable-releases.html</guid>
<category>KDE</category>
<pubDate>Sun, 22 Mar 2009 14:54:47 -0500</pubDate>
<content:encoded><![CDATA[<p>
I've had a chance to get a few more of the KDE4 packages polished up into what I hope is a releasable state.  :)
</p>
<p>
Please give them a shot, let me know if you have any issues, if things don't work as expected.  I know one major thing to look into still is to get document-opening working.  Right now the KDE desktop files describe which apps should open different document types, but that is not being translated to OSX's document-opening APIs.
</p>
<p>
The following packages were released to unstable today:
</p>
<ul>
 <li> digikam-mac and digikam-x11 </li>
 <li> kdeaccessibility4-mac and kdeaccessibility4-x11 </li>
 <li> kdeadmin4-mac and kdeadmin4-x11 </li>
 <li> kdeartwork4-mac and kdeartwork4-x11 </li>
 <li> kdeedu4-mac and kdeedu4-x11 </li>
 <li> kdegraphics4-mac and kdegraphics4-x11 </li>
 <li> kdemultimedia4-mac and kdemultimedia4-x11 </li>
</ul>
<p>
Big ones left on the hitlist are <strong>amarok2</strong> and <strong>koffice2</strong>.  Amarok2 I'm starting work on again as a snapshot of the 2.1.0 build, since there are some issues with 2.0.x building on OSX.  KOffice is actually working pretty well in my experimental tree, but 2.0 release candidate is due out in the next week or so, so I'm going to wait to update to that before doing a release.
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/03/kde4-fink-unstable-releases.html#comments" title="Comment on: KDE4 Fink Unstable Releases">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>This Week in OpenNMS: Moving to a New Home</title>
<link>http://www.raccoonfink.com/2009/03/twio-2009-03-16.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=twio-2009-03-16</link>
<description> Since this blog is more about my own personal development on OSX, Fink, KDE, and OpenNMS, and This Week in OpenNMS is about, well, all of OpenNMS development, I figured it was high time to move it to somewhere...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/03/twio-2009-03-16.html</guid>
<category>TWiO</category>
<pubDate>Mon, 16 Mar 2009 17:16:07 -0500</pubDate>
<content:encoded><![CDATA[<p>
Since this blog is more about my own personal development on <a href="http://www.apple.com/macosx/">OSX</a>, <a href="http://www.finkproject.org/">Fink</a>, <a href="http://www.kde.org/">KDE</a>, and <a href="http://www.opennms.org/">OpenNMS</a>, and This Week in OpenNMS is about, well, all of OpenNMS development, I figured it was high time to move it to somewhere more official.
</p>
<p>
Without further ado, I present to you: <a href="http://www.opennms.com/twio/">This Week in OpenNMS</a>.  Same bat-time, different bat-channel.
</p>
<p>
RSS is still available, but the url has moved <a href="http://www.opennms.com/twio/twio.xml">here</a>, rather than getting everything through my blog.
</p>
<p>
Please, update your links!
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/03/twio-2009-03-16.html#comments" title="Comment on: This Week in OpenNMS: Moving to a New Home">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>KDE 4.2.1 in Fink</title>
<link>http://www.raccoonfink.com/2009/03/kde-421-in-fink.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=kde_421_in_fink</link>
<description> Yes, that&apos;s right, a post to my blog that isn&apos;t about OpenNMS. ;) As you can tell, I&apos;ve been pretty busy having fun hacking on OpenNMS lately. While I have been keeping up with my Fink work to some...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/03/kde-421-in-fink.html</guid>
<category>KDE</category>
<pubDate>Wed, 11 Mar 2009 17:41:40 -0500</pubDate>
<content:encoded><![CDATA[<p>
Yes, that's right, a post to my blog that <strong>isn't</strong> about <a href="http://www.opennms.org/">OpenNMS</a>.  ;)
</p>
<p>
As you can tell, I've been pretty busy having fun hacking on OpenNMS lately.  While I have been keeping up with my <a href="http://www.finkproject.org/">Fink</a> work to some extent, one major thing was still looming: finally getting all the work I did on <a href="http://mac.kde.org/">KDE/Mac</a> released in Fink, now that things have stabilized.
</p>
<p>
If you've been watching the commits for the last few months, you've seen the beginnings of that work.  Updates to <a href="http://www.qtsoftware.com/">Qt</a>, releases of support things like <a href="http://www.vandenoever.info/software/strigi/">strigi</a> and <a href="http://nepomuk.semanticdesktop.org/">soprano</a>...  The big hurdle was getting <a href="http://dbus.freedesktop.org/">D-Bus</a> in a state where it plays well with KDE/Mac.  After some initial hiccoughs, the D-Bus updates have been released to Fink now, and seem to be working well for people.
</p>
<p>
Today, I released the base packages for <a href="http://www.kde.org/announcements/4.2/">KDE 4.2.x</a> into fink: kdelibs4, kdepimlibs4, and kdebase4.
</p>
<p>
Because of the cross-platform nature of KDE, I've released them in 2 variants: mac and x11, so you can run konqueror <a href="http://idisk.mac.com/rangerick/Public/Pictures/Skitch/konqueror-x11-20090311-171011.png">as an X11 app</a>, or <a href="http://idisk.mac.com/rangerick/Public/Pictures/Skitch/konqueror-mac-20090311-170934.png">as a mac app</a>.  :)
</p>
<p>
Some things will only be present in one or the other, for various reasons (X11-specific features, etc.)  One thing that <em>will</em> be in the X11 variant that is not there now is kdebase-workspace, so no plasma desktop as of yet.  I've built it, but it doesn't act right currently, so I'm waiting to release until it's in a usable state.
</p>
<p>
This is still early test stuff, so if you run into issues with it, please feel free to <a href="mailto:kde@raccoonfink.com">let me know</a> and I'll see what I can do.
</p>
<p>
I can't thank enough Orville Bennett and the other KDE/Mac folks.  They have picked up the early work I did on porting and ran with it, helping polish it into a nice, buildable, and solid set of code while I was on my "hiatus" from KDE packaging.  :)  They have done a lot of great work in helping bring native mac KDE from "freakish mutant" to "used every day by KDE developers."
</p>
<p>
In the coming weeks I hope to get more of the base KDE packages done.  I'm in the testing phase for koffice, amarok, kdeartwork, and a couple of others, and working my way through packaging more.  I'll post as I get anything interesting.
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/03/kde-421-in-fink.html#comments" title="Comment on: KDE 4.2.1 in Fink">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>This Week in OpenNMS, Monday March 9th, 2009</title>
<link>http://www.raccoonfink.com/2009/03/twio-2009-03-09.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=twio-2009-03-09</link>
<description> Coding on the Porch I&apos;ve decided to do This Week in OpenNMS on Mondays, instead of Fridays, since it&apos;s more likely that people will be around to read it on Monday, and since then I don&apos;t have to furiously...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/03/twio-2009-03-09.html</guid>
<category>TWiO</category>
<pubDate>Mon, 09 Mar 2009 10:41:27 -0500</pubDate>
<content:encoded><![CDATA[<table style="float: right">
 <tr><td style="border: 0px"><a href="http://photos-c.ak.fbcdn.net/photos-ak-sf2p/v651/71/81/1246003397/n1246003397_340346_6811402.jpg"><img src="http://photos-c.ak.fbcdn.net/photos-ak-sf2p/v651/71/81/1246003397/s1246003397_340346_6811402.jpg" alt="Coding on the Porch" title="Coding on the Porch" /></a></td></tr>
 <tr><td style="border: 0px; font-size: smaller">Coding on the Porch</td></tr>
</table>
<p>
I've decided to do This Week in OpenNMS on Mondays, instead of Fridays, since it's more likely that people will be around to read it on Monday, and since then I don't have to furiously write under a deadline Friday afternoon when I could be sitting out on the porch, sipping drinks and relaxing.  Or something.
</p>
<p>
Anyways, welcome to This (well, Last) Week in OpenNMS!
</p>
<h1>Project Updates</h1>
<ul>
 <li>
  <p><strong>Stable: Current Release is 1.6.2</strong></p>
  <p>
   1.6.2 is still the current release, and while there are a few fixes pending since it's release, there are no immediate plans for a 1.6.3 yet.
  </p>
 </li>
 <li>
  <p><strong>Unstable: Current Release is 1.7.0</strong></p>
  <p>
   Trunk continues to move at a furious rate.  We're still hoping to get 1.7.1 out soon.  Stay tuned for updates on that.  In the meantime, feel free to try the nightly snapshots <em>(if it's not on a production system, of course)</em>.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Build System Updates</strong></p>
  <p>
   Work has begun on refactoring our Maven build system.  We've been trying to move a lot of things out of the main build, to speed up building and to componentize things that should be "external" dependencies.  The new structure has been introduced, and we're looking at eventually moving all of our code into this structure:
  </p>
  <ul>
   <li>
    <p><strong>core</strong>: OpenNMS core.  This will include event handling, basic daemon support, and other support code needed by all of OpenNMS.</p>
    <ul>
     <li><p><strong>api</strong>: Interfaces and basic APIs</p></li>
     <li><p><strong>lib</strong>: "Library" code (the majority of the core code)</p></li>
     <li><p><strong>runtime</strong>: Runtime code, ie, things only needed in a running OpenNMS instance</p></li>
     <li><p><strong>web</strong>: Web application code common to all of OpenNMS</p></li>
     <li><p><strong>doc</strong>: Documentation</p></li>
    </ul>
   </li>
   <li>
    <p><strong>features</strong>: Any feature of OpenNMS that can be modularized, and isn't part of the Core.  This will include most of the daemons (Notifd, Provisiond, etc.)  Each feature gets it's own directory, and will have a similar structure to the <em>core</em> module.</p>
   </li>
   <li>
    <p><strong>extensions</strong>: Any feature of OpenNMS that does not need to be built by default for a basic running OpenNMS installation (ticketing integrations, etc.)  Each extension gets it's own directory, and will have a similar structure to the <em>core</em> module.</p>
   </li>
   <li>
    <p><strong>lib</strong>: Support "library" code used by any part of OpenNMS, which can be a standalone package.  The lib directory is not built by default, but instead deployed to the maven repository as they are updated as if they were individual projects.  Examples include the service-registration framework (DNS-SD advertising), our version of JoeSNMP, and the SNMP strategies.</p>
   </li>
   <li>
    <p><strong>assemblies</strong>: Assemblies in maven describe how all of these various components get packaged up together.  The plan is to make multiple assemblies for a minimal system, full install, and so on so you can choose how much OpenNMS you want when building from source.  Having multiple assemblies will also make it easier to run just a portion of OpenNMS for development and testing.
    </p>
   </li>
  </ul>
 </li>
 <li>
  <p><strong>Trunk: Provisiond</strong></p>
  <p>
   Provisiond is solidifying, the only major word to be done is support for the newSuspect events to fully replace Capsd's functionality.  Lots of performance work has been going on in it as well, so it should be able to very quickly scan networks that took a long time under Capsd.
  </p>
 </li>
 <li>
  <p><strong>Trunk: <a href="http://www.shrubbery.net/rancid/">RANCID</a></strong></p>
  <p>
   Antonio and Guglielmo have been working hard on the RANCID adapter.  I'm told the RANCID map integration is <em>very</em> cool, but I haven't had a chance to check it out yet.  It's in the latest snapshots.
  </p>
 </li>
 <li>
  <p><strong>Trunk: DNS Provisioning Adapter</strong></p>
  <p>
   I worked on Dave's provisioning adapter some, and got it working.  Now whenever a node is added/updated/deleted, we can update a dynamic DNS server with the new hostname -&gt; IP address mapping based on the node label in the provisioning group node configuration.  It's a good example of how to make a provisioning adapter.
  </p>
 </li>
 <li>
  <p><strong>Trunk: UI Enhancements</strong></p>
  <p>
   Donald continues to make our UI more interactive, and handle large numbers of elements sanely.  The node page is looking pretty sweet.  :)
  </p>
 </li>
 <li>
  <p><strong>Trunk: Event Parameter Name Extraction</strong></p>
  <p>
   Jeff did a useful little feature to be able to use parameter names in %parm% expansions.  See <a href="http://bugzilla.opennms.org/show_bug.cgi?id=3061">bug #3061</a> for details.
  </p>
 </li>
</ul>
<h1>About the Inventory Scanner</h1>
<p>
Matt Raykowski has been working on a very cool feature in a branch called the inventory scanner.  I asked him to send me a quick summary of what his goals are for the inventory scanner, and here's what he said:
</p>
<div style="font-style: italic">
<p>
Inventory Scanning is a protocol agnostic daemon tasked with collecting inventory and asset information from hosts through whichever means available to it through the coded scanners. At the present point in time only a WMI scanner exists but I plan on trying to get someone "onboard" to write a SNMP scanner and I plan on writing a telnet/ssh-based scanner that works similar to Expect.
</p>
<p>
Inventory Scanning saves inventory information in three layers: category, asset, property.
</p>
<ul>
 <li>Categories are high level classifications of assets. For example there may be a "Network Adapters" category. Categories are defined in the configuration and are not driven from host-based data.</li>
 <li>Assets are items of interest from hosts. Examples of assets would be "Broadcom 100MB Network Adapter."</li>
 <li>Properties are the individual components of information for a given asset. To continue our previous example you would have a manufacturer, serial number and assorted configuration information.</li>
</ul>
<p>
Categories are largerly going to be used for grouping and organization in the web representation of inventory information. All assets and properties will be idenfitied with a source, whether they're active and an effective date. During the process of scanning the scanner will collect all configured information from the host and pass that information to a persister which will go through the process of comparing the scanned asset information to the most effective version of the hosts configuration. It will add new properties and assets as they appear and remove (by setting the property or asset as deleted) any assets in the effective configuration set that are not in the scanned collection and were defined by that scanner source.
</p>
<p>
This last part is important: whatever is scanned and saved will have a history. When that history changes a UEI will be emitted for interested parties, potentially for notification. But the tracking of the source is important since now you can have multiple protocols maintaining asset information on a single host in addition to providing the user with limitless ability to manually add custom asset information.
</p>
<p>
Despite the fact that it can keep a history of inventory information in the database and the UI will have the ability to browse history and the user will have the ability to be notified on configuration change events this is not intended to be an enterprise grade replacement for other CMDB tools or inventory tools. It will not have the ability to send configuration changes to hosts, and at least in my incarnation no ability to differential comparisons between hosts or versions. Although this could be added on by some enterprising member of [The OpenNMS Group] or the community if someone decided this was a feature they desired.
</p>
</div>
<p>Very cool stuff, Matt!</p>
<h1>Upcoming Events</h1>
<p><em><strong>Note:</strong> April training has been pushed back to May.</em></p>
<ul>
 <li><p>March 14th, 2009: <a href="http://www.opennms.org/index.php/OpenNMSUCE2009">OpenNMS User Conference Europe 2009</a> will be held in Frankfurt am Main, Germany.</p></li>
 <li><p>May 4th-8th, 2009: <a href="http://www.opennms.com/training.html#usa">OpenNMS training will be available</a> through The OpenNMS Group at the OpenNMS training facility in Pittsboro, NC.</p></li>
 <li><p>June 14th-19th, 2009: <a href="http://www.opennms.org/index.php/Dev-Jam_2009">OpenNMS Dev-Jam 2009</a>, the annual OpenNMS developers conference, will be in Minneapolis-St. Paul this year.</p></li>
</ul>
<p>If you have anything to add to the events list, or you wish to be a Dev-Jam sponsor, please <a href="mailto:ranger@opennms.org">let me know</a>.</p>
<h1>That's It!</h1>
<p>
That's it for this week.  As always, questions, comments, non-sequiturs, gifts, and bribes are always welcome, feel free to <a href="mailto:ranger@opennms.org">e-mail me</a>.  And if you have a question about OpenNMS that you think would be a good topic in TWiO, please, let me know!
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/03/twio-2009-03-09.html#comments" title="Comment on: This Week in OpenNMS, Monday March 9th, 2009">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>This Week (or Two) in OpenNMS, Friday February 27th</title>
<link>http://www.raccoonfink.com/2009/02/twio-2008-02-27.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=twio-2008-02-27</link>
<description> So I&apos;m a slacker. But I have an excuse, really! I was having so much fun working on JSPs last Friday, that I totally forgot to write TWiO last week. OK, it&apos;s JSPs, so I guess I&apos;m lying about...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/02/twio-2008-02-27.html</guid>
<category>TWiO</category>
<pubDate>Fri, 27 Feb 2009 17:00:00 -0500</pubDate>
<content:encoded><![CDATA[<p>
So I'm a slacker.  But I have an excuse, really!  I was having so much fun working on JSPs last Friday, that I totally forgot to write TWiO last week.  OK, it's JSPs, so I guess I'm lying about having fun, but I was really almost done with a new feature.  ;)
</p>
<p>
Anyways, since I've gotten a little sloppy, I'm going to make it up for you, with a feature on the new Provisiond, which is shaping up quite nicely.  And to show my shame, I've dubbed this week's article: This Week <strong>(or Two)</strong> in OpenNMS.
</p>
<p>
But, to begin...  What's been going on for the last two weeks?
</p>
<h1>Project Updates</h1>
<table style="float: right">
 <tr><td style="border: 1px solid"><a href="http://gallery.raccoonfink.com/d/26731-2/opennms-1-7-1-node-page"><img src="http://gallery.raccoonfink.com/d/26735-2/opennms-1-7-1-node-page" alt="New Node Page" title="New Node Page" /></a></td></tr>
 <tr><td style="border: 1px solid">New Node Page</td></tr>
</table>
<ul>
 <li>
  <p><strong>Stable: Current Release is 1.6.2</strong></p>
  <p>
   1.6.2 is still the current release, and while there are a few fixes pending since it's release, there are no immediate plans for a 1.6.3 yet.
  </p>
 </li>
 <li>
  <p><strong>Unstable: Current Release is 1.7.0</strong></p>
  <p>
   Commits have been speeding by on trunk as Provisiond moves it's way into a feature-complete state.  I'm still hoping we'll get a 1.7.1 release out soon so people can give it a shot, but, well, we have to stop to breathe first.  In the meantime, feel free to try the nightly snapshots <em>(if it's not on a production system, of course)</em>.
  </p>
 </li>
 <li>
  <p><strong>Trunk: <a href="http://www.shrubbery.net/rancid/">RANCID</a> Updates</strong></p>
  <p>
   Antonio and Guglielmo have been furiously working away on the RANCID integration, focusing on authentication, and the UI for the most part.
  </p>
 </li>
 <li>
  <p><strong>Trunk: SNMP Refactoring</strong></p>
  <p>
   Matt has spent some time refactoring some of the SNMP data so that it is instead in the snmpInterface table where it belongs, and it means no more 0.0.0.0 IPs where they don't belong.  This cleans up our model a bit to be more sane.  (A bit.)
  </p>
 </li>
 <li>
  <p><strong>Trunk: Provisiond Updates</strong></p>
  <p>
   Provisiond is nearing feature-complete, and is definitely at a point where it can be tried out on real-world networks.  See <a href="#provisiond">below</a> for a feature on Provisiond.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Node Page Updates</strong></p>
  <p>
   Donald and Matt have both been working on updating the node page to be more dynamic.  It's pretty slick now, offering tabs detailing various information related to the node.
  </p>
 </li>
 <li>
  <p><strong>Branch: Inventory Management</strong></p>
  <p>
   Matt Raykowski continued work on his inventory daemon.  I'm still waiting for a more detailed update of what it does/will do, I'll try to get an update before next week's TWiO.
  </p>
 </li>
</ul>
<h1><a name="provisiond">Provisiond: An Overview</a></h1>
<table style="float: right">
 <tr><td style="border: 1px solid"><a href="http://gallery.raccoonfink.com/d/26736-2/opennms-1_7_1-provisioning-groups"><img src="http://gallery.raccoonfink.com/d/26745-2/opennms-1_7_1-provisioning-groups" alt="Provisioning Groups: UI" title="Provisioning Groups: UI" /></a></td></tr>
 <tr><td style="border: 1px solid">Provisioning Groups: UI</td></tr>
 <tr><td>&nbsp;</td></tr>
 <tr><td style="border: 1px solid"><a href="http://gallery.raccoonfink.com/d/26739-2/opennms-1_7_1-edit-requisition"><img src="http://gallery.raccoonfink.com/d/26746-2/opennms-1_7_1-edit-requisition" alt="Provisioning Groups: Edit Requisition" title="Provisioning Groups: Edit Requisition" /></a></td></tr>
 <tr><td style="border: 1px solid">Provisioning Groups: Edit Requisition</td></tr>
 <tr><td>&nbsp;</td></tr>
 <tr><td style="border: 1px solid"><a href="http://gallery.raccoonfink.com/d/26742-2/opennms-1_7_1-edit-foreign-source"><img src="http://gallery.raccoonfink.com/d/26747-2/opennms-1_7_1-edit-foreign-source" alt="Provisioning Groups: Edit Foreign Source" title="Provisioning Groups: Edit Foreign Source" /></a></td></tr>
 <tr><td style="border: 1px solid">Provisioning Groups: Edit Foreign Source</td></tr>
</table>
<h2>A History Lesson</h2>
<p>
Architecturally, OpenNMS is very sound.  It was written from the beginning with scalability in mind, by people who had been dealing with network management for their entire careers.  However, Java, as a language (and as an environment), has grown immensely in power, reliability, and expressiveness since we started this project.  Gone are the heady days of requiring IBM's 1.3 JDK because it was the only one that handled large numbers of open ports gracefully.
</p>
<p>
That does not mean all remnants of those days are gone, however.
</p>
<p>
Over the years, most of OpenNMS has gone through an architectural upgrade, under the guidance of Matt Brozowski.  Whole subsystems were cleaned up, rewritten, and/or modernized.  3 glaring exceptions remained, until recently: Capsd (the capability scanner), Notifd (the notification engine), and the web UI (I don't know if it's web 1.0, or web 0.9, but well... it needs an upgrade.)  Thanks to the recent implementation of Provisiond, I'm happy to say we only have <em><strong>two</strong></em> glaring exceptions to the wonderful architectural upgrades OpenNMS has gone through.  <em>Notifd: I'm coming for you next!</em>
</p>
<h2>Capsd!  Huugh!  Good God, Y'all!  What Is It Good For?</h2>
<p>
OpenNMS has three distinct phases when it comes to how it discovers and works with nodes:
</p>
<ol>
 <li>
  <p><strong>Discovery</strong> (What's Out There?)</p>
  <p>
   Discovery is the beginning of the life of a node.  OpenNMS does a ping sweep across the range of addresses specified in your configuration, and says, "did it respond?"  If the answer is "yes," discovery shouts into the event bus, "HEY!  I suspect I might have found a new node!"  Discovery is not actually a requirement of OpenNMS, it is entirely possible to use it without doing discovery, either by sending your own <em>newSuspect</em> event (through a script, or the "Add Interface" link in the admin UI), or by using the <a href="http://www.opennms.org/index.php/Importer_Service">model importer</a>.
  </p>
 </li>
 <li>
  <p><strong>Capability Scanning</strong> (What Does It Do?)</p>
  <p>
   Capsd, the capability scanning daemon, listens for <em>newSuspect</em> events, and says, "Hmm, what is this IP address capable of?"  It does service scans (based on the capsd plugins defined), checks for SNMP, and does some other things to determine whether it's a new node or part of another node, and what services are publicly listening.
  </p>
 </li>
 <li>
  <p><strong>Monitoring</strong> (Is It Still Doing It?)</p>
  <p>
   Once a node has been discovered and capability scanned, it goes into the queue to be monitored, based on the poller-configuration.  At that point it becomes a part of the normal poll/data-collection/thresholding/notification cycle that you know and love.
  </p>
 </li>
</ol>
<h2>The Model Importer</h2>
<p>
Some of our users are integrating OpenNMS into larger systems, or want tighter control over what nodes OpenNMS is aware of than can be provided by a ping sweep and Capsd scan.  For that, we wrote the <a href="http://www.opennms.org/index.php/Importer_Service">model importer</a>, or "provisioner".
</p>
<p>
To use the model importer, you would create an import definition XML file, which describes the nodes, their interfaces, and services which you want to manage directly.  Most folks who are doing this either export from some other internal database of managed nodes, or use the <em>Manage Provisioning Groups</em> UI and custom-build a set of nodes directly.  You hit the import button, and voila!  Your database is populated with the exact set of nodes, interfaces, and services you specified.
</p>
<p>
This is very powerful, but also very rigid.  It's pretty much an all-or-nothing affair; there's no room for discovering extra information about provisioned nodes.
</p>
<h2>What Does Provisiond Do?</h2>
<p>
Provisiond replaces the functionality of Capsd, and replaces and expands upon the old model importer, by defining not only the nodes and interfaces you wish to monitor, but also adding the ability to distinguish how we should behave when importing these nodes.  It has a pluggable architecture which allows for defining policies such as, "scan the imported node, and if it's in this IP address range, automatically put it in the <strong>routers</strong> category," and "scan the specified interface, automatically discover the SNMP interfaces, and if they are non-IP, don't bother putting them in the database."
</p>
<p>
Architecturally, Provisiond is chopped up into a number of subsystems:
</p>
<ul>
 <li>
  <p><strong>The Provisioner</strong></p>
  <p>
   This is the meat of provisiond, it's responsible for managing a provisioning "lifecycle," which includes scheduling scans, listening for events, and kicking off the various parts of scanning and writing to the database.  Matt has written a very powerful engine for doing these various tasks which I suspect will move into other parts of the code as we refactor them in the future.  There's a lot more flexibility in determining when things will be scanned than Capsd's main loop.
  </p>
 </li>
 <li>
  <p><strong>Detectors</strong></p>
  <p>
   The detectors are the replacements for Capsd scanners, and they've received an upgrade over their Capsd counterparts as well.  They've been rewritten with an architecture that allows them to run asynchronously, so service scans which take a while don't have to bottle up the scanning of other nodes.  Additionally, the SNMP scanning has received an upgrade that lets us react to bulk gets as soon as a complete "row" of data is received, so node sub-interfaces discovered through SNMP will start showing up sooner.
  </p>
 </li>
 <li>
  <p><strong>Policies</strong></p>
  <p>
   Policies act as filters on the data as it's coming in.  We've got a few simple ones in the first release, but since they're written with a very simple and pluggable API, it makes it easy for you to define your own business logic by creating an incredibly simple class and dropping it in the classpath.
  </p>
 </li>
</ul>
<h2>A Bit More on the Model</h2>
<p>
The existing model importer had the concept of a "provisioning group," which is a collection of node/interface/etc. definitions, and was configured through the <em>Manage Provisioning Groups</em> UI.  Each provisioning group had a "foreign source" which defined a discrete collection of nodes, so that if you removed a node from that foreign source, it would be deleted from the database as well.
</p>
<p>
In Provisiond, the foreign source is no longer just a tag that's a unique identifier, it's a definition of the behavior of the provisioner (ie, defines the detectors and policies).  To that end, we've renamed the generic "provisioning group" to a <em>Requisition</em>.  There is then a separate configuration for the <em>Foreign Source</em> which defines the policies which describe how the requisition is imported.
</p>
<h2>What Works?</h2>
<p>
At this point, almost everything.  The only thing missing is the part that listens for newSuspects, so it doesn't completely replace Capsd as of yet.  However, barring that, all of the functionality of Capsd is essentially implemented in Provisiond at this point.
</p>
<h2>How Do I Try It?</h2>
<p>
Grab a 1.7.1 snapshot or build from source, and fire it up.  Provisiond is enabled by default now, and you can go to the <em>Manage Provisioning Groups</em> link in the UI to try it out.  Did I mention this is unstable software?  Really, it's unstable software.  Don't do this on a production system!  That said, it's cool.  =)
</p>
<h1>Upcoming Events</h1>
<ul>
 <li><p>March 14th, 2009: <a href="http://www.opennms.org/index.php/OpenNMSUCE2009">OpenNMS User Conference Europe 2009</a> will be held in Frankfurt am Main, Germany.</p></li>
 <li><p>April 6th-10th, 2009: <a href="http://www.opennms.com/training.html#usa">OpenNMS training will be available</a> through The OpenNMS Group at the OpenNMS training facility in Pittsboro, NC.</p></li>
 <li><p>June 14th-19th, 2009: <a href="http://www.opennms.org/index.php/Dev-Jam_2009">OpenNMS Dev-Jam 2009</a>, the annual OpenNMS developers conference, will be in Minneapolis-St. Paul this year.</p></li>
</ul>
<p>If you have anything to add to the events list, or you wish to be a Dev-Jam sponsor, please <a href="mailto:ranger@opennms.org">let me know</a>.</p>
<h1>I'm Beat</h1>
<p>
Man, it was a lot of work to write that up.  I'm so tired, I just might miss TWiO next week.  We'll just have to see.  ;)
</p>
<p>
As always, if you wish to berate me publicly, feel free to leave a comment on my blog, and if you wish to berate me privately, feel free to <a href="mailto:blog@raccoonfink.com">send me an e-mail</a>.  Until next time!
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/02/twio-2008-02-27.html#comments" title="Comment on: This Week (or Two) in OpenNMS, Friday February 27th">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>This Week in OpenNMS, Friday February 13th</title>
<link>http://www.raccoonfink.com/2009/02/twio-2008-02-13.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=twio-2008-02-13</link>
<description> Welcome to This Week in OpenNMS for Friday the 13th. It&apos;s yet again time to take a look at what&apos;s been going on in the world of OpenNMS development. Project Updates Stable: Current Release is 1.6.2 1.6.2 is still...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/02/twio-2008-02-13.html</guid>
<category>TWiO</category>
<pubDate>Fri, 13 Feb 2009 10:43:30 -0500</pubDate>
<content:encoded><![CDATA[<p>
Welcome to This Week in OpenNMS for <a href="http://www.youtube.com/watch?v=y8Kyi0WNg40">Friday the 13th</a>.  It's yet again time to take a look at what's been going on in the world of OpenNMS development.
</p>
<h1>Project Updates</h1>
<ul>
 <li>
  <p><strong>Stable: Current Release is 1.6.2</strong></p>
  <p>
   1.6.2 is still the current release, and while there are a few fixes pending since it's release, there are no immediate plans for a 1.6.3 yet.
  </p>
 </li>
 <li>
  <p><strong>Unstable: Current Release is 1.7.0</strong></p>
  <p>
   Trunk has been moving fast still, and I hope we'll get a 1.7.1 release out soon-ish, but we're still trying to get provisiond up to a demoable state first.  In the meantime, feel free to try the nightly snapshots <em>(if it's not on a production system, of course)</em>.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Javamail Updates</strong></p>
  <p>
   Dave's been working on refactoring our javamail support into it's own module, to make it easier to reuse in different portions of OpenNMS.
  </p>
 </li>
 <li>
  <p><strong>Trunk: RANCID Integration</strong></p>
  <p>
   Guglielmo continued work on the RANCID integration; the API has stopped changing much and most of the work has been going on in the UI at this point.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Provisiond</strong></p>
  <p>
   Matt has most of the provisiond code working, some simple scanning is possible now, there are just a few loose ends to tie up before there's a working prototype.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Node Page Updates</strong></p>
  <p>
   Donald's spiffy new ajaxy node page is active, and lets you page through data related to the node directly in the node page.
  </p>
 </li>
 <li>
  <p><strong>1.6 Testing: Minor Updates</strong></p>
  <p>
   Jeff, Bill, and a few others have done some minor updates to 1.6-testing (which of course are forward-ported to trunk as well) including IE rendering issues, additional MIBs, read-only KSC report support, and more.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Map Updates</strong></p>
  <p>
   Antonio has continued work on the new trunk map code, which includes support for all modern SVG browsers (Safari, Firefox, and IE with the Adobe SVG plugin).
  </p>
 </li>
 <li>
  <p><strong>Trunk: RESTful Support for Map Data</strong></p>
  <p>
   Matt Raykowski submitted RESTful API support for map and related data (map elements, linkd data, etc.) which will be useful for future map work.
  </p>
 </li>
 <li>
  <p><strong>Trunk: XMP/Cartographer Support</strong></p>
  <p>
   Jeff merged Bobby Krupczak's <a href="http://www.krupczak.org/index.php/Cartographer">Cartographer</a> agent support for OpenNMS to trunk.
  </p>
  <p>
   Cartographer <em>"implements a novel approach to managing distributed systems by automatically discovering and tracking the relationships between its component systems and applications. Cartographer does so via specially designed agents -- residing on clients, servers and (potentially) network devices -- that detect, identify, and track the inter and intra-system dependencies or relationships. Dependencies include network level services like DNS, DHCP, and SMTP as well as higher-level application abstractions like filesystems, databases, directory services, telephony, and middleware."</em>
  </p>
 </li>
</ul>
<h1>Upcoming Events</h1>
<ul>
 <li><p>March 14th, 2009: <a href="http://www.opennms.org/index.php/OpenNMSUCE2009">OpenNMS User Conference Europe 2009</a> will be held in Frankfurt am Main, Germany.</p></li>
 <li><p>April 6th-10th, 2009: <a href="http://www.opennms.com/training.html#usa">OpenNMS training will be available</a> through The OpenNMS Group at the OpenNMS training facility in Pittsboro, NC.</p></li>
 <li><p>June 14th-19th, 2009: <a href="http://www.opennms.org/index.php/Dev-Jam_2009">OpenNMS Dev-Jam 2009</a>, the annual OpenNMS developers conference, will be in Minneapolis-St. Paul this year.</p></li>
</ul>
<p>If you have anything to add to the events list, or you wish to be a Dev-Jam sponsor, please <a href="mailto:ranger@opennms.org">let me know</a>.</p>
<h1>If You Can't Love the Source You've Opened, Open the Source You Love</h1>
<p>
That's all for this week.  I hope you all have a wonderful valentine's day if you're into that kind of thing.  As always, feel free to <a href="mailto:blog@raccoonfink.com">drop me a line</a> if you have any questions, comments, or if you wish to know my address so you can send me some mysterious white powder through postal mail.
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/02/twio-2008-02-13.html#comments" title="Comment on: This Week in OpenNMS, Friday February 13th">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>This Week in OpenNMS, Friday January 30th</title>
<link>http://www.raccoonfink.com/2009/01/twio-2008-01-30.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=twio-2008-01-30</link>
<description> It&apos;s time for another This Week in OpenNMS. I will be skipping next week&apos;s, as I&apos;ll be too busy sunning myself in the caribbean and hanging out with a bunch of rockin&apos; bands on Ships and Dip V. Ahhhhh.......</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/01/twio-2008-01-30.html</guid>
<category>TWiO</category>
<pubDate>Fri, 30 Jan 2009 14:47:50 -0500</pubDate>
<content:encoded><![CDATA[<p>
It's time for another This Week in <a href="http://www.opennms.org/">OpenNMS</a>.  I will be skipping next week's, as I'll be too busy sunning myself in the caribbean and hanging out with a bunch of rockin' bands on <a href="http://www.shipsanddip.com/">Ships and Dip V</a>.  Ahhhhh....
</p>
<h1>Project Updates</h1>
<ul>
 <li>
  <p><strong>Stable: Current Release is 1.6.2</strong></p>
  <p>
   1.6.2 seems to be holding up nicely, although there have been some reports of issues with JMX thresholding that need to be investigated more deeply still.  If you're having issues and can add some details to <a href="http://bugzilla.opennms.org/show_bug.cgi?id=2512">the bug on the subject</a>, it would be appreciated.
  </p>
 </li>
 <li>
  <p><strong>Unstable: Current Release is 1.7.0</strong></p>
  <p>
   Trunk is still moving crazy fast, so hopefully we'll be getting another 1.7 release out there soon when a few things settle down, so people can help test.  In the meantime, feel free to try the nightly snapshots <em>(if it's not on a production system, of course)</em>.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Acknowledgement Daemon</strong></p>
  <p>
   Dave continues to make progress on Ackd in between crazy days at the TeleManagement Forum's Team Action Week (more on that later).  Hopefully it will be ready for folks to test it out in the next few weeks.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Inventory Daemon</strong></p>
  <p>
   Fresh off the heady high of getting WMI support in trunk, Matt Raykowski has started work on on inventory daemon, which intends to provide a more flexible interface to systems asset and inventory information than our current (anemic) asset system.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Provisiond</strong></p>
  <p>
   Provisiond continues to progress towards something usable.  Matt's been working on finishing the scanning code, and Matt and I both have spent some time this week making an optimized SNMP table tracker which will let us perform operations on collected SNMP data as it comes in, so scans of nodes with large numbers of interfaces will happen in a more timely manner.
  </p>
  <p>
   I also finished up this week a RESTful API to the Provisiond importer, which will let you edit and create model-import and foreign sources.  The web UI is next, and will use this API for creating provisiond's configuration.
  </p>
 </li>
 <li>
  <p><strong>Trunk: RANCID Support</strong></p>
  <p>
   Guglielmo continues to flesh out the RANCID API.  Work has begun on the OpenNMS web UI side of the implementation, and small changes are still being made to the RANCID java bindings.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Node Page Updates</strong></p>
  <p>
   Donald continued his work on making the node page more dynamic.
  </p>
 </li>
</ul>
<h1>TeleManagement Forum's Team Action Week</h1>
<p>
OpenNMS, represented by OGP members Craig Gallen and David Hustace, is participating this week at the <a href="http://www.tmforum.org/">TeleManagment Forum</a>'s (TMF) Team Action Week (TAW) in Lisbon.
</p>
<p>
Craig is leading the TMF Interface Program (TIP) Reference Implementation (RI) team and we will be creating open source implementations of TIP interfaces starting with Service Problem Management (SPM).
</p>
<p>
The artifacts created by the reference implementation team will be libraries that can be used to develop <a href="http://en.wikipedia.org/wiki/NGOSS">NGOSS</a>-compliant components in service provider applications.  OpenNMS has committed to working on the Service Problem Management (SPM) interface (Alarms), Inventory, Performance Management, and Trouble Ticket implementations.  For more information see the <a href="http://www.tmforum.org/InterfaceProgram/5733/home.html">interface program page</a> on TMF's web site.
</p>
<h1>Upcoming Events</h1>
<ul>
 <li><p>February 2nd-6th, 2009: <a href="http://www.opennms.com/training.html#eurtng">OpenNMS training will be available</a> through The OpenNMS Group in Milan, Italy.</p></li>
 <li><p>February 9th-13th, 2009: <a href="http://www.opennms.com/training.html#usa">OpenNMS training will be available</a> through The OpenNMS Group at the OpenNMS training facility in Pittsboro, NC.</p></li>
 <li><p>March 14th, 2009: <a href="http://www.opennms.org/index.php/OpenNMSUCE2009">OpenNMS User Conference Europe 2009</a> will be held in Frankfurt am Main, Germany.</p></li>
 <li><p>June 14th-19th, 2009: <a href="http://www.opennms.org/index.php/Dev-Jam_2009">OpenNMS Dev-Jam 2009</a>, the annual OpenNMS developers conference, will be in Minneapolis-St. Paul this year.</p></li>
</ul>
<p>If you have anything to add to the events list, or you wish to be a Dev-Jam sponsor, please <a href="mailto:ranger@opennms.org">let me know</a>.</p>
<h1>Cruisin'</h1>
<p>
That's it for now.  We'll see you again, in a couple of weeks!  As always, if you have questions, comments, or angry hate-filled missives to send, <a href="mailto:blog@raccoonfink.com">let me know</a>.
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/01/twio-2008-01-30.html#comments" title="Comment on: This Week in OpenNMS, Friday January 30th">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>

<item>
<title>This Week in OpenNMS, Friday January 23rd</title>
<link>http://www.raccoonfink.com/2009/01/twio-2008-01-23.html?utm_source=rss&amp;utm_medium=rss&amp;campaign=twio-2008-01-23</link>
<description> Sorry I missed last week, I ended up having so much come up I didn&apos;t have time to put it together, so this issue is an action-packed 2-week OpenNMS extravaganza! Project Updates Stable: Current Release is 1.6.2 On January...</description>
<guid isPermaLink="false">http://www.raccoonfink.com/2009/01/twio-2008-01-23.html</guid>
<category>TWiO</category>
<pubDate>Fri, 23 Jan 2009 11:49:52 -0500</pubDate>
<content:encoded><![CDATA[<p>
Sorry I missed last week, I ended up having so much come up I didn't have time to put it together, so this issue is an action-packed 2-week <a href="http://www.opennms.org/">OpenNMS</a> extravaganza!
</p>
<h1>Project Updates</h1>
<ul>
 <li>
  <p><strong>Stable: Current Release is 1.6.2</strong></p>
  <p>
   On January 15th, we saw the release of <a href="http://www.opennms.org/index.php/New_and_Noteworthy#New_in_OpenNMS_1.6.2">OpenNMS 1.6.2</a> which included a number of small bugfixes and feature additions.
  </p>
  <p>
   For the full list of what was changed, see <a href="http://bugzilla.opennms.org/buglist.cgi?query_format=advanced&amp;target_milestone=1.6.2&amp;bug_status=VERIFIED&amp;cmdtype=doit">the 1.6.2 bug milestone</a>.
  </p>
 </li>
 <li>
  <p><strong>Unstable: Current Release is 1.7.0</strong></p>
  <p>
   The 15th also saw the first <strong>unstable</strong> release since 1.6 went stable.  It is a work-in-progress release from trunk which gives a preview of the features to come in the 1.8 series.  As 1.7.x releases come out, the <a href="http://www.opennms.org/index.php/New_and_Noteworthy#New_in_OpenNMS_1.7.0">release notes in the New and Noteworthy section of the web page</a> will be updated with an overview of the new features which will be in 1.8.0.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Provisioning</strong></p>
  <p>
   Provisiond is moving along, with lots more commits.  Matt has been working on the scheduler and other infrastructure, and I've been working on the data model for the requisition (what nodes/etc. to import) and foreign source (what to do with the information imported).  Things are moving along, and hopefully we will be doing actual scanning of node data soon.
  </p>
 </li>
 <li>
  <p><strong>Trunk: <a href="http://www.shrubbery.net/rancid/">RANCID</a> Integration</strong></p>
  <p>
  Guglielmo has been working more on the integration with RANCID for Cisco router management.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Acknowledgement Daemon</strong></p>
  <p>
   Dave is continuing his work on the acknowledgement daemon.  It's approaching finished, and will hopefully be in a usable state in the nightly snapshots soon.
  </p>
 </li>
 <li>
  <p><strong>Trunk: WMI Updates</strong></p>
  <p>
   More work has been done on the WMI feature since 1.7.0 came out, including some architectural tweaking, and lots of new data collections.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Map Work</strong></p>
  <p>
   More work has been going on in the OpenLaszlo map branch.  From what I've been told, it's approaching a usable/demoable state.  Look for updates on this soon!
  </p>
  <p>
   Also, Antonio did some bugfixes and updates to the Firefox/Safari SVG maps, as well.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Node Page Enhancements</strong></p>
  <p>
   Donald has been working on some new spiffy dynamic node pages which will allow you to browse node data, do simple queries, and other neat stuff, using <a href="http://extjs.com/">Ext JS</a>.
  </p>
 </li>
 <li>
  <p><strong>Trunk: Asterisk Notification Support</strong></p>
  <p>
   Jeff added support for notifications through Asterisk.
  </p>
 </li>
</ul>
<h1>Upcoming Events</h1>
<ul>
 <li><p>February 2nd-6th, 2009: <a href="http://www.opennms.com/training.html#eurtng">OpenNMS training will be available</a> through The OpenNMS Group in Milan, Italy.</p></li>
 <li><p>February 9th-13th, 2009: <a href="http://www.opennms.com/training.html#usa">OpenNMS training will be available</a> through The OpenNMS Group at the OpenNMS training facility in Pittsboro, NC.</p></li>
 <li><p>March 14th, 2009: <a href="http://www.opennms.org/index.php/OpenNMSUCE2009">OpenNMS User Conference Europe 2009</a> will be held in Frankfurt am Main, Germany.</p></li>
 <li><p>June 14th-19th, 2009: <a href="http://www.opennms.org/index.php/Dev-Jam_2009">OpenNMS Dev-Jam 2009</a>, the annual OpenNMS developers conference, will be in Minneapolis-St. Paul this year.</p></li>
</ul>
<p>If you have anything to add to the events list, or you wish to be a Dev-Jam sponsor, please <a href="mailto:ranger@opennms.org">let me know</a>.</p>
<h1>Adieu</h1>
<p>
That's it for this week.  As always, questions, comments, constructive and/or destructive criticism are always welcome.  =)
</p></p>
<p>
<a href="http://www.raccoonfink.com/2009/01/twio-2008-01-23.html#comments" title="Comment on: This Week in OpenNMS, Friday January 23rd">Comments</a></p>
</MTComments></description>
]]></content:encoded>
</item>


</channel>
</rss>