By RangerRick, on August 23rd, 2011%
Working on an open-source project teaches you a few things about dealing with software developers, and reporting bugs. I’ve been in the open-source world for a long time, and I remember when I first started out as a user of software, I felt glad to even have access to these tools at all, and I felt a reluctance to “bother” the developers with issues if I wasn’t sure it was only me.
The problem is, issues are a bit . . . → Read More: Schrödinger’s Bugs
Share on Facebook
By RangerRick, on September 1st, 2010%
So I ran into a really interesting issue in Java regular expression parsing while trying to work on an issue for a customer.
OpenNMS has the ability to listen for syslog messages, and turn them into OpenNMS events. To configure it, you specify a mapping of substring or regular expressions to UEIs (OpenNMS’s internal event identifiers).
The customer saw a huge drop in performance from 1.8.0 to 1.8.1. Basically the only change to the syslog daemon was a change to use Matcher.find() instead of Matcher.matches(). The problem was that they were making regular expressions like this:
foo0: .*load test (\\S+) on ((pts\\/\\d+)|(tty\\d+))
…which weren’t matching. So they changed it to put .* at the front, so matches() would get it:
.*foo0: .*load test (\\S+) on ((pts\\/\\d+)|(tty\\d+))
Upon upgrading to 1.8.1, they saw orders of magnitude slowdown. The reason is that when you haven’t specified an anchor, find has to figure out the “right” starting point for the match. In doing so, it spins a LOT, compared to matches() and its implicit anchors. It’s very expensive to scan all the way through the string, attempting to re-apply the regex, if it turns out there is no . . . → Read More: Be Careful What You Match For, You Might Not Get It
Share on Facebook
By RangerRick, on July 29th, 2009%
I’ve been spending some spare time working on an OpenNMS iPhone app, and things are coming along just great. As many of you know, I do a lot of work with porting various UNIX C/C++ applications to Mac OS X, but despite now having many years of practice doing such things, I actually have very little knowledge of writing C/C++ code from scratch.
I’ve debugged many a bad header, but up to this point I could count the number of lines of code I’ve actually written where I need to manage my own memory on erm… well, 20 hands? OK, bad analogy.
Still, it was with much trepidation that I approached finally hunkering down and learning Objective C. The verdict is: not bad. I did have to go through some growing pains learning how scoping and memory management works, but it’s not as troublesome as I’d feared — and the class libraries are pretty robust. In a couple of weeks, it’s nearly feature-complete for what I wanted to get working for a 1.0 release. All that’s left is the alarm detail page, and being able to acknowledge alarms from the app.
. . . → Read More: Getting My Feet Wet: The OpenNMS iPhone App
Share on Facebook
By RangerRick, on May 8th, 2009%
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 believe it’s an important marketing differentiator for the software you work on vs. competitors You believe it’s an important philosophical / moral issue worth evangelizing both
Tackling a) involves traditional marketing objectives around branding, awareness, messaging, positioning, etc. Not necessarily a cake walk, but certainly possible to make progress.
Tackling b) involves changing the way people think and behave, which is much much more challenging.
My response is:
Definitely both.
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.
That said, that philosophy drives me to support the companies that I think are doing it “right.” I work for OpenNMS not just . . . → Read More: The Open Source Philosophy (Continued)
Share on Facebook
By RangerRick, on March 16th, 2009%
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 more official.
Without further ado, I present to you: This Week in OpenNMS. Same bat-time, different bat-channel.
RSS is still available, but the url has moved here, rather than getting everything through my blog.
Please, update your links!
Share on Facebook
Share on Facebook
By RangerRick, on February 27th, 2009%
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.
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 (or Two) in OpenNMS.
But, to begin… What’s been going on for the last two weeks?
Project Updates New Node Page
Stable: Current Release is 1.6.2
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.
Unstable: Current Release is 1.7.0
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 . . . → Read More: This Week (or Two) in OpenNMS, Friday February 27th
Share on Facebook
By RangerRick, on February 13th, 2009%
Welcome to This Week in OpenNMS for Friday the 13th. It’s yet again time to take a look at what’s been going on in the world of OpenNMS development.
Project Updates
Stable: Current Release is 1.6.2
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.
Unstable: Current Release is 1.7.0
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 (if it’s not on a production system, of course).
Trunk: Javamail Updates
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.
Trunk: RANCID Integration
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.
Trunk: Provisiond
Matt has most of the provisiond code working, some simple scanning is . . . → Read More: This Week in OpenNMS, Friday February 13th
Share on Facebook
By RangerRick, on January 30th, 2009%
It’s time for another This Week in OpenNMS. 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 Ships and Dip V. Ahhhhh….
Project Updates
Stable: Current Release is 1.6.2
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 the bug on the subject, it would be appreciated.
Unstable: Current Release is 1.7.0
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 (if it’s not on a production system, of course).
Trunk: Acknowledgement Daemon
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.
Trunk: . . . → Read More: This Week in OpenNMS, Friday January 30th
Share on Facebook
By RangerRick, on January 23rd, 2009%
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 OpenNMS extravaganza!
Project Updates
Stable: Current Release is 1.6.2
On January 15th, we saw the release of OpenNMS 1.6.2 which included a number of small bugfixes and feature additions.
For the full list of what was changed, see the 1.6.2 bug milestone.
Unstable: Current Release is 1.7.0
The 15th also saw the first unstable 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 release notes in the New and Noteworthy section of the web page will be updated with an overview of the new features which will be in 1.8.0.
Trunk: Provisioning
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 . . . → Read More: This Week in OpenNMS, Friday January 23rd
Share on Facebook
By RangerRick, on January 9th, 2009%
The holidays are over, the hangovers have been recovered from, and in the meantime, a flurry of activity has been happening in the OpenNMS world. It’s time for another This Week in OpenNMS!
Project Updates
Stable: 1.6.2 Coming
The goal is to release version 1.6.2 next week. There have been a number of bugs fixed (and a few small features added) since 1.6.2.
Trunk: Provisioning
Work continues on the new provisioning code at a frantic pace. We’re not yet at a milestone where people can use it, but lots of pieces are coming together.
Trunk: Acknowledgement Daemon
Dave has begun work on Ackd, the OpenNMS acknowledgement daemon. This will allow API and user-interactive access to acknowledging alarms. The goal is to be able to acknowledge alarms through jabber, email, etc. upon receiving a notification of an issue.
Trunk: Alarm Daemon
Dave also worked on Alarmd, a daemon for managing persistence of alarms to improve event persistence performance and reduce delay in forwarding events to listeners.
This immediately began discussions with a large Telco in Europe about their contributing a 3GPP compliant alarm strategy. Cool.
Trunk: IRC Notification Strategy
DJ committed a notification strategy . . . → Read More: This Week in OpenNMS, Friday January 9th
Share on Facebook
|
|
|