The EFF Turns 25

In 1990, when the Internet was much smaller and slower than it is today, a bunch of forward-thinking people realized that this new technological wonder would create some unique issues for our society, and they formed the Electronic Frontier Foundation to protect people from its negative effects.

I can’t remember the first time I got involved with the EFF, but for years I’ve followed their efforts and cheered them on. Before I wore it to shreads, my “Protect Bloggers Rights” T-shirt was one of my favorites, and I still carry my passport in an EFF-badged wallet that blocks RFID transmission.

Earlier this year, the animator Chad Essley auctioned off the chance to be added to his video for the MC Frontalot song “Shudders” with all proceeds going to the EFF. The result was that the OpenNMS mascot Ulf gets a few seconds of much deserved fame and I got an invitation to the EFF’s 25th anniversary party.

I wasn’t going to make it (I don’t live in the Bay Area) but when I decided to attend this week’s Community Leadership Summit followed by OSCON up in Portland, it turned out that it wasn’t much more expensive to fly here first before heading up to Oregon. I know several people in the area and I figured I could find something to do before the party, but then the EFF created a half-day “minicon” so I decided to attend that as well.

EFF - DNA Lounge

The minicon consisted of three panel discussions. It was held at a nightclub called the DNA Lounge and when I got there just before noon the line to get in was already stretching down the block. When I did get in, there was a stage set up for the panels (a moderator’s podium and a table with four chairs for the panelists) as well as two banners describing what the EFF does.

EFF Banner

I thought the left one was pretty succinct: Free Speech, Privacy, Innovation, Transparency, Fair Use, International. Yup, that about covers it.

I didn’t take any pictures of the attendees (this group does attract a contingent from the “black helicopters” crowd) so while I probably had the right to take pictures as part of a public gathering it would have been rude. It was nice to see a fairly even split between men and women, and for once I wasn’t the oldest person in the room. It was mainly Caucasian and Asian faces that I saw (hey, that’s pretty much Silicon Valley) and I did see people with colorful hair (bright pink, electric blue, etc.) That part was similar to the open source conferences I attend, but there wasn’t a single utilikilt. The vibe was also different. Whereas FOSS conferences also attract technical people with a strong libertarian bent, this crowd included a lot more people concerned with social activism.

Which brings us to the first panel: Activism.

EFF - Panel 1

Not only does the EFF identify threats to liberty brought on by new technology, one of their pillars is to mobilize people to effect change, so this panel discussed ways to more effectively do just that. Should you call your Congressional Representative or e-mail them? Is publicly tweeting about them better than a private correspondence? One panelist commented on the fact that you can’t A/B test reality so it can be hard to determine the best action. Plus, if a particular effort is successful, such as with SOPA, the bar is set high for the next one, which can cause its own problems.

It was the first time I had been introduced to Annalee Newitz, and I really liked her comments. Yet another person to follow on the Twitters.

They also announced a project by Sina Khanifar called democracy.io which is supposed to make it easier for people to contact those in government.

The second panel focused on Copyright.

EFF - Panel 2

I am not an anti-copyright person. Copyright law is what makes free and open source software possible. However, it is obvious that it is broken. As a process created to mainly protect things like the written word, it doesn’t lend itself well to computer code. Plus, some copyright holders have a track record of abuse. I’ve even experienced it in such things as bogus DMCA takedown notices.

Part of this discussion focused on the concept of “fair use”. If I am given something or I pay for something, does the person from whom I got that something have a right to set limits on what I can do with it? It’s a tricky question. If I use someone’s song in a television commercial, it seems obvious that I should have to pay the owner of that song, especially since it may imply that the creator of the music endorses my product or service. But what if I invite 30 people over for a party and put on some music? Does that count as a “public performance”? It’s tricky.

The EFF is very concerned with transparency, and quite naturally has issues with secret negotiations such as the Trans-Pacific Partnership agreement (TPP). Proponents of keeping trade negotiations secret will claim that they don’t want the discussion to disrupt markets. For example, if the discussion was about whether or not to place tariffs on corn exports, whether or not they would actually come about, this could cause undue fluctuations in the market for corn.

As one of the panelists noted: Copyright is not corn.

The TPP has a focus on intellectual property rights which will have far reaching repercussions for users of technology. Without oversight, the government’s zeal to protect, say, the movie and music industry, may result in actions that are detrimental to end users. People in government don’t tend to have strong technical experience, so it is important that these discussion take place in the open.

Privacy was the topic of the final panel.

EFF - Panel 3

This panel included Bruce Schneier. This was the first time I had seen him speak, and I was not disappointed. One of the questions was to predict privacy challenges due to technology 25 years from now. Bruce pointed out that it was harder to predict the impact of new tech on society than the tech itself. For example, we now have flying robots that kill people. On the one hand this is very frightening, and on the other hand, in a way, it is really, really cool.

He was referring to drones of course, and I couldn’t help but think of the trauma some drone operators are now facing even though they are thousands of miles from actual combat. Tech has also created an “interrupt driven” culture that may be fostering short attention spans. Heck, I’ll be surprised if even one of my three blog readers makes it this far in this long post, and we’ve had to come up with tags like “TL;DR” to deal with things like this. I can’t imagine what changes this will bring about in 25 years.

I was also impressed by panelist Parisa Tabriz. She is the “Security Princess” at Google and a solid public speaker. She pointed out that at Google they sometimes struggle with security versus privacy, in that certain security tech can leave a fingerprint that might weaken anonymity.

It is hard to talk about Google without bringing up Apple, and it was pointed out that Apple fails miserably on the transparency front but does do a good job when it comes to privacy. The argument goes that since Apple makes money on hardware (compared to Google’s model) they have less motivation to look at their users’ data. It would have been nice to have someone from Apple on the panel, but I’m not sure if they were asked. I did ask the EFF via a tweet, but didn’t get a response.

While most panel discussions suck, I enjoyed these, and I’m glad I went. The minicon ended around 4pm and since the party didn’t start until 8pm I decided to head back to the hotel, work on some e-mail and take a nap.

That was a mistake.

When my alarm went off at 7pm, I was so tired I considered blowing off the party entirely. I decided to go because Maggie had managed to find another RFID blocking passport wallet, as my EFF-branded one is pretty tattered, and I need another. It doesn’t have the EFF logo on it, but I hope they make more in the future.

EFF Passport Holder

My passport has had RFID technology embedded in it for years, but in all my travels it has never been legitimately accessed. It is just another example of technology being chosen because it exists without a firm plan on how to use it. I like knowing that I now can chose when to enable it or not (and yes, I know I could nuke it in the microwave but I’m not ready to go that far, yet).

Another thing I wish the EFF would do is advertise more about Amazon Smile. If you shop on Amazon Smile you can choose to have a portion of your purchase benefit a specific organization. It doesn’t cost you anything, and while I can’t find an actual total, since I shop on Amazon a lot I feel that I’ve probably sent a significant amount of money to the EFF. Of course, I can’t imagine that they are happy with things like Amazon Echo, so perhaps there is a conflict of interest, but I still wanted to make people aware of it.

EFF - Party Stage

So, I grabbed an Uber, went to the party, met Maggie and got my new passport holder. I then made a pass around the club but didn’t really feel comfortable. These were my people but then again not my people. It was obvious many knew each other, and while I’ve never been one to have a problem with a room full of strangers (in most situations I make new friends) the environment was pretty loud and not conducive to conversation. I just didn’t have the energy so I left.

This means I missed seeing Wil Wheaton and Cory Doctorow, two more people I’ve never seen in person but would like to one day. From social media it seems like it was a good time, but I just wanted to grab some dinner and sleep.

EFF - Wil Wheaton

Overall, I had a good time with the EFF. It is rare that I agree with everything even people I like do, but I can’t think of something the EFF has done in the last 25 years that bothered me or pissed me off. It is one of the few organizations that I regularly donate to, and I plan to leave them some money in my estate (if there is any left, I also plan to live for another 100 years and die after I’ve spent my last dime). If you haven’t supported them yet, I’d like to suggest that you do so.

Today I’m off to Portland for the CLS and OSCON, and these really are my people. I’ll let you know how it goes.

Uber vs. Taxi

Back in 2012, I first experienced Uber. While I assume everyone knows what Uber is, just in case you don’t, it is a ride service that heavily leverages modern technology to disrupt the livery/taxi industry.

When I first used Uber in 2012, it was limited to “black cars”, vehicles like Town Cars on the higher end of the scale, and the price reflected it. Now they have a number of different options, such as UberX (similar to a taxi), UberPool (more of a ride share version of UberX), UberSushi, UberMusic, etc. (okay, I made the last two up).

I had a rather positive experience with Uber back in 2012, but I rarely had the chance to use it much after that. Later, when I started reading about some “evil” things they were doing, I wasn’t inclined to call on them when I needed a ride, and their Android app seems to need an awful lot of permissions in order to work correctly, so I wouldn’t install it.

I am currently spending a few days in San Francisco, and when I landed at SFO I decided to take a taxi instead of BART. I like BART, but I was running late and also had a fairly large suitcase with me, so I opted for the convenience of a cab.

It was a bad experience.

When I approached the cab stand, I was assigned the next cab in line. This was car 226 from “Veteran’s Cab Company” and it was a very tired Toyota Prius. The driver seemed more interested in listening to music on his phone and texting than getting me to my hotel.

Texting Taxi Driver

He repeatedly ignored my requests that he not text and drive, and as I was watching for the best routes on Google Maps, he also ignored my requests to take me on the faster route. Outside of putting my life in danger, he probably cost me an extra $10 and an extra 15 minutes.

I did survive the trip, and I checked into the hotel, dropped my bags and headed back out because I was meeting a friend and we were going to take BART to the East Bay.

Although her house was only a 10-15 minute walk from BART, she was in heels and decided that we would catch a ride with Uber. This was UberX. The driver was waiting for us in an immaculate Prius and promptly took us to the house. As I ended up staying there past the time that BART stopped running, they called me another UberX ride to take me back to the hotel. This was also in a Prius, clean, and the driver was very friendly and safe.

It is hard to express the stark contrast between the experience of a normal taxi versus Uber.

I was in town for the EFF’s 25th anniversary party. While I walked to the “minicon” they held during the day, I decided to take Uber to the evening party. I dusted off my Uber account, updated the credit card, and called for a ride.

Within three minutes Ye showed up in a nice Toyota Camry. The route to the DNA Lounge was already in his phone, adjusted to avoid traffic, and the trip was quick and pleasant. As everything is paid for via the app, I had nothing to do but enjoy the ride.

I can see why people could get used to this.

For the ride back, I used Uber again. This time Allam picked me up in a Honda CR-V. Again, he arrived within three minutes. I was his first customer for the night and we hit it off to the point where I didn’t want the ride to end (he was originally from the West Bank of Israel and we talked a lot about the Middle East, which I’ve enjoyed visiting).

When I go to the airport tomorrow to head to CLS and OSCON, I plan to take UberX, or I might try UberPool.

While I still have concerns about some of Uber’s policies, and I probably need to check out Lyft (a competing service), we are talking about an experience that is orders of magnitude better than the old status quo. I’ll be hard pressed to take a taxi again.

Linux Mint 17.2 “Rafaela”

Just a quick post as I’ve now upgraded two desktops to the latest Linux Mint, version 17.2, code named “Rafaela”.

The upgrade process was pretty painless. I was on 17.1 “Rebecca” so I made sure all the packages were up to date. Then I launched the “Update Manager” application and chose “Upgrade to 17.2” under the “Edit” menu.

Easy-peasy.

I haven’t seen any new issues and some of the old ones seem to have disappeared. I used to have issues with a) the desktop background going all wonky, b) the screen resolution dropping down to 640×480 that was only fixable via reboot, and c) the screen not being responsive at all, necessitating Ctl-Alt-Fx and then back to Ctl-Alt-F8. No biggies and they were pretty infrequent, so I’m not certain they are fixed (I have an ATI Radeon PRO card in the desktop with the issue) but I haven’t seen them since the upgrade.

Plus, yay!, the screensaver is back. Ubuntu decided a long time ago to basically nix the screensaver and just power off the screen. I like screensavers, but I also like an integration with the desktop environment so I never hacked in xscreensaver. Well, in 17.2, they did. You will have to install the xscreensaver packages to get choices (well, more than the default two) and it is missing a randomizer (sniff) but one step at a time.

I just wish I could get the clickpad to work correctly on my new laptop. I’ve posted my problem to the forum but so far no suggestions.

Anyway, I’d recommend Mint users upgrade when able. So far so good.

Update: Problem a) is still happening. When the system comes back from a suspend the desktop background is distorted into squares of mainly black and white pixels. I have to change the desktop background away from what it is and then back to restore. Doesn’t happen on my NVidia desktop.

2015 Users Conference and Bad Voltage Live

Just a quick post to let everyone know that registration for the 2015 OpenNMS Users Conference Europe is now open.

As in past years we’ve opted for a four day format. The main conference will happen on Wednesday and Thursday, and will feature presentations from OpenNMS users from around the world on how they use the software. It will also have the usual “State of OpenNMS” keynote which will cover a lot of the new shiny that has been recently added to OpenNMS.

If you want a more in-depth look into the new stuff, come a day early as on Tuesday we will offer a full day of advanced training, including the Grafana integration, Newts, and the Minion distributed poller architecture.

For those of you new to OpenNMS come on Monday and I’ll personally try to squeeze a week’s worth of training into a single “Bootcamp” day. I’ll be sure to hit all of the concepts you need to get started with OpenNMS.

We have been having the OUCE conference for several years, and this will be the third year the conference has been organized by the non-profit OpenNMS Foundation. You can find information about last year’s conference as well as the one from 2013 on the website.

Since this is the third year, we thought it would be cool to bring in three fourths of the Bad Voltage team in to do their second ever Bad Voltage Live show, which I’m kind of thinking is more like “Bad Voltage: European Vacation“. We’ll be missing Bryan Lunduke, at least in person, as the next iteration in the Lunduke family is expected that week (plus, I think he secretly hates me) but Jeremy, Stuart and Jono will be there to deliver their own special brand of open source and technology commentary and humour.

And there will be beer.

The conference is not free, but it is reasonably priced and it is the main way the Foundation is funded. The Bad Voltage show is open to anyone, not just conference attendees, but since space is limited we did ask for a token 5€ registration fee which is cheap at three times the price (okay, twice the price). And did I mention there will be beer? The Bad Voltage team will be in Fulda for the entire conference, so for conference attendees there should be ample opportunity for you to meet the guys outside of the show.

We are also working on a live stream so that those of you who can’t make it can still watch, and as before it will be posted it to the YooToobz for posterity and maximum embarrassment.

Hope to see you at the OUCE, and if you missed the first Bad Voltage Live show, here it is:

OnePlus Class Action?

Ten days ago I did a post about touchscreen issues I’ve been having with my (previously) beloved OnePlus One smartphone. Since then all I’ve experienced from OnePlus customer “care” are delaying tactics and an obvious reluctance to address a systemic problem with their phone design. While I loved this handset while it worked, I won’t be owning another OnePlus product and I encourage my three readers to avoid the company like they would the plague.

I really didn’t expect much from the support process and I wasn’t disappointed. OnePlus has always struck me as a company with great ideas but they’ve always seemed a little over their head when it comes to actually implementing them. But I decided to soldier on and go through the process. I sent in a support ticket on May 11th:

One Plus Support Request 1

The next day (well, about 13 hours later) I got a reply. Not bad, actually, and I developed some false hope that this would work out.

One Plus Support Request 2

So “Kathy” wants me to send in a video. Okay, no worries. I made the video and sent them the link. This seemed to satisfy Kathy who escalated my issue, but then “Leah” also asked for a video.

One Plus Support Request 3

WTF? Okay, definitely a FAIL on reading comprehension, but I replied with a link to the original video and asked them what else they wanted to see. The next message, from Canoy Gem, asks for, you guessed it, another video:

One Plus Support Request 4

At this point it time it has become obvious to me that they are just stalling. There are a number of threads about this issue on their forums (here is the first one and now there is a second – both with pages and pages of comments). So I write back to Gem, again with a link to the video, and he replied with even more requests, this time for pictures:

One Plus Support Request 5

As I’ve seen with the replies from others on their forums, this seems to be pretty common – asking for videos and pictures. I waited until I had some decent light and took really nice pictures of my undamaged phone. However, I was unable to get the back cover off for the final picture. I’ve disassembled a number of devices over the years and while I could probably get this cover off it wouldn’t be without damage. If I damaged it, OnePlus would use it to deny warranty coverage. However, it looks like they are not going to proceed until I do.

One Plus Support Request 6

Note that in this entire exchange they have never mentioned that it might be corrected with a firmware fix (as talked about in the forums). I doubt this is the case with my phone as a) it just started happening and b) it seems restricted to the upper half of the screen, but I would have been willing to test it for them if they’d bring it up.

Also, I’ve noticed that most of the people responding to me have female names. This is a tactic in customer support as women are often treated better in such situations. While they may exist I’m pretty sure OnePlus technical support consists of one overworked guy named Zhang Wei.

I replied that my patience was at an end and either they would let me send them the phone that they could then examine to their heart’s content or I would pursue other actions. All I’ve done for now is replace it with a Nexus 6, but it seems to me that this is a prime example of a use case for a class action lawsuit: A large class of consumers has been apparently defrauded by a vendor supplying faulty products.

I’m talking to friends of mine with some experience in this, but if you have any suggestions for a firm to handle a class action lawsuit, please let me know.

Early/Often on the Horizon

Lots of stuff, and I mean lots of cool stuff is going on and to paraphrase Hamlet I have not enough thoughts to put them in, imagination to give them shape, or time to act them in. I spent this week in the UK but I should be home for awhile and I hope to catch up.

But I wanted to put down a at least one thought. When we made the very difficult decision to split OpenNMS into two products, Horizon and Meridian, we had some doubts that it was the right thing to do. Well, at least for me, those doubts have been removed.

It used to take us 18 or more months to get a major release out. Due to the support business we were both hesitant to remove code we no longer needed or to try the newest things. Since we moved to the Horizon model we’ve released 3 major versions in six months and not only have we added a number of great features, we are finally getting around to removing stuff we no longer need and finishing projects that have languished in the past.

In the meantime we’re delivering Meridian to customers who value stability over features with the knowledge that the version they are running is supported for three years. Seriously, we have some customers upgrading from OpenNMS 1.8 (six major releases back) who obviously want longer release cycles, and even if you don’t need support you can get Meridian software for a rather modest fee coupled with OpenNMS Connect for those times when you really just need to ask a question.

Anything OpenNMS does well is a reflection on our great team and community, but I take personally any shortcomings. At least now I can see the path to minimize them if not remove them completely.

It’s a good feeling.

♫ The Lunatic is on My Web ♫

The TL;DR of it is that I needed to create a new forum called OpenNMS Connect. This will be a place for Luna. So far I’ve been happy.

When I first started my quest for forum software a couple of month ago, I did what most geeks do and did a search for it. I found a very helpful Wikipedia page (‘natch).

After dismissing the non-open source options, I started looking at the programming language. Now I know I really shouldn’t be a PHP snob (this blog is presented using PHP software) but having been burned in the past with security issues my first inclination is to avoid it.

Now the guys in the office are trying to get me to think all “agile-ly” and so I need a “user story”. For any forum we use it has to support LDAP, for which the story could be “User must be able to access forum using directory services” or better yet “Admin needs a central way of controlling forum access”. We implement LDAP via the FreeIPA project, and it will just be so much easier if we can add and remove people from a particular group and just have it work.

The first project I looked at was Discourse. I was especially interested in a hosted version if I could tie it into our IPA instance. Discourse is kind of the “new hotness” at the moment, but I didn’t see an easy way to implement LDAP. There is a Single Sign On (SSO) option but it would require writing our own authentication page, and it wouldn’t work if we hosted it with them anyway.

The next project that caught my eye was the eXo Platform. It’s written in Java (as is OpenNMS) and it seems to have a ton of features. Perhaps too many. In any case I put the team on it and asked them to get it working with LDAP.

They succeeded in getting LDAP authentication to work, but then hit a ton of other snags. The authenticated users couldn’t access the default /portal/intranet site no matter how often we tweaked the permissions. They could reach the /portal/meridian site but we couldn’t figure out how to change the default portal. And in all cases we couldn’t get the top menu bar to load with an LDAP user which meant you couldn’t log out, etc.

On Friday I decided to see what I could do about it. Friday was a long day.

eXo is one of those companies that produces an open source version of their software as well as a paid version. My three readers know how I feel about that business model, and it made it kind of frustrating to figure out things since I couldn’t tell if the documentation would actually work on the “community” version. Also, to access the forums you need to register, which gets you a couple of spam-y e-mails trying to sell you on their paid version. Not too obnoxious and I can understand why they do it, but it was a little annoying.

It can also be hard to administer. A lot of the configuration is buried in .war files. For example, in order to set the default portal above, you have to unpack portal.war, change it and repack it. In playing around with the system, I decided that while the LDAP authentication is nice, the platform itself is way overkill for what we need. It is huge and on our system took several minutes to start up and would often spike the load with limited users.

So I spent a lot of time looking for alternatives. Unfortunately, the only option I found that had easy to understand LDAP integration was phpBB. When I mentioned that to the team, Jeff threw up in his mouth a little and I wasn’t too happy about that choice either. I don’t have the same prejudices as some, but I felt that its style was a little dated and there have been some serious security issues in the past associated with it.

But for grins I installed phpBB anyway. It was rather easy to do, which made me happy, but then I noticed that it was not easy to make the forum itself private. Another user story is that “Admin requires that only authorized users see the forum”. You can make certain parts of phpBB private, but I kind of wanted the same thing as eXo – an initial log in screen you have to use before accessing the site.

Then it dawned on me that we could just put it in a directory by itself in the web root, say /forum, and then make a pretty splash page on on the site with a link to it. Apache LDAP authentication is something we already figured out and knew worked and I could just require a valid login to access /forum.

This caused another lightbulb to go off. If we are going to do it that way, then why not just put any forum we like behind an LDAP authenticated directory?

The downside would be that users would need to create a forum-specific user if they wanted to add content, but on the upside they could choose their own usernames, thus obfuscating their identities for people who work at sensitive organizations. Thus we could have an LDAP user tied to, say, obama@whitehouse.gov and their forum name could be something totally different, like “Hot Cocoa”.

Yes, I know it is dressing up a bug as a feature, but to me it did seem useful.

Then I thought, hey, let’s revisit Discourse. That turned out to be harder than it would seem

Well, the only way to install Discourse on CentOS is as a Docker container, and at the moment it doesn’t seem to work.

The first time I tried to install it, it died complaining about lack of access to an SMTP server. No where in the instructions did it say you had to modify the app.yml and put in a valid mail server. In any case, I did that and restarted the install.

At one point during the install process I get this:

-- 0:  unicorn (4.8.3) from
/var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/unicorn-4.8.3.gemspec
Bundle complete! 92 Gemfile dependencies, 189 gems now installed.
Gems in the group development were not installed.
Bundled gems are installed into ./vendor/bundle.

I, [2015-04-04T04:49:47.161747 #38]  INFO -- : > cd /var/www/discourse
&& su discourse -c 'bundle exec rake db:migrate'
2015-04-04 04:49:55 UTC [339-1] discourse@discourse ERROR:  relation "users" does not exist at character 323
2015-04-04 04:49:55 UTC [339-2] discourse@discourse STATEMENT:      SELECT a.attname, format_type(a.atttypid, a.atttypmod),	                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
	                FROM pg_attribute a LEFT JOIN pg_attrdef d
	                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
	               WHERE a.attrelid = '"users"'::regclass
	                 AND a.attnum > 0 AND NOT a.attisdropped
	               ORDER BY a.attnum

which a Google search says to ignore, but then a little while later the install fails with:

FAILED
--------------------
RuntimeError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #
Location of failure: /pups/lib/pups/exec_command.rb:105:in `spawn' exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install --deployment --verbose --without test --without development'", "su discourse -c 'bundle exec rake db:migrate'", "su discourse -c 'bundle exec rake assets:precompile'"]}
68a9a49f29ad74d9ab042bcaadfb06e02ff526104fefd82039eae1588bbb6e43
FAILED TO BOOTSTRAP

on which Google is much less helpful. No matter what I did I couldn’t get past it.

This kind of brings up an issue I have with Docker. Now let’s get this out of the way: I am jealous of the Docker project. We’ve been around for 15 years and gotten little notice whereas they have become huge in a short time. It would be nice if, say, I could get up to four readers on my blog.

But I really, really, really hated how hidden this whole process was. You install software on your system and then load “magic bits” from the Internet and hope it works. I think this is great on a intranet when you need to deploy lots of the same things, but without developing it internally first it was a little scary. When it doesn’t work it is incredibly hard to diagnose. Because the app wouldn’t build I couldn’t play with the database or really do anything, so I just uninstalled and reinstalled numerous times to try to fix this.

Plus, by running in a container, we would then need to modify nginx to use our LDAP configuration and that seems to be much harder than with Apache. I didn’t think it would be easy to just forward requests to the Docker instance, but since I couldn’t get it to work I’ll never know.

By this time I said, screw it, reinstalled phpBB and went home. It’s now about 8pm and I’ve been at it 11 hours.

Well, I have a mild form of OCD, or maybe it’s just being a geek, but I couldn’t let it rest. So early this morning (as in soon after midnight) I discovered a project called Luna (an active project from the aforementioned Wikimedia page).

Luna is the next iteration of the ModernBB project which is in turn is a fork of FluxBB. It’s simple, does almost everything I could want, and was incredibly easy to install. No Docker containers, no large Java app, just some PHP that you drop in your web root. Plus the webUI is built on bootstrap just like OpenNMS.

In about an hour I had it running, had changed the style to match our color palette, and fixed an issue where jquery wasn’t getting loaded by copying it down as a local file.

OpenNMS Luna Website

The downside is that it isn’t production yet. I installed 0.7 and earlier this morning they released 0.8. Jesse fixed an issue with the internal mail system and I have a couple of more issues that I’d like to see fixed, but overall I’m very happy with it. They are aiming to release 1.0 on 13 April.

And I really like their attitude and philosophy. They are self-funded and I love Yannick’s tag line of “You Can Do Anything.”

To help that I sent them 100€. (grin)

Anyway, sorry for the long post. I’ll let you know how it goes.

OpenNMS on Bad Voltage

I had to go back through my notes, but I first met Jono Bacon on April 12th, 2008 at a LugRadio Live show in San Francisco. Jeremy Garcia, the founder of LinuxQuestions.org, I didn’t meet until this year’s SCaLE conference, but I had been following that site since at least 2009 (or at least that the oldest e-mail I still have from it). Those two guys make up half of the team behind the Bad Voltage podcast.

The other half consists of Stuart “No Fruit in Beer” Langridge and Bryan “Puffy Nipples” Lunduke, both nicknames earned at SCaLE (where they did their first live show). Stuart, the more social and less-sickly of the pair, joined us for a few drinks one evening during the conference, but I have yet to meet Bryan face to face.

Which is probably a good thing, because the few seconds I saw said face on a Google hangout this week, well, it wasn’t pretty. Ebola is nothing to joke about so I shall leave it at that, but let’s just say he was under the weather.

I was on the Hangout because the guys asked me to come on Bad Voltage. The first time I was invited was a couple of weeks ago when the taping was on a Thursday. I couldn’t make that one, so considering the history of this crew I was a little suspicious when they asked me to chat on April Fool’s Day.

Of course, this is when I found out that Bryan was deathly ill and wouldn’t be joining us, and even my thick brain can detect a pattern. Dodges me at SCaLE even with the promise of free booze. Ditches me during the one time I’m on his show. I know when I’m not wanted.

The string of “coincidences” continued during the taping when Jono’s app crashed a few minutes into our chat. In 38 shows it had never happened before and so we had to start over, and the guys were good sports and laughed at all the right moments as I repeated my stories. April Fool’s Day is also my wedding anniversary, so they got a small slice of what it is to live with me and have to suffer through my stories over and over (she’s stuck with me for 22+ years so I guess that is one miracle for her sainthood, two to go).

Anyway, after the technical glitches were sorted and Bryan was done snubbing me, I thought the chat went pretty well. It’s hard for me to fit anything into ~10 minutes and I left stuff out that I would have liked to say, but I hope it gets people interested in OpenNMS. In any case, even without my bit (or should I say especially without my bit) the show is always entertaining and you should check it out. You’ll get the occasional F-bomb and sometimes references to moose genitalia, but overall it is pretty safe for work.

Anyhoo – check it out and let me know what you think:

Bad Voltage 1×39: Ambitious but Rubbish

OpenNMS at Fifteen

It was fifteen years ago today that the OpenNMS Project was registered on Sourceforge.

OpenNMS Sourceforge Summary

The project itself was started sometime in 1999, but I wasn’t around then as I didn’t get involved until 2001. I’ve been told that it started in July of that year, but since an open source project really doesn’t exist until something gets shared, it seems that March 30, 2000, is as good a day as any to mark the birth of OpenNMS.

I went poking around on the site and wasn’t able to find the very first thing posted there. I believe it was a mockup of an administration console using the Java Swing toolkit that never actually made it into the product. While I believe the code is still in there somewhere, in switching from CVS to SVN to git, dates do get a little corrupted and I couldn’t find it.

Anniversaries don’t really mean that much in practical terms. In moving from Sunday, March 29th, to Monday, March 30th there was no substantial change in OpenNMS at all. But it does lend itself to a bit of reflection, and fifteen years is a lot of time on which to reflect.

While I have been working on OpenNMS most of my professional career, I didn’t start it. People much smarter than me did, and that has pretty much been the story of my life. My only true talent is getting intelligent and creative people to work with me, and the rest of my career is just basking in their reflected glory. In 2002, the original founders decided to stop working on the project, but I saw its potential and was able to become its maintainer.

My original plan was to simply remain a company of one and provide consulting services around OpenNMS. That didn’t work out so well, as I soon realized that it could be much bigger than one person. In September of 2004, The OpenNMS Group was born in part to insure that the OpenNMS platform would always be around. We wanted to build something amazing, and this was reflected in our goal “to make OpenNMS the de facto management platform of choice.”

Being pretty much a group of technical people, we didn’t know we were doing things wrong. For a business plan we chose “Spend less money than you earn.” For a mission statement we liked “Help Customers – Have Fun – Make Money”. I put forth my two desires that OpenNMS should never suck and that OpenNMS should always be free software. We just took it from there.

This is not to say that we haven’t met with frustration. Gartner likes to diagram companies on two axes: “Vision” and “Ability to Execute that Vision”. We have a lot of vision, but our business model doesn’t give us a lot of resources to execute that vision quickly.

In order to change this, I spent a lot of time in Silicon Valley looking for an investor. Silicon Valley is pretty much the center of the technology industry, and one would assume that they would know the best way to run a technology based business. But I was pretty much told that you can’t be anyone unless you work in the Valley, you’re too old, and most importantly, you are doing it wrong.

There seems to be a formula they like out there. You raise a bunch of money. You hire as many people as fast as you can. You get as many users as possible and you hope that some larger company will buy you out. They call this an “exit strategy”, and this is supposed to be the focus of the business. Once you “exit” you can do it all again.

The problem, as I see it, is that a lot of companies have to exit before they get bought out. They run out of money, the investors run out of interest or patience, and then they just shutter the endeavor. Sure, you have your prominent billion dollar acquisitions, but in the scheme of things they are a very, very small percentage.

Plus, I’m already doing what I love to do. I really don’t want to do anything else. My chosen field, network management, is huge and I can always find something interesting in it, such as figuring out the best way to deal with the Internet of Things.

Sure, I believe that there are companies out there that would complement what we do. Ones that have the capital to help OpenNMS grow in a way that doesn’t go against our corporate culture. And while our involvement with such a company would probably be through an acquisition, I don’t see that as much as an “exit” as an evolution. I wouldn’t do the deal if I didn’t think I’d want to continue to work on the project, so I wouldn’t be going anywhere.

I see this post has become more about the business side of OpenNMS than the project itself, but I felt it was important to think about how our business philosophy permeates the project. Thus I thought it was serendipitous that Ben sent me a link to an article about an alternative to the “exit strategy” called the “exist strategy”.

The Nishiyama Onsen Keiunkan is the world’s oldest business. It is a hot springs hotel in Japan that was founded in 705 and has been run by fifty-two generations of the same family. They have survived and even thrived for 1300+ years by having a relentless focus on their customers. Even though they have only 40 rooms, by any measure you have to call their undertaking a success.

I think there is a huge problem with the tech industry’s focus on the exit. It’s such a short term goal. I expect the goal we set for OpenNMS to take the rest of my life and maybe some time after that. By focusing on an exit the people who usually end up paying for it are your customers, and that just doesn’t strike me as a way to run a business. I’m certain that if the Nishiyama Onsen Keiunkan had focused on growth over service they would have died out a long time ago. Heck, even the company that started OpenNMS closed its doors in 2004. When they weren’t moving fast enough toward their goal for the investors, the did what today we would call “a pivot” and it didn’t work out, even thought that’s what anyone in the Valley would have said was the right decision.

Look, I don’t want to come across as some sort of holier than thou “money is evil” kind of person. I run a business, not a charity. But as a businessman, and not a gambler, I truly believe that our best chance at financial success is to find a way for us deliver the best value we can to our customers. Period. That’s our focus, and any type of “exit” is way down on the list. Heck, the current management team at The OpenNMS Group is ten years older than the rest of the guys, and we’ve even thought of selling the business to them when we wish to retire. Not sure we can do it 52 times, but that is one form of exit that is still in line with an “exist strategy”.

And that’s the thought I want to take into the next fifteen years of OpenNMS. We have a covenant with our users and they have paid us back in kind with their support. This has resulted in a number of other impressive numbers. The OpenNMS Group has prospered for more than a decade. We are getting ready for our tenth OpenNMS Developers Conference, Dev-Jam. We’ve had almost the same number of OpenNMS User Conferences, the next one is in September and hosted by the independent OpenNMS Foundation.

We still have quite a few years to go to match the numbers of the Nishiyama Onsen Keiunkan, but I think that focusing on an “exist strategy” is the way to go. We still have the greatest team of people ever assembled to work on a software project, and while the faces and names have changed over the years, I still feel like I’m standing on the shoulders of giants.

And the view is great from up here.