Review: Varidesk Standing Desk

Several years ago we did a lot of work in Sweden (Hi, Lasse!), and that is where I first saw some really nice standing desks. The first standing desk I ever saw was when I worked at Northern Telecom and it was for an employee who needed one due to health reasons, but it was fixed in place. The ones they had in Sweden (from IKEA, ‘natch) had a little switch that you could use to raise and lower it as needed, and they had places to mount a PC and run cables so they wouldn’t get snagged when it moved.

When I looked for them for the office, I was shocked by the price. A decent one with options pushed $900 and they could go north of $2000 fully loaded. While I’ve read a lot about the health benefits of standing I just couldn’t afford to get such a desk.

Recently I was on an American Airlines flight, and I just happened to see a small ad for something called a Varidesk in the in-flight magazine (and I’ve never bought something from the back of an in-flight magazine). This was something you put on an existing desk and you could use it to lift a monitor, keyboard, etc. to a standing height. It was manual, but it was considerably less than a dedicated desk.

Now, being the CEO of a profitable company it is required that I have the huge executive desk, so I do. Of course, mine was free from a business that was moving offices and all I had to do was go get it, and then repair all of the broken bits so I could put it back together. My monitor sits in one corner of this monstrosity, and I was happy to see Varidesk made a product that would fit perfectly.

Varidesk Lowered

First off, the sucker’s heavy. It cost a lot to ship due to its weight, but that translates to a lot of stability when raised. The unit I bought had a shelf for the monitor, speakers, etc., with a lower shelf for the keyboard.

In the upper shelf you will notice two holes. You place your hands through them to release levers which will allow you to raise the desk. It does take strength to get it started, but then it is balanced so that it becomes easier.

(Note: the little green light on my PC is my OpenNMS Blink notification)

Varidesk Raised

I love that everything comes up with it: the speakers, the monitor, the keyboard, my Yeti mic, etc. It will also go fairly high – I’m a little over six feet tall and I can get it high enough that I’m comfortable using it. It isn’t perfectly stable, if you are energetically pounding on the keyboard it will move slightly, but it is easy to get use to it. I did have to get some USB cable extenders to make sure things like my camera didn’t go flying off when I raised the desk, but outside of that it pretty much worked out of the box.

And, yes, when standing I like to crank the tunes and dance. You do not want to see me dance.

The Varidesk is well built and I did find myself using it, so some of the other guys in the office were interested. They don’t have fancy executive desks, so I got a slightly cheaper model that fit theirs better.

Varidesk Developers

We bought three more and everyone seems to enjoy them, although we probably don’t use them as much as we should. Because they are stylish and convertible, even in the down position they look good.

I found that after about an hour of standing my legs started to hurt. Our office, like many, is pretty much industrial carpet over concrete. There is little padding, so I bought a pad on Amazon that works well for me and I can dance longer.

It’s also cool to elevate the laptop for our daily scrum call:

Varidesk During Scrum

So, if you are thinking about getting a standing desk but already own a desk, consider the Varidesk. While it isn’t the cheapest thing out there, it is well made and will give you experience to see if you even like working standing up, which would be considerably cheaper than buying a new desk and finding you didn’t like it.

I, Robot

Today is the 11th anniversary of The OpenNMS Group. We started on September 1st, 2004 with little more than a drive to build something special, a business plan of “spend less than you earn” and a mission statement of “Help Customers, Have Fun, Make Money”.

Since I’m still working and people are using software other than OpenNMS to manage their networks, I can’t say “mission accomplished” but we’re still here, we have a great team and the best users anyone could want, so by that measure we are successful.

When it comes to the team, one thing I worry about is how to connect our remote people with the folks in North Carolina. We do a lot of Hangouts, etc, but they lack the aspect of initiative – the remote guys have to be passive and just sit there. Then I got the wild idea to investigate getting a telepresence robot. Wouldn’t it be cool if remote people could pop in and drive around the office, attend meetings, etc?

After a lot of research, I decided on a robot from Double Robotics.

Robot Tarus

The buying decision wasn’t a slam dunk. It is a very iPad/iOS centric solution which bothered me, and I had some issues concerning the overall security of the platform. So, I sent in a note and ended up having a call with Justin Beatty.

It was a great call.

Double is pretty serious about security, and assuming there are no firewall issues, the connection is encrypted peer-to-peer. While there are no plans to remove the requirement that you buy an iPad in order to use the robot, they are working on an Android native client. You can drive it on almost any platform that supports the Chrome browser (such as Linux) and you can even use it on Android via Chrome. There is a native iOS app as well.

What really sold me on the company is that they are a Y Combinator project, and rather than focus on raising more capital, they are focused on making a profit. They are small (like us) and dedicated to creating great things (like us).

Justin really understood our needs as well, as he offered us a refurbished unit at a discount (grin).

Anyway, I placed an order for a Double and (gulp) ordered an iPad.

It was delivered while I was away in England, but I was able to get it set up on Monday when I returned to the office. They have a number of easy to follow videos, and it probably took about 20 minutes to understand how everything went together.

You take the main body of the robot out of the box and place it on the floor. I had purchased an external speaker kit (otherwise, it uses the iPad speaker) which makes it look like a little Dalek, and you install that on the main post. Then you plug in the iPad holder and screw it to the post with a bolt. That’s about it for robot assembly.

The next step is to take the USB charging cable that came with your tablet and mount it inside the iPad holder. You then insert the iPad upside down and connect the cable so that the robot can power and recharge the iPad. The Double supports any iPad from version 2 onward, and they have a spacer to use for the iPad Air (which is thinner). Finally, you connect a directional microphone into the audio slot on the bottom of the iPad (or top, depending on how you look at it) and the unit is assembled.

Then I had to set up the iPad, which was a bit of a pain since I’m no longer an Apple person and needed a new Apple account (and then I had to update iOS), but once it was configured I could then pair the iPad to the robot via bluetooth. Next, I had to download the Double app from the App Store and create a Double account. Once that process was complete, I could login to the application on the tablet and our robot was ready to go.

To “drive” the robot, you log in to a website via Chrome. There are controls in the webapp for changing the height of the unit, controlling audio and video, and you move the thing around with the arrow keys.

It’s a lot of fun.

When moving you want to have the robot in its lowest height setting. Not only will it go faster, it will be more stable. This isn’t an off road, four wheeling type of robot – it likes smooth services. There is a little bump at the threshold to my office and once the robot has gone over that you want to wait a second or two because it will wobble back and forth a little bit. Otherwise, it does pretty well, and because the rubber wheels are the part of the robot that stick out the most in the front and the back; if you run into a wall it won’t damage the iPad.

I did have to mess with a couple of things. First of all, it needed a firmware upgrade before the external audio speaker would work. Second, sometimes it would keep turning in one direction (in my case, to the right), but restarting the browser seem to fix that.

You do need to be careful driving it, however. One of my guys accidentally drove it into a table, so it hit the table along the “neck” of the robot and not on the wheels. This caused the unit to shoot backward, recover and then try to move forward. It fell flat on its face.

Which, I am thankful, did no damage. The iPad is mounted in a fairly thick case, and while I wouldn’t want to test it you are probably safe with the occasional face plant.

I bought an external wireless charger which allows you to drive the robot into a little “dock” for charging instead of plugging it in. To help park it, there is a mirror mounted in the iPad holder that directs the rear camera downward so you can see where you are going (i.e. look at the robot’s “feet”). Pretty low tech but they get points for both thinking about it and engineering such a simple solution.

Everyone who has driven it seems to like it, although I’m thinking about putting a bell on the thing. This morning I was jammin’ to some tunes in my office when I heard a noise and found Jeff, piloting the robot, directly behind me. It was a little creepy (grin).

I bought it with a nice (i.e. expensive) Pelican case since the plan is to take it on road trips. I bought the iPad that supports 4G SIM cards so I should be able to use it in areas without WiFi. It’s first outing will be to the OpenNMS Users Conference, which is less than a month away. If you haven’t registered yet, you should do so now, and you’ll get to see the robot in action.

Robot Bryan

Bad Voltage will also be there, with Bryan Lunduke piloting the robot from his home in Portland. I had him try it out today and he commented “So rad. So very, very rad”.

At the moment I’m very pleased with the Double from Double Robotics. It’s a little spendy but loads of fun, and I can’t wait to use it for team meetings, etc, when people can’t make it in person. You can also share the output from the unit with other people with the beta website, although you could always just do a Google Hangout and share the screen.

Double Logo

I even like the Double Robotics logo, which is a silhouette of the robot against a square background to form a “D”. I am eager to see what they do in the future.

Review: MC Frontalot with The Doubleclicks

Best OSCON after-party ever! – Satisfied Customer

Even though OpenNMS has been around for over 15 years now, a lot of people, including open source people, don’t know we exist. In an attempt to fix that, we’ve been experimenting with various marketing efforts, and in keeping with our mission statement of “Help Customers – Have Fun – Make Money” we also want them to be fun.

I have a love/hate relationship with the O’Reilly Open Source Conference (OSCON) but I can be assured that many of my friends who are into free and open source software will be there. This year I thought it would be fun to host a concert featuring MC Frontalot. Not only is his music awesome, it should appeal to many of the attendees. We lined up a venue (the amazing Dante’s) and an opening act, The Doubleclicks.

My one fear was that no one would show up, so I was relieved when I rushed from a previous meeting to Dante’s to find the place full, and by the time the show started it was packed.

Prior to setting this up, I had not heard of The Doubleclicks. Angela and Aubrey Webber are sisters who sing about geek things. Prior to the show I listened to a lot of their music, and since I was paying for this gig they even did one of my favorites, “This Fantasy World (Dungeons and Dragons)“. When they sang the lyric “and their primarily Windows-based computers” it got a big laugh.

The Doubleclicks

One thing we struggle with in the tech world in general and open source communities in particular is how to encourage more women to get involved. As a male dominated industry, women can face particular challenges. When The Doubleclicks sang “Nothing to Prove” I realized I couldn’t have asked for a better set list if I’d tried:

We read books, we played games, we made art, we watched Lost
We said things like “D20”, “shipping” and “Mana cost”
It felt good to be myself, not being mocked
Still self-conscious, though, we whispered things about jocks

But one day, you grow up, come into your own
Now geek’s not rejection – it’s a label I own
Then ignorant haters come to prove me wrong
Tell me I’m not nerdy enough to belong

I’ve got nothing to prove
I’ve got nothing to prove
I’ve got nothing to prove

This rang particularly true due to OSCON being hit with a “gamergate“-like attack for having Randi Harper speak. Considering the number of women at the show, I think we succeeded in promoting an all-inclusive environment.

After their great set, MC Frontalot and the band prepared to take the stage. This was the fourth Frontalot show I’d organized but the first with the band. The reason I hadn’t hired the whole band before was simple: it’s more expensive. Plus, from the videos I’d seen on the Intertoobz, I didn’t think they added all that much.

I was so wrong.

It’s hard to capture on video the energy these four gentlemen bring to the stage. The man driving the beat on drums is The Sturgenius (aka Sturgis Cunningham). Blak Lotus (aka Brandon Patton) is the whirling dervish on bass. I sat an watched him spin from stage left, often winding the cord to his bass around his legs and then unwinding it just in time to avoid tripping. Vic-20 (aka Ken Flagg) played wireless keytar, and while everyone was mic’d, turns out he has the voice of an angel and did the most duty on backup vocals.

MC Frontalot and Band

They played all of my favorites, such as “Critical Hit” and “Stoop Sale“, and while Front has always given 110% at my shows, being with the band brought out something more.

When I walked around OSCON inviting people to the show, a lot of people were psyched but I still got that weird “Nerdcore Hip Hop?” look from many. I don’t think that anyone who has seen them live could mistake them for anything other than truly original musical artists.

OCSON is moving to May and to Austin, Texas, next year, and my hope is to bring the band out again. And I do actually plan to write up my thoughts on OSCON itself, but as I got almost no sleep in the last week that will have to wait. The fourteen and a half hours I slept last night seemed to have helped a lot, though.

Review: Dell XPS 13 (9343) Ubuntu Edition

Okay. When it comes to tech, I want the latest and greatest. To me, the “greatest” must include as much open software as possible. As an ex-Apple user, I want the same experience I used to get with that gear, but with free and open source software.

It can be hard. Rarely is the open source world involved in new hardware decisions by the major vendors, so we learn about new devices after the fact. Thus there is an inevitable delay between when a product is announced and when it properly works with FOSS.

Such was the case with the new XPS 13 laptop from Dell.

Now, I vote with my wallet, so back in 2012 when I needed a laptop I bought the second edition “Sputnik” Dell XPS 13, which shipped with Ubuntu. It served me well for many years and currently runs Linux Mint 17.1 with no problems. When the latest edition XPS 13 was announced, I immediately ordered it, but it didn’t work out so well.

When I discovered that the other option from Dell, the M3800, wasn’t for me, I decided to wait until they officially supported Ubuntu on the new XPS 13. I didn’t have to wait long, and I placed my order the day I learned it was available (I was happy to learn that they had to fix some kernel-level issues and it wasn’t just me).

Why didn’t I wait longer? The XPS 13 is gorgeous. I haven’t felt this strongly about a laptop since my 12-inch Powerbook back in 2013. Others seem to agree, with even Forbes praising this machine.

Anyway, the order process was simple. I got the XPS 13 with the i7 processor, 8GB of RAM, 512GB SSD and the HiDPI touchscreen. The laptop arrived about a week before it was scheduled. Go Dell.

Now for the obligatory unboxing pictures. The outer box arrived undamaged:

Dell XPS 13 Unboxing Pic 1

The laptop itself came in a separate box:

Dell XPS 13 Unboxing Pic 2

with the accessories shipped in a cardboard “square tube”:

Dell XPS 13 Unboxing Pic 3

While the small power supply came with a longer power cable with a “mickey mouse” connector, the XPS 13 comes with a small adapter that gets rid of the cable entirely (like the Apple laptop power bricks).

Dell XPS 13 Unboxing Pic 4

The laptop pretty much fills up its box:

Dell XPS 13 Unboxing Pic 5

Like with my original XPS, there is a cool little intro video that plays when you first start it up:

Please note that it only runs on the first start – you will not have to wait 40+ seconds to boot your system (usually less than 10).

The XPS 13 Ubuntu Developer Edition ships with 14.04, but I had some issues with it. First, it didn’t have the option for encrypting the home directory. I’m not sure how or why that got removed. The system also crashed when I attempted to make a backup image to a USB stick. Finally, there are apparently still outstanding issues with 14.04:

Ubuntu 14.04 includes kernel 3.13. The touchpad will run in PS2 mode and the soundcard will run in HDA mode. Currently (4/15) out of the box the HDA microphone will not work, and you will need some packages from the factory shipped image to make it work properly.

While I knew I was going to base the system, I logged in to the stock image to check out the apt repository. There really wasn’t anything outside of the vanilla Ubuntu (the few Dell packages seem to be just for recovery) so I felt fairly safe in reinstalling.

I immediately went to my default distro, Linux Mint 17.1, but found that a lot of things, especially the touchpad, didn’t work as expected. It did handle HiDPI screens just fine (you could actually see the mouse pointer increase in size when logging in). I figured I’d wait until 17.2 comes out and try it again.

On a side note, I don’t know why it is so hard to get a decent touchpad under Linux. We’re getting closer, but still, it tends to be the weakest point of the Linux laptop experience.

In search of a solution, I found Barton’s Blog and read the following:

With BIOS A00 or BIOS A01 the touchpad will run in I2C mode and the sound will not function. Please update to at least BIOS A02 and the touchpad will run in I2C mode and the sound in HDA mode. (4/15) All of the relevant patches have been backported and all functions will work out of the box.

I really liked the “will work out of the box” bit, so I installed Ubuntu 15.04.

It had been awhile since I’d used Unity, and it has really matured. I especially liked the little touches. When I changed my desktop background, the background of the Dock changed color to match it. Neat.

Where Unity still has some way to go is in HiDPI support. There is a scaling factor you can set, but it only applies to a small part of the UI. I still ended up having to customize many of my apps. For example, if you look at the settings page with scaling, a lot of the text under the icons are cropped:

Dell XPS 13 Ubuntu Text Cropped

Not a show stopper, and I used it for over a month without getting too annoyed.

Last week I saw that the release candidate for Mint 17.2 was out, so I dutifully backed up my Ubuntu install, based the system and installed Mint. Things seems to work better (although HiDPI support was not working by default), but I ran into a weird problem with trying to click and drag.

While everyone seems to deal with trackpads differently, the way I click and drag is to use the index finger of my left hand to click and hold the lower left corner of the trackpad, and then I use the index finger of my right hand to move the mouse pointer. This works fine under most desktop environments, but under Cinnamon it seems to interpret it as a right click (which usually causes a menu to drop down). If I just used a single finger to click on the window header and then move it, it worked as expected, but I couldn’t get used to it enough to continue to use it.

Oh well. I’ve posted a question on the Mint forums but no one has been able to help.

Anyhoos, since my system was based I decided to try out some other 15.04-based distros while I had the chance. I had heard great things about the new Plasma interface in KDE, so Kubuntu was next.

I can’t say much about Kubuntu since its HiDPI support is worse than Unity. Everything was so tiny I couldn’t spend much time in the UI. Oh well, what I saw was pretty.

And I should stress that this was a recurring theme in my experiments with desktop environments. Every UI I’ve tried has been beautiful and more than able to compete with, say, OS X.

By this point I decided to punt and just search on “Linux Desktop HiDPI”. Several of the results touted that Ubuntu Gnome was the best desktop to use for HiDPI systems. So, before going back to Unity I decided to give it a shot.


I haven’t used Gnome 3 in awhile, but I was encouraged in that even the install process handled the HiDPI screen well. It has become really mature, and so far has provided by far the best experience with the XPS 13. I’ve had to do little to get it to work for me.

Is it flawless? No. There is an issue with the touchpad where it occasionally translates touches into click (kernel patch approved). If you sleep the system, the touchscreen will stop working (but you can reload its module). Sometimes, the system doesn’t sleep when you close the screen, which can cause the laptop to get really, really hot.

But these are minor issues and I expect them to be addressed in the near future. I am confident that I’ve found a great combination of software and hardware, and that it will only get better from here.

I have just a few more notes to share. The battery life is outstanding – I can get 6-7 hours of use without recharging. The “infinity screen” is beautiful and bright, but by having almost no bezel they had to move the camera to the lower left corner, which creates a slightly odd viewing angle.

Dell XPS 13 Camera Angle

In closing, here are a couple of shots comparing the XPS 13 with the M3800.

Dell XPS 13 vs. M3800 Pic 1

Dell XPS 13 vs. M3800 Pic 2

Dell XPS 13 vs. M3800 Pic 3

Review: Nexus 6

As most of my three readers know by now, I was a big fan of the OnePlus One handset until I experienced their customer support (which seems intent on covering up a major defect in the touchscreen of their devices).

So, it was time to get another smart phone. Andrea had been using a Nexus 6 for awhile, I thought the phone might be too big for me. The phone is huge.

David pointed out that the OnePlus was huge compared to my previous HTC One, and it only took me a day or so to get used to that size change, so I’d probably feel the same way about the Nexus 6.

He was right.

I ordered it from the Play Store and it showed up a couple of days later. The name of the phone was actually on the bottom of the box:

Nexus 6 Unboxing Pic 1

and once I cut the “tape” I flipped it over so I could open it.

Nexus 6 Unboxing Pic 2

The phone sits in a little cardboard cradle

Nexus 6 Unboxing Pic 3

and if you remove it you can see a little packet with documentation.

Nexus 6 Unboxing Pic 4

Under that is a high amp charger and that’s about it.

Nexus 6 Unboxing Pic 5

The phone has a gorgeous display and its six inch screen is big enough that I can watch movies on it, so I loaned my Nexus 7 (that I used to use when traveling) to Ben so he could play with OpenNMS Compass on Android.

Nexus 6 Specs

It’s also blazingly fast, but all that power does come with a price: battery life. With the OnePlus I could easily go a day, even with playing Ingress to some degree, the Nexus 6 needs a little more juice. It is in no way horrible, and is much better than the HTC One, but it is still a factor. I just ended up buying a TYLT wireless charger for my desk so I can sit the handset there all day and it stays charged (yay wireless charging).

I did buy a case for the phone but that pushed it over the size limit for even my large hands. Caseless, I was worried about dropping it, so I bought a “grip” pad that sticks to the back and makes it feel less like a slippery bar of soap. So far so good.

The best thing is that, thanks in large part to Jake Whatley, I can now put OmniROM on it. It was a pretty simple process to unlock the phone using adb, install TWRP and then flash the latest OmniROM nightly. I was surprised at how much my Android experience was truncated by the stock ROM. I couldn’t shake my phone to dismiss an alarm or augment the power menu to add options like a reboot instead of just powering off. So far no problems.

The size of the Nexus 6 will be off-putting for some, but it is about the same size as an iPhone 6 Plus, so perhaps not.

Nexus 6 vs. iPhone 6+

As I was investigating alternative ROMs for the Nexus 6, I thought it was funny when I found out the code name for the device. Nexus devices tend to be named after fish.

The code name for the Nexus 6? Shamu.

Review: LG Watch Urbane

Even though I am no longer a user of Apple products, I was eagerly awaiting the release of the Apple Watch. Why? Because Steve Jobs had a way of making stuff for me that I didn’t know I wanted. While I’ve owned an LG G Watch R for awhile now, the experience hasn’t been life changing (unlike using an iPhone was) and so I was looking for Apple to really “wow” me.

My friend Ben (who knows more about Apple products than anyone I know) thinks I’m more critical of Apple than the fiercest “fanboi” and he’s probably right, so I want to make sure to expressly state that I haven’t used an Apple Watch so anything I say about it needs to be taken in that context.

However, Matthew Inman, another person whose opinion I respect, recently did a comic on his experience with the Apple Watch, and his experience is very similar to mine with Android Wear. It’s interesting, it has potential, but it isn’t life changing … yet.

To me, my watch is like having a second screen on my phone. Remember when people first started getting dual monitors? It’s like that – it makes me more productive when using my phone but it is more of an extension than a feature in and of itself.

The main thing my watch gives me is a socially acceptable way to keep up with notifications. If I’m in a meeting, or at a meal, or in any other social situation where pulling out my phone and looking at it would be rude, I can glance at my watch and see if I need to address that text or e-mail.

The main difference between Wear devices and the Apple Watch is that the latter has a crown that spins and can be used scroll the display. Inman points out that he doesn’t use it, and so you are pretty safe choosing the smart watch you like that works best in your digital ecosystem.

The main thing I want from a watch is a stylish accessory that actually looks like a watch. Enter the LG Watch Urbane.

Urbane Watch Face

After my horrible experience with the OnePlus One phone, I was shopping for a replacement handset when I came across the Watch Urbane. I fell in love immediately.

I got the G Watch R because it looked like a watch and not a slab of glass. The Urbane takes that experience to a new level by adding a rose gold bezel and a nice leather strap. The display is amazing. The default watch faces are amazing. In short it is the perfect evolution for my favorite smart watch to date.

It’s a powerful watch with great battery life. While I tend to charge it overnight, I can get over two days of normal use out of it easily (I’ve had to test that when flying overseas).

Urbane Specifications

I bought it on Amazon, and it showed up protected in a rather easy to open plastic cover:

Urbane Unboxing Pic 1

The box was similar to other mechanical watches I have bought:

Urbane Unboxing Pic 2

and opening it immediately revealed the watch:

Urbane Unboxing Pic 3

The band was a little stiff at first, but after wearing it for a day or so it softened up a bit.

Urbane Unboxing Pic 4

It came with a number of accessories. Like the LG G Watch R it requires a charging cradle that is powered via a microUSB connector.

Urbane Unboxing Pic 5

The Urbane was one of the first watches to ship with the Andoird Wear 5.1.1 update that allows for such things as talking to the phone over Wi-Fi, but about a day after I got the watch the update was generally available for other devices, including my G Watch R.

Urbane vs. G Watch R

The Urbane is a little smaller, and while I liked the “tick” marks around the outside of the G Watch R, so many watch faces include them due to the popularity of the Moto 360 that I was happy to see them removed on the Urbane (having two sets of tick marks is a little cluttered).

While I still wear the G Watch R if I’m going to be active (i.e. sweating), the Urbane is my go-to wrist accessory. I am constantly getting compliments on it, and I think the biggest problem LG has is that no one has heard of it.

Perhaps this post will help.

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.

Touchscreen Issues with OnePlus One Phone

Last September I was able to purchase a OnePlus One phone, and my initial impressions were very positive.

Having owned it now for over six months, I can state that this is the best smartphone I’ve ever owned, a list which has included two iPhones, several Nexus devices, a couple of Samsung devices and an HTC One. It is fast, runs well, has a wonderful screen and is the right size for my hand.

Being a fan, I have followed the drama surrounding OnePlus and CyanogenMod, and I am very unhappy about the new OxygenOS being closed source. But still, I decided to upgrade to Lollipop (Cyanogenmod 12S) when it became available and that’s when I started to notice an issue with the touchscreen.

I play a game called Ingress, and within the application is a mini-game called “Glyph Hacking“. In the mini-game you are presented with a number of patterns on a grid, and you have to replicate the patterns, in order, in a certain amount of time. I really enjoy the game as a mental exercise, but I started noticing that as I was trying to draw the glyphs it would often just stop drawing or jump to the next glyph in the sequence. This was frustrating.

I found a thread that suggests a number of other people are having this issue with the phone and that it may be a software problem. I’m not so sure this is the case with my handset, because up until this last week it has been working fine (never seen the issue before). But just in case, I was able to restore the phone to KitKat and (CyanogenMod 11S) the problem remained. All of the suggestions I’ve found on-line, from plugging the phone in to “ground” it to rebooting, haven’t helped.

Using a program called “Yet Another Multitouch Test” I was able to demonstrate that the screen is registering additional touches that I did’t make, especially near the top of the screen. I’ve contacted OnePlus support so we’ll see what happens. Here is a video demonstrating the issue.

Review: System 76 Sable

As you might guess, I am a big fan of all things open, and I tend to vote with my wallet. When the need arose to replace some iMacs in the office, I decided to check out the Sable systems offered by Linux-friendly vendor System 76.

System 76 was a sponsor at SCaLE this year (like OpenNMS) and they also sponsored the Bad Voltage Live event where they gave away a laptop and a server, so they already had my goodwill.

Back in 2008 I needed some machines for our training courses, so being an Apple fanboy at the time I bought iMacs. Outfitting training rooms can be problematic if you don’t do training full time because you usually end up with nice systems that you don’t use very often. Seems wasteful, so we decided to use them to run Bamboo and our unit tests for OpenNMS when they weren’t being used for training.

Seth noticed that it was taking those machines around 240 minutes to run the suite of tests versus 160 minutes for the newer iMacs we were using, and this was having a negative impact development (almost everything we do relies on test driven development). Since we were running Ubuntu on the boxes anyway, I decided on a Linux alternative and chose System 76 for the first six replacement systems.

I like all-in-one systems for training since they tend to move around (we use the training room as a conference room when there are no classes). The all-in-one form factor makes them easy to carry. The Sables I ordered came with a 23.6 inch touch screen at 1080p, 3.1 GHz i7 processor, 16GB of RAM and a 500GB SSD for a total price of US$1731.

The ordering process went smoothly (there was one glitch when the original quote was for seven instead of six but it was quickly corrected). I placed the order on March 18th and they shipped a week later on the 25th.

They arrived in six boxes marked AIO PC:

System 76 boxes

I think AIO must be the manufacturer in China, but I couldn’t find a similar system on the web. One box had a smashed-in corner, so I opened it first, but it was packed well enough that the unit wasn’t damaged:

System 76 open box

I removed the packing and pulled the unit out. It was wrapped to protect the screen.

System 76 screen wrap

and the whole unit was covered in plastic wrap to prevent scratches.

System 76 plastic wrap

These units come with a power brick that is external to the system and I ordered them with a Logitech keyboard and mouse. These came in a separate box along with extra cables, etc., for expansion (unlike Apple products, you can actually work on these systems).

System 76 keyboard box

The hardest part about the whole process was figuring out how to turn the darn thing on. I finally found the switch on the back of the system on the lower right side (as you face it). I felt kind of stupid and yes, I even read the little pamphlet that came with it. Perhaps they should add and IKEA-like drawing with the little dude pointing to the switch.

It booted right up into Ubuntu 14.10, and all I had to do was create an account and set the IP address. Ben was then able to get in and deploy our Bamboo image and we were up and running in no time.

System 76 screen

While we still have some iMacs being used, the Sables have, so far, proven to be a solid replacement. I haven’t really used them as a desktop, yet, but they can run our test suite in a little over an hour which is almost a four-fold increase.

System 76 in a line

While Apple doesn’t offer a 24-inch iMac anymore, the 21-inch version with similar processor, RAM and SSD is US$2399, or quite a premium. The Sable is not nearly as thin or stylish as the iMac, but it is a nice looking machine and after struggling this week to correctly replace the hard drive in a late 2009 iMac I appreciate the fact that I can work on these if I need to, and the extra cables shipped with it even encourage me to do so.

And that’s what open is all about.

♫ 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, 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
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:

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'"]}

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.