Review: The Ocean at the End of the Lane by Neil Gaiman

Note: I don’t think there are spoilers here, but if you are overly sensitive, don’t read on.

I think it was Ben that introduced me to Neil Gaiman. Actually, that isn’t true. Howard let me read his Sandman comics in college, as long as I was careful and I read them in his dorm room. He didn’t have many, since they had just come out, but as someone who always thought comics books were only about super heroes, I found them fascinating. But I still thought about them as comics and not books, and so I focused more on the “Sandman” part than the “author” part, as much as I still think of “Superman” and “Batman” and not the people who make the stories and the pictures.

So I guess it was still Ben who introduced me to Neil Gaiman the author. The book was American Gods and it was spectacular. Amazing. I read it and then immediately re-read it. It cemented me as a Gaiman fan forever.

From there I read Neverwhere, and I can never ride the London Underground without thinking about it. Then there was Stardust, which I liked but it didn’t “wow” me. And I realized I had read him as a co-author since I had read Good Omens, but I remembered more the Terry Prattchet side of that novel.

I was very eager for his post-Gods work, and I bought Anansi Boys the day it was released. It was solid, but while Gods was an elaborate, multi-course meal, Anansi Boys was more of a well crafted dessert. I began to wonder if Gaiman had peaked. That would be nothing to be ashamed of, since American Gods is a masterpiece, but I wondered if it would be the masterpiece.

So I bought The Ocean at the End of the Lane sight unseen and got it the day it was released. The first thing that hit me was the slimness of this book. It is tiny. It weighs in at a mere 181 pages. I don’t own many hardbacks that small, and I just looked up Damage by Josephine Hart, which I thought was small, and it clocks in at 208 pages. While 27 pages doesn’t sound like much, that is a full 15% of Ocean.

I figure I’ll be vilified by at least one of my three readers for harping about the size of this book, but I feel that when writing a review the reader needs to understand my biases, and I was expecting a full novel and not a novella. And let’s be clear, this is a novella. There is one story plot told from a single point of view where most of the action takes place over a couple of days. The problem is that there is no market for novellas, yet someone with Gaiman’s star power can manage to sell one as a novel.

Despite that, it is a brilliant story. It is told from the point of view of a seven year old boy who lives in Sussex. After an unfortunate death, he starts to experience strange events. In trying to understand them, he is introduced to a family that lives on a farm down the lane from his house. The family consists of three women: one old, one young and one middle aged (an obvious reference to the Fates). The youngest one, Lettie, takes him on an adventure to help solve these strange events with dire consequences.

Gaiman is a great storyteller, and while I enjoyed the whole book I couldn’t help but be disappointed. I think he has done so many children’s books and screenplays in recent years that the long form eludes him. It would be nearly impossible to craft a novel on par with Gods with all of the different projects in which he is involved. In reading the on-line reviews, many state proudly “I read it in one sitting!”. Well, who couldn’t? This is pretty much a children’s book with one or two young adult scenes, and I thought I was getting an adult novel I could sink my teeth into.

Fanboys prepare your flame throwers.

I will probably buy anything he writes, but for the next one I won’t pre-order it. I’ll wait and see what it is, and I’ll try to set my expectations properly.

Review: The HWg-STE Ethernet Thermometer

Soon after my review of the AKCP Sensorprobe, I was contacted by Jan Rehak of the HW Group in the Czech Republic. I was asked if I would review one of their SNMP-based sensor units. I replied “of course” as I thought it was cool that anyone would want to send me an evaluation unit of anything, and I wanted to embark on my new career as super-duper, top-notch web reviewer-guy (are you listening, Telsa Motors?).

A few days later I received an HWg-STE Ethernet SNMP Thermometer, which is their most popular unit.

The HWg-STE supports two sensors, and it comes with one for temperature. The cable is pretty long so it can be placed some distance away from the unit. The unit is very compact, and molded into the case on the top and bottom are places for mounting screws. I installed it on the wall in the server room next to the Sensorprobe2.

One of the things I liked about the description was that it said it supported Linux for installation. Like most units of this type, the main configuration is done through a built-in web server, but a lot of vendors ship a small application to aid in the initial setup. The HWg-STE shipped with a CD that was Windows only (same as the Sensorprobe2) but I was able to find a Linux version on their website.

Unfortunately, I was unable to get it to work under Ubuntu 13.04, which is my current desktop at work. The application launched but failed to find any sensors. I did install the application via the CD on a Windows 8 machine we have in the office and it located the unit with an IP Address of 192.168.1.80. I changed it to match our LAN addressing scheme and then did everything else from my desk using a web browser.

Once on the network, setup was a breeze. The webUI is very clean and easy to navigate. I was able to label the sensor which was also reflected in the data I was able to receive via SNMP.

Both the HWg SNMP MIB and a short OID description document are accessible from the “System” menu of the interface. The HWg-STE does support the ability to send e-mails when a threshold is reached, but I was a little disappointed with the lack of SNMP trap support. Also, like many devices like this, it only supports SNMPv1 – an SNMPv2 GETBULK request will fail. Like the Sensorprobe2 there is no IPv6 support.

It was pretty easy to add the device to OpenNMS for datacollection (and the configuration will be included in version 1.12):

The values returned are close to the values reported by the Sensorprobe2:

I don’t have any way to determine if one is more accurate than the other, but they both seem to be close enough for the accuracy needed to monitor a server room temperature.

Overall, I really liked the size of the HWg-STE and the look of its interface, but the missing SNMP trap support is frustrating. I would also like to see more information in the MIB, such as high and low thresholds, so that those can also be graphed. Proper SNMPv2 support as well as IPv6 support would be nice, but as much as I like IPv6 I am not seeing it as a requirement in the marketplace at the moment.

UPDATE: Jan wrote me back with some clarifications.

Of course we have other devices with SNMP Traps & more detailed MIB. But you know, product segmentation..

Our main product is the Poseidon family
Many more sensors, I/O, etc..

Yes we plan SNMP v3 + IPv6 to new generation Poseidon2.

Review: Ingress by NianticLabs@Google

TL;DR

This is a review of the augmented reality game Ingress, and contains no OpenNMS content. Ingress combines a massively multi-player on-line game with geocaching, and it can be quite addicting. I’ve spent a lot of time this week going from Level 3 to Level 4, and while I enjoyed it I don’t have enough interest to spend a lot more time on it. I do find some of the civil libertarian issues it raises, such as citizen access to public spaces, interesting. Currently Android only, it is a great example of how not all cool things are invented by Apple.

Overview

The backstory is the weakest part of the game. It goes something like this: an alien race called the Shapers appear on Earth, and with them, portals. Portals are gateways to another dimension, etc. that leak something called “exotic matter” or XM. You pretty much need XM do to anything.

This event has caused the world to divide into two factions (three, if you count those that don’t give a flip). One, the Enlightenment, wants to spread the influence of XM in order to take humans to the next evolutionary level. They are the “green” team. The other, the Resistance, seeks to limit the influence of the aliens because they fear it is harmful. They are the “blue” team.

Why I think this is weak is that it really doesn’t affect game play at all. Each team uses the same items and methods for similar objectives: the creation of control fields across the land. The idea is that all of the people (mind units, or MU) under the fields are either protected from the alien influence (in the case of a blue field) or more prone to enlightenment (in the case of a green field). Estimated world totals of MU by factions are displayed in the app.

Gameplay

Okay, the key to everything are those portals. Portals are placed by Niantic and are usually associated with public places such as post offices, fire stations, and libraries. In North Carolina with have a system of historic markers, and it looks like they have imported the whole database in order to place portals. In order to interact with a portal, you have to be next to it (for the most part). Hence the geocaching aspect of the game – you physically have to visit places in order to do anything. Note that tie-ins with companies like Zipcar and Jamba Juice have added those locations as portals as well, so it isn’t limited to just government buildings but instead the only rule is that they are supposed to be publicly accessible (which is stressing the definition in some cases).

The way you interact with the world of Ingress is with your scanner – i.e. the app on your Android phone. Combining the GPS and Google Maps, when you are close to a portal it will show up on your scanner. Your position is represented by a little arrow icon, and your area of influence is represented by a circle around that icon.

XM is represented by little, blobby white dots. Once those enter your influence, they will fly toward your icon and increase your XM totals. They can be found anywhere, but tend to cluster near portals.

Portals show up as smoky/glowing/other-worldly columns. Those controlled by the Resistance show up as blue, and those owned by the Enlightenment show as green. Uncaptured portals are gray.

In order to capture an uncaptured portal, you first have to be in range. Then you place an item called a resonator on the portal and then your faction will own it.

Completing actions earns you Action Points (AP). This is similar to “experience points” in other games. The more AP you collect, the higher your access level. Most items in Ingress have a level associated with them, and the higher your player level the more items you can use. At the moment the lowest level is L1 and the highest is L8.

There are seven things you can do to a portal. First, you can “hack” it. This is the main “farming” task in Ingress. Hacking a portal will give you items most of the time (sometimes you get nothing). Once you hack a portal you can’t hack it again for 300 seconds, and there is a limit to how many times you can hack a particular portal in a given amount of time – I think it is currently four times in a 24 hour period but I’m not sure. If you try to hack a portal before you are allowed, your scanner will display a “portal running hot” message with the time you must wait until your next attempt. If you have exceeded all attempts for the day, you get a “portal overloaded” message with no time displayed.

The next thing you can do to a portal is place a resonator, assuming the portal is uncaptured or belongs to your faction. There are eight spots for resonators at the cardinal points around the portal. A single player can place up to eight L1 resonators, but only 4 L2 or L3 resonators, etc. The higher the average level of resonators, the higher the level of the portal and the more energy it can store.

If a portal is fully populated with resonators, you can link it to other portals, assuming you have an item called a Portal Key. By hacking portals (of any faction) you can collect multiple copies of these keys. If you are at one portal and you have the Portal Key for another nearby portal, and both portals are owned by your faction, you can attempt to link them. Whether or not you are successful depends on the distance between the portals and whether or not there are any other links in the way (links cannot cross). The higher the level of the portal, the longer the link can be. The Portal Key is destroyed when the link is created.

Now the big thing to do is create a control field by linking three portals in a triangle. This results in a lot of AP and on the “intel map” the underlying area will show up as being controlled by your faction.

So, that’s three things (hack, place a resonator and link). The fourth is the ability recharge a portal. Portals hold Energy proportional to their level, but that energy is constantly draining, especially in the presence of links and fields. In order to keep the portal from decaying totally and becoming uncaptured, it has to be recharged. You can recharge it from your XM reserves if you are next to it (and it belongs to your faction) or remotely if you have a Portal Key.

The fifth is that you can upgrade the deployed resonators to ones of a higher level.

The sixth is that you can “target” a portal. All this does is show the distance and direction to the portal on the scanner.

All of these, except hacking and targeting, assume your faction owns the portal or it is uncaptured. The final thing you can do is attack a portal. To do this you need an item called an XMP burster. These are farmed through hacking and are single use. The higher level bursters do more damage, of course, and are used first in an attack. The more Energy a portal has, the longer it will take to destroy. A user for the faction that controls a portal can recharge it during an attack assuming they have XM and are either nearby or in possession of a Portal Key.

Position when using XMP busters is important. Like Phasers, they do more damage close in, so you will want to position yourself next to the resonator when using them. Once all the resonators on an enemy portal are destroyed, it becomes uncaptured and you can then deploy resonators to claim it. Note that hacking and attacking enemy portals are frowned upon by the portals themselves, and they will zap you with an XM draining bolt. When your XM gets too low, you won’t be able to hack, and when it gets even lower the scanner will stop operating until you find more. Being drained of XM does not appear to kill your character.

There are some other aspects of the game. On the Niantic website they drop clues to figuring out passcodes that can be entered into the scanner to receive XM, AP and items. There are power cubes of XM that you can find. But basically the idea is to capture unclaimed portals, destroy enemy portals, create links and control fields.

My Experience

I was first exposed to Ingress through Michael Shuler on G+. I didn’t really understand it more than it was a geolocation game. I strain to call it augmented reality, since you don’t actually see these portals through a camera but instead on a map, but since it was (and still is) a closed beta I didn’t pay too much attention to it.

Then at the OpenNMS Users Conference I saw how interested Alex Finger was in the game, and I decided to apply for an account. He was on the green team so I was determined to be blue just to be contrary, but he pointed out that most of the area where I live is blue, so I should be green just to have something to do. It was a great piece of advice, since you can’t change factions and I later learned that my friend Donnie Springfield was also on the green team and he’s local.

A few days later I got an account and started playing with it, but it didn’t really take off until Eric Evans came to the main OpenNMS office for the week and really showed me how to play it. He is on the blue team, so we made a bunch of jokes about “smurfs” and “frogs” but as I mentioned before the backstory really doesn’t matter – it’s still capture the flag.

The week I spent with Eric and for the weeks after I started playing more. I found myself going out of my way to visit portals. I attacked and captured my first one. I visited portals while traveling for OpenNMS. As I started closing in on Level 4, Donnie showed me how to look for uncaptured portals on the Ingress Intel map. You have to zoom in real close so it can be tedious, but when I discovered a cluster of seven(!) uncaptured portals nearby, I headed out into the country in the early morning rain to start farming AP to level.

When I found myself in a light sprinkle, knee deep in a cow pasture straining to get a data signal so I could fling a resonator out to that remote portal – I knew I had a problem.

I hit Level 4 this morning and I’m going to back way off for awhile. First of all, I’m too busy for such games. Second, even though being at a higher level is fun, nothing in the game play really changes. It takes 70K AP to reach L4, and 1.2M to reach L8. No matter how long a link you create, you get 313 AP. A link that creates a field gets you 1250 more. Hacking an enemy portal gets you 100 AP. That’s a lot of play to reach 1.2M (see the Wikipedia article for more complete info)

When I drive I do find myself hitting the brakes when I see a historic marker or a flag.

I think the game play could be improved by increasing the AP for longer links/bigger fields, or better yet, put the “multi” back in multi-player and have groups of people get more abilities when they work together (I’ll form the head).

I am curious as to the bandwidth requirements of this game, especially if they make it a truly augmented reality app. As I fly by at 60 mph in my car with Ingress running, I can’t imagine the amount of data that would have to flow to keep up. Multiply that by thousands if not millions of others and you have a cool engineering challenge.

Dangers

I was in San Francisco a few weekends ago and was meeting Geoff Davis for dinner near 24th and Mission. It’s not a bad neighborhood but it isn’t exactly great. I got there early so decided to spend the time hacking the numerous portals in the area. At one point I looked up and found myself in an alley, narrow walls surrounded by some pretty amazing graffiti, but not exactly the safest place to be in the evening carrying around a couple of grand in electronics.

Trust me – in many places wandering around in circles while constantly looking at your phone is not considered normal. Since many if not most portals are near public buildings, in this post-9/11 world expect to be questioned if not threatened.

As I was attacking the fire department portal this week, I had to wander around back to get close to that last resonator. When it died I let out a little “whoop” and turned to see three rather large firemen looking at me all unfriendly-like, and one asked “May we help you, sir?”.

I laughed, told them I was playing a computer game, and showed it to them on my phone. They thought it was pretty cool.

Compared to actual geocaching, Ingress doesn’t require anything to be left on the property or anything to be dug up, etc.

I got a different experience last evening when I was attacking the post office portal. The postmaster, a tall, somewhat severe lady, was taking out some trash so I made sure to say “hi” and let her know what I was doing. She wasn’t happy and suggested that it was illegal for me to be outside of the “public” areas of the post office building. Now, I was under the impression that any area outside of a post office was public, and since I wasn’t interfering with business nor destroying property that I had every right to be there. I spent some time last night doing research and I think I am correct. First off, the idea of “trespassing” is predicated on there being “no trespassing” signs clearly posted. There is an “Authorized Vehicles” sign but nothing about “Authorized Personnel”.

It started to piss me off, and indicates one problem I have with this country. People at all levels of government seem to have forgotten that they serve at the will of the people, and especially at the lower levels, from TSA employees to rural postmasters, seem to want to claim more authority than they really have.

Now I’m not saying she shouldn’t have asked about a weird guy acting strangely next to a government building, but once explained I was hoping she’d have the cool and friendly reaction of the firemen. Instead, she decided to fluff up her feathers and imply it was verboten. Part of me wants to force the issue but the lazy part of me wants to pick a different battle.

Which brings me to the name “Ingress”. I think it is brilliant. Not only does it refer to “signal leakage“, such as the portals “leaking XM” into our world, but also property law, as in the rights of a person to enter a property.

If you are into this sort of thing, and you have an Android phone, I encourage you to check it out. In any case, I think Google has a hit on their hands.

Review: Existence by David Brin

I think it was during my extremely short collaboration with Harlan Ellison that I was introduced to the term “Speculative Fiction“.

When I was growing up in a little town in North Carolina, I fell in love with what we called Science Fiction. I devoured Asimov and Niven and Pohl, and while the local library held little in the way of such books, I spent the money I made mowing lawns on books from the Science Fiction Book Club, one of those mail order (I originally wrote “on-line” – sigh) “Book of the Month” companies that sold cheaply printed hardbacks at a discount. They also included a genre called “Fantasy” which included Tolkien, Zelzany and others.

As the Science Fiction and Fantasy genre grew, a new subgenre of books and stories arose that were much better defined by the term Speculative Fiction, although that term currently acts as an umbrella over all sorts of writing including horror and alternate histories. Descendants of the “hard” science fiction of Asimov, speculative fiction strives not only to entertain, but to predict. The plots of these stories tend to arise out of reactions to changes in technology, and they differed from regular Science Fiction by increasing the “plausibility” of the scenarios they portrayed.

One of my favorite books of this sort is the 1989 novel Earth by David Brin. Brin is probably best known for his Uplift series of novels. In them, the Earth is contacted by a large interstellar community of beings, ranked by their age and the number of beings they have “uplifted” into sentience. This uplifting service is not without a price: the uplifted species is indentured to a long period of service to the uplifting race. This can be quite profitable, so the competition to find potential species to uplift is fierce. When Earth is contacted, the human race has already uplifted dolphins and chimpanzees, which prevents them from becoming indentured, but this form of “bootstrapped” sentience is unknown in the galaxy and so the other races are suspicious, and some become downright hostile. What I love most about the books is the imagination that went into creating the different alien species. Imagine a life form made up of stacked rings, where each ring is a small chemical plant? Different combinations of rings produce different types of individuals. That’s just one of the many aliens that populate these books.

In the novel Earth, Brin put that imagination to use by setting it 50 years in the future. I’ve purchased a number of copies of that book over the years to give away just because of the number of predictions that have come true, such as the Internet, global warming and the erosion of privacy. There is a strong focus on the environment that I knew would appeal to several of my friends.

In Existence, Brin returns to those roots with a massive 800+ page novel that takes place roughly 40 years from now. It will be interesting to see which of his predictions comes true from this book.

Like Earth, the book is a little hard to start. He has a cast of characters that would make George R. R. Martin blush, and it wasn’t until about page 100 that I really got into it.

The book starts off with Gerald Livingstone, an astronaut/janitor tasked with clearing out space junk. Using an electromagnetic tether tens of kilometers in length, his job is grab onto space junk and fling it into the atmosphere so it will burn up before colliding with something important. Only this time he grabs an unknown object, an object of extraterrestrial origin, that causes great shifts in power and culture on Earth.

All of this takes place on an Earth that *could be*.

The main theme, and hence the name of the book, involves the extinction of the human race. One answer to the Fermi Paradox, which asks the question “if the likelihood of extraterrestrial intelligence is so high, why hasn’t it contacted us?” is that all species that approach the ability to travel across space end up self destructing. This book examines numerous scenarios that would cause that, and the possibility to avoid them.

One scenario is that we blow ourselves up. There is a quote from the book:

One sage who helped build the first atom bomb put it pun-gently “When has a man, bloody down to his soul, invented a new weapon and foresworn using it?”

Think North Korea and a possible US response to the use of nuclear weapons.

Another scenario is that we turn inward. In the wonderful non-fiction book 1493, I learned about the Chinese explorer Zheng He, who is also mentioned in Extinction. China had a technologically advanced civilization centuries before the West, but they rarely ventured outside of their borders. In one exception to that, Zheng He took a huge fleet of ships around the Pacific and Indian Oceans, but with the death of his Emperor those stopped. Perhaps that will happen to the human race, we’ll turn inward and stop looking out.

It is hard to write about the book without spoilers, but I am going to try not to give away the plot. Like many of his books, it reads like a thriller, which makes the presentations of all of these doomsday scenarios and ways to avoid them pretty entertaining. Once I got past page 100 I couldn’t put the book down.

It also happened that I was reading it while on holiday on the island of Roatán off the coast of Honduras.

The ocean plays a role in many of his works, and I liked reading about dolphins while being near them. One of my criticisms of the book is that there are a number of story lines that just seem to end. One involves the Uplift Project for dolphins, so in a small way this book could serve a prequel to that series, but I see it more like J.J. Abrams reimagining of the Star Trek universe than a true prequel, as Uplift aliens don’t play a role.

He does address one of my concerns, although not thoroughly. As this viral video explains, the distribution of wealth in the United States is getting heavily skewed.

Now I am certain that at least two of my three readers are thinking, “Yeah, but in American anyone can aspire to be in that 1%”. The truth is that it is becoming much harder, as factors such as contacts made while in school and family heritage start to erect barriers toward crossing into that zone where 1% of the population controls 20% or more of the total wealth. In other words, it ain’t based on merit and hard work any more. The political system has been gamed to make sure that percentage stays right where it is, if not increasing.

What usually happens in periods when a society’s wealth is skewed like this is revolution. The poor, with nothing to lose, simply take from the rich. Now, as Brin puts it in his book, the surveillance state may be able to locate a stop a potential Robespierre, but there are plenty of scenarios where no amount of surveillance could stop a revolution from happening.

In Existence, there was a cataclysmic event called “Awfulday” that isn’t described in detail, but it resulted in something called “the Big Deal”. The world was classified into 12 “Estates”, or castes, and rules were put in place to insure a smooth interaction between Estates in order to avoid such a revolution. The First Estate is made up of the wealthy, but instead of being in the 99%, these people measure there wealth in seven to eight “9s”. They play a role in the plot of the book, and although he doesn’t offer any real solutions toward wealth inequality, the Big Deal does offer some ways to mitigate it.

I enjoyed this book immensely and would recommend it to anyone who likes these sort of things. I do have some criticisms, however. When you hit Part Seven, there is a large gap in time between it and Part Six. Since this is on page 663 of the book, Brin can be forgiven for wanting to wrap things up, but I found the transition jarring. Plus there were a number of story lines that just seem to peter out. While it was important to describe the kinds of activities those of the First Estate would be able to engage in as technology progresses, for example, it would have been nice to have some sort of way to bring those stories back into the conclusion instead of dismissing them.

But that could also be just a personal bias. The main criticism I receive about my writing is that I’m too detailed and I want to explain everything, and part of the magic is to leave some up that up to the reader. But in this case I think Brin just got tired. This had to be a hard book to write, as there are hundreds of ideas here, each one a “noggin’ scratcher” and could drive a story in its own right.

The only thing I found missing was a thought I had about fixing the issues that plague us today. Note that when it comes to things like the environment, I’m not a “Save the Earth” kind of guy, but more of a “Save the Humans” kind of guy. I think the Earth will always find a way to support life until the sun swallows it up in several billion years. Almost every issue we have facing us is due to too many people being on the planet. In Earth there is an organization that wants to take this to the extreme, where they estimate that the carrying capacity for humans is around 400,000 people, and they have come up with plan to sharply decrease the number of humans to make it closer to that goal.

As purely a thought experiment I wonder: what if we sterilized 99% of all humans on the planet today (randomly, of course, to avoid any taint of eugenics)? Assuming it could be done, we would take the current population of seven billion down to seventy million in about 80 years – about twice the size of the Tokyo metropolitan area. Imagine today’s resources spread across so few people. I can’t help but think it would be a paradise. Of course the path to getting there would be hell – toward the end of that span you’d end up with billions of elderly supported by a small amount of youth, and the drive to reproduce is so ingrained in our genes that most would find the idea abhorrent on moral grounds (There is also evidence to suggest that the world’s population will start to plateau but even if that happens at the ten billion mark, that is still a whole lot of people).

If I had a fraction of the talent of Brin, there would be a book in that idea.

The AKCP SensorProbe2

While spring has been late coming to North Carolina, I expect our hot summers to be here soon, and that always causes concern as the air conditioner for the server room sometimes has issues keeping up. I used to use the temperature sensor in our ancient APC UPS, but I think the SNMP unit on that device has gotten a bit wonky and it tends to “stick” at a particular temperature.

One of our OpenNMS partners in Germany, Didactum, recommends sensor units from a company called AKCP. When I was there for the OpenNMS Users Conference I asked him if I could buy one, and he was kind enough to donate a SensorProbe2.

This is a small unit that you can mount on a wall and it supports up to two sensors. It shipped with a temperature/humidity probe and Roger added a water sensor (in case of flooding). Each sensor plugs into the unit via an RJ-45 connector.

It comes with a setup disk that is Windows only, but I decided to connect to its built-in web server over the network. The default IP address is 192.168.0.100, so I just set my address to 192.168.0.1 and connected to it via a crossover cable.

The web page is plain but functional, and it was easy to change the IP and set up my unit.

Of course, we supply the default configuration for these units with OpenNMS, so all I had to do was discover it and I started to get graphs, automagically.

I also set up the OpenNMS server as a trap destination in case any of the thresholds are met. I’m hoping I don’t ever see those events but it is nice to know that I’ll have some indication if there is an issue with the environment in the server room. Thanks to Roger and the team at Didactum for making that happen.

Salesforce – A Cautionary Tale

When OpenNMS was small, we maintained our customer lists and sales prospects in a spreadsheet. As we grew, this didn’t work out so well, so we needed some sort of CRM solution.

As open source fans, we turned to SugarCRM, but the “community” version was a little hard to maintain. Unlike OpenNMS, they didn’t bother packaging things, so upgrades were a pain, and we found the application a little wanting in other aspects. The person in charge of sales suggested Salesforce, so against my objections we tried them out.

What were my objections? Well, first, I distrust putting company sensitive information into “the cloud”. I think the regulatory structure necessary to protect consumer data is horribly lacking and I didn’t want our clients, potential clients, revenues, etc. to be in someone else’s system. But that would be an issue with almost any hosted solution, so another of my objections was the price. Salesforce is designed for companies with teams of sales people – people who log in at the start of the day and log out at the end. We found out that our sales tend to be quite technical, so our sales guys are also engineers and product managers. The guy who is primarily concerned with sales probably doesn’t log into Salesforce every day, and I log into my account seven or eight times a month – tops.

But I am also a pragmatist. As someone running a company that survives by being profitable, I have to be. So when Salesforce seemed to be the best option, we went ahead and signed up. Other than the price and some small security concerns (I think Salesforce makes an honest effort to protect client data) I was satisfied. It’s just like when one of my guys wants a MacBook – I am moving away from Apple gear but I am not going to impact their productivity because of my personal bias.

A short while ago, I got an e-mail from the account manager at Salesforce:

I noticed you had signed the previous Salesforce contract. David had contacted Salesforce about adding licences, do you know if this was still the case? I ask because the discount I was going to apply for the net new discounts expire shortly.

This pissed me off for a couple of reasons. First of all, if David, the president and COO of the company, is the contact, deal with him, not me. It’s kind of like a small child running to Mom when Dad says “No”. Second, I hate (detest, despise, abhor) hard sell tactics like the “discounts expire shortly”. What? Salesforce has some extra accounts that are going to go bad, like a brown banana, if you don’t order before midnight tonight? It’s not like there are only a certain number of accounts available, and once they are gone, they are gone. I figured that ol’ Arunan was obvisouly B-team sales material.

In any case I asked David what was going on. We are growing a lot in 2013. We are formally opening the Georgia office and we plan to open three more offices by the end of the year. We’re hiring due to increased demand and that has led to the need for more account management. He was looking to add a couple of Salesforce accounts so that we could put more people into a part time sales role.

The key word being “part time”. Even the discount prices that Arunan was offering were too much for what we were getting. We figured we’d either make do with our current accounts or switch to something like SugarCRM (their hosted service is half the cost of Salesforce and it looks like their “community” version has gotten a lot better, including the upgrade process).

I wrote back to Arunan and said that we would not be getting any more licenses, and that we would probably be switching to something else before our contract expired in July. He replied:

Thanks Tarus for the note. Please make sure to call 415-901-8457 to log your cancellation notice so they can turn off the auto-renew on your contract.

Dave, it was a pleasure speaking with you the other day, and until the summer I will continue to be the Account Manager, so please do not hesitate to call or email when you need me.

Nothing offensive there. I would have probably asked why we were switching, if just to have a data point that some sort of smaller cost plan was desired by some Salesforce customers. I didn’t think much about it. Until the next day when I got:

You don’t have to worry about calling Billing. I’ve put in the cancellation for you – the case # is xxxxxxx for your records. Your account will not renew and your licenses will delete this summer. Make sure to call back in if you want to keep them.

What? Is this some sort of sales guy lesson I missed? When a customer expresses dissatisfaction and is thinking about leaving, you shove them out the door?

The thing that most frightened me about this was that we have a lot of data in Salesforce – data I hope to migrate to the new system. While nothing in his correspondence stated it, words like “delete” jumped out, and it dawned on me that Salesforce could decide to nuke that data at any time and we would have little real recourse. Instead of helping the issue, Arunan not only insured that I would not be a customer of Salesforce come July, he instilled fear in me about a whole industry. If Salesforce decided, on a whim, to cut us off, we may have some legal recourse but in the meantime we would be screwed. Salesforce is a lot bigger than us and could probably keep us tied up for years. All just because a mediocre Account Manager wanted us off his list.

And think about it – before this exchange I would actually recommend Salesforce. Sure it was a little reserved, along the lines of “I am not super happy about them but they are the best alternative I’ve found” but it was a recommendation nonetheless.

I think it is possible to provide cloud based services in a secure fashion, but I am not sure Salesforce is one to do it. We are installing SugarCRM now, so I’ll post later with an update on how the migration went, and a more up to date understanding of Salesforce vs. Sugar.

One Hot Tomato (#noapple)

I had started to notice that my home wi-fi performance seemed to be degrading. I use an Apple Airport Extreme and I’m not sure if it is just the new proliferation of Android and Linux devices in my house or if something else is going on, but I was seeing a lot of network drops and slow connections when wireless.

I figured I could continue on my #noapple quest and get rid of yet another Apple product if I decided to replace the router. I knew that whatever I purchased I wanted the option of loading FOSS firmware, so I did a little research and came across the DD-WRT and the Tomato projects (I’m sure there are others, these just seemed to be the most popular).

There was a pretty high profile case a few years back when it was realized that the base operating system of Linksys routers was Linux, and due to the diligence of the Software Freedom Law Center and others, device vendors using Linux had to be more transparent about it. The name of the DD-WRT project came, in part, from the Linksys WRT54G router that was the main focus of these early alternative firmware versions.

My requirements for a new router were that it had to support both 2.4 GHz and 5 GHz, it had to support SNMP (‘natch) and I wanted to be able to host a guest network. I live out on a farm and often I have people visit who want to access the Internet. Rather than give them the password to my network, the Extreme allowed you to create a “guest” network that had no local access but could connect to the Internet over wi-fi.

I settled on the Linksys E4200 and ordered it from Amazon. When it arrived I started playing with the stock firmware and found another feature that I quite liked: a built in UPnP server. This allows you to connect a hard drive to the router and then serve media content such as music and videos to devices that can access UPnP media servers (such as my TV and the PS3).

I didn’t like the way Linksys implemented the guest network, however. Unlike the Extreme, where it was just a separate SSID that you could leave open, this required a password, and you had to connect to a web page and authenticate first. I believe this was a feature brought in from legacy Cisco gear, but I didn’t care for it. Still, I figured that as little as that feature got used I could live with it.

No, the show stopper for me was the lack of SNMP support. For some reason modern consumer-grade routers just don’t support it. But, not to worry, I could load in an alternative firmware.

Or so I thought.

I had decided to use Shibby’s Tomato firmware since I really liked the idea of a UPnP server and I read that the one that ships with DD-WRT wasn’t very good (I’m not stating that as fact, mind you, but the limited amount of research I was able to do seemed to indicate it). I downloaded the version for the E4200 and hit a roadblock: the firmware wouldn’t install.

Turns out that I had the E4200 version 2, which uses the Maxwell chipset instead of the Broadcom chipset. None of the firmware versions I could find support that chipset, so I was stuck. I packed the router up and shipped it back to Amazon.

(sigh)

To replace it, I ordered the Asus RT-N66U. It seemed to be decent hardware and had solid alternative firmware support. I knew from my research that the default software did not support SNMP, so I immediately installed Tomato. The process was incredibly simple:

  • Download the proper firmware version from Shibby’s site
  • Put the router in “rescue mode”: first, turn it off
  • Remove the power cord
  • Press and hold the reset button (the small recessed button between the LAN port and the USB ports)
  • Replace the power cord
  • Turn on the router
  • Release the reset button once the power light slowly flashes (on 4-5 seconds, off 4-5 seconds)

At this point in time you can navigate to 192.168.1.1 and access the firmware reload screen. I set up 192.168.1.2 as a static address on my system since I read that this process can have issues if you are using a DHCP address, and then I simply uploaded the new firmware through the browser and installed it.

That was it – once the router rebooted I was able to access the Tomato webUI and it “just worked”.

The number of features are just staggering. Want to create a guest network? Just create a new SSID and associated it with a new VLAN. Need SNMP? Configures out of the box. The UPnP server was pretty easy to set up, but I had formatted the external drive as ext4 and it wouldn’t mount. I was able to ssh in to the router and look at dmesg to see that it was complaining about “extra features” so I reformatted as ext3 and it mounted just fine.

While I haven’t played with everything (such as QoS), I was really impressed with the IPv6 support. Since my ISP doesn’t support IPv6, I needed to set up an IPv4 to IPv6 tunnel. I signed up for a free account at Hurricane Electric and I was able to get IPv6 working rather quickly. However, since my public address is assigned via DHCP, any changes would cause the tunnel to break. However, Tomato comes with a built in Dynamic DNS client that talks to the Hurricane Electric site and updates the tunnel with any changes. Now that I have IPv6 working, I can configure the Juniper router in the office to allow traffic between the two networks with no need for a VPN.

Cool.

Once again I am impressed that not only is a complex open source application available for free, but that it trumps its commercial counterpart by far.

The Dell XPS 13 Ubuntu Edition

Over the last year or so I’ve managed to divest myself of most of my Apple products in a project I call #noapple. The last remaining piece of Apple equipment I used frequently was an 11-inch MacBook Air (MBA) that I would dual boot with OS X and Ubuntu.

I was able to use it mainly booted to Ubuntu, but there were certain things that were a little bothersome. For example, the trackpad driver under Ubuntu wasn’t nearly as smooth as it was under OS X, and it was extremely sensitive, having little of what is called “palm detection”. Quite frequently, in the middle of typing something, the cursor would jump to some random part of the document when my palm barely brushed the trackpad.

But in any case, it worked well enough that I could use Ubuntu when I was on the road.

Back in December I learned that Dell was releasing an Ubuntu optimized version of its XPS 13 laptop. This device is very similar to a MBA, and I was excited to read that Dell had worked hard with the vendor of the trackpad to optimize the drivers for Ubuntu.

I ordered one, and I thought I’d share my experience here.

The ordering process was pretty straightforward. Simply visit the website and configure your system. It’s very similar to ordering on the Apple store website. I ordered the laptop and a number of accessories, and in short order received a confirmation e-mail with links to track the progress of the order.

Here is where I hit my biggest issue with the whole process. Like Apple, some of the accessories I ordered shipped in advance of the laptop itself. Now, when I order things on-line, I have them shipped to the office since we have a loading dock in the building with a full time shipping manager who can sign for things. Dell decided to ship my packages to my billing address (my home), even though I had specified a separate location. I’m not sure if this was due to security reasons, but they were unaware of one thing: I own large dogs, one of which likes to gnaw on electrical cords.

So, when my first shipment arrived (a spare power supply and a VGA adapter) it was left on my front porch. I didn’t realize it had come, so I left it there. It wasn’t until I saw the packaging spread across my front yard that I realized what happened, and found that the VGA adapter had been chewed into two pieces.

This was on a Saturday and my laptop had not yet shipped, so I wanted to make sure they corrected the shipping address before that went out. I ended up spending nearly two hours trying to reach a human being at Dell. Once I worked my way through their automated system until I got to the question “is this for home or business?” and when I hit “business” I was told to call back on Monday during their normal hours. So I tried again and hit “home” which put me in a queue for about 30 minutes until the call was unceremoniously dropped. I kept trying but finally just bailed and sent in a request via e-mail.

I didn’t get a response to that request until Wednesday, but by that time my laptop had shipped. The support representative, Jeanette, apologized for the issues but I was pretty unhappy and pretty much ignored her e-mails and phone calls. Since they were using FedEx, I was able to divert the package to a local FedexKinkos office and managed to get it (sans teeth marks) with a little extra effort.

I wasn’t impressed with Dell support, but then Jeanette wouldn’t let it drop. She kept trying to call and e-mail. She arranged for a replacement adapter to be sent. She kept wanting to make sure I was happy. In fact, as I write this I have an outstanding e-mail I need to reply to but I wanted to write this up first. If this is the kind of personal attention issues get from Dell, then Dell may have a chance against Apple. But they really need to do something about their automated system. Overall, due to Jeanette’s persistence, I am satisfied with my purchase experience.

Anyway, what about the laptop itself? In the style of the Apple fanboys, I thought I’d do a little unboxing.

The laptop arrived in a Dell labeled box. I always liked the fact that Apple’s boxes are shipped inside a thinner, brown paper box since I like to keep the boxes around, but once I opened it up I realized that the “real” box was inside.

It was a very nice, heavy black box that felt more like opening up a precious jewel or a nice watch than a laptop.

When opened, the laptop takes up most of the box.

Underneath is the power adapter and a small black folder with basic warranty information. I will miss Apple’s power adapter design, I dislike the whole “brick” model and it makes it a little more difficult to use in other countries, but I’ll get over it.

All in all I think Dell did a pretty good job with the packaging “experience”.

Dell sells a Windows version of the XPS 13, but this one has a small “Ubuntu” sticker on the wrist rest (which I’ll probably remove)

but there is also a permanent Ubuntu logo on the back.

When you start it up for the first time, you get a nifty little “welcome” animation. I apologize in advance for the video quality.

The laptop is slightly larger than my MBA, but then again I bought the smallest MBA and there is a 13-inch version available from Apple.

The main place that Dell loses some points is in the screen resolution. It has the same 1366 by 768 pixels as my smaller MBA, and by comparison the equivalent MBA has a 1440 by 900 screen. I like having more pixels, and I get so frustrated when vendors brag about the “HD” quality of their displays, especially with external monitors. To me, 1920 by 1080 is not sufficient pixel density on a 27 inch monitor, for example.

But after using the XPS for awhile, I’ve found that my old eyes tend to prefer the larger screen.

The XPS is fast. I thought the MBA booted fast, but the Dell boots so fast I don’t mind shutting it down completely vs. suspending it.

Now granted, I have rEFIt running on the MBA, but even with that you can see the difference. Note that in fairness the MBA does boot to OS X a little faster, but the XPS still wins on the overall speed issue.

And, yay, the trackpad actually does work well on the XPS. It has the same kind of “natural scrolling” that I’ve missed. Swipe faster and the scrolling speeds up, etc.

Overall I’m happy with the XPS 13 so far. I have yet to take it on the road for a full workout, but I’m happy that Dell is making this available.

While I wasn’t unhappy with my MBA, I like to vote with my wallet and so I was happy to encourage Dell to cater more to the Linux crowd by buying this machine. Only by patronizing Linux friendly vendors, early and often, will we see them pay more attention to pretty much the only free and open desktop alternative available.

Uber

I spent last week in San Diego. I like San Diego and I like the client so I expected to have a good time. While that part came true, I also expected nice weather. While it was beautiful for the first half of the week, the second consisted of rain and an earthquake.

What I didn’t expect was to be exposed to new tech, specifically tech-enabled changes to established business models. I already talked about Stacked, so now I want to mention Uber.

Since LISA was in town I was able to meet up with some friends from Chicago. We ended up at a restaurant called Craft & Commerence (good food, great mac ‘n cheese, excellent cocktails). As we were leaving to head back to our respective hotels, I was asked if I had ever heard of “Uber”.

Uber is a system for hiring a “livery service,” or as they say in the biz, a “black car,” to drive you around. While more expensive than a taxi on average, they tend to be nicer and driven by a more skilled driver (again, on average, I’ve ridden in some clean regular cabs with very talented people at the wheel).

You access Uber from your phone, and after you confirm your pick up location it will tell you how long it will take the closest available driver to get to you. If you choose to be picked up, it will associate your request with a driver and you’ll get both the driver’s name and the option to call them. When you set up your Uber account, you configure a credit card and everything else is cashless.

While I didn’t use it that night, I decided to try it out on Friday when we headed down to the Gaslight district to eat at Seersucker (too “hip” of a place for me, the food and drink were too good for most of the clientele to appreciate). The downside was that it had been raining, and this is so unusual in San Diego that it was causing a lot of traffic problems. Because of that and the fact that it was Friday night, I was informed that “surge” pricing was in effect and I would be charged twice the normal rate.

(sigh)

Still, I wanted to try it out, and since I had received a $10 credit when I signed up, I went ahead and called for a car. I was immediately told that my driver was Leeban and that he would be there in 10 minutes.

I went downstairs to wait, and I could track Leeban’s progress on a map in the app. When he got close the map updated to show his picture (a nice security touch) and I received several text messages throughout the process, including one when he arrived.

The car was nice and clean, although not new. Lincoln no longer manufactures Town Cars and so the livery industry is having to make due with old stock. Leeban was very friendly and knowledgable – while my Google Map app suggested taking 163, he said it was a total mess because of the rain and he took me a different way. After a few congested stoplights, it was a straight shot into downtown and I arrived ten minutes earlier than I thought I would.

I asked him about Uber, and he loved it. Many people don’t realize that when you pay a normal taxi driver with a credit card, not only does the taxi service take a large amount of that out for “processing,” (in addition to their share of the fare itself) it can take months for the driver to actually get paid (I always try to pay for cabs with cash). Uber takes a flat 20% fee for setting up the ride and while he didn’t tell me the details, he seemed happy with the speed of payment. But he mainly liked Uber because the clientele tended to be nicer and safer overall, and he never had to worry about getting stiffed on a fare.

When we arrived I asked him if there was anything else I needed to do, specifically did I need to add a tip, and he said no, it was all taken care of. Within five minutes I received a text with the total fare and an e-mail with a detailed receipt.

While most car services charge a flat rate, this is more along the lines of a taxi, with charges for time spent waiting as well as distance. I thought the fares were very reasonable with the exception of the “2x” surcharge and figured I’d use Uber again to get to the airport in the morning, but only if it wasn’t “surge” pricing.

My second Uber ride was similar to the first. I was paired with Abdillahi (both drivers were originally from Ethiopia but had lived in the US for decades). Unlike Friday night, there weren’t too many options, and I had to wait for him to come from the airport in order to take me back. This took about 15 minutes, which is somethiing that I didn’t plan on happening, but I still made it to the airport in plenty of time. Leeban was able to arrive in around 5 minutes (quicker than the initial estimate), so I need to remember to order ahead during off-peak hours.

Abdillahi had a slightly nicer Town Car and was just as professional as Leeban. The fare was $30, which is what I paid for a cab to get to the hotel when I arrived. He also was very happy to be a part of Uber.

I plan to use this service again, especially if I happen to be in one of their foreign locations (it looks like they operate in Amsterdam, London, Paris, Sydney as well as a couple of cities in Canada). Since I plan to be in London for the OpenNMS training at Red Hat, I’ll have to try them out there.

Stacked and iPads

I’m in San Diego this week, and the client took me to Stacked for lunch yesterday.

The Stacked “dining experience” starts off pretty normal: you are greeted by a hostess who takes you to your table and hands you a menu. But it changes a bit from there, because on every table there is an iPad running a custom ordering app. When you sit down, you scan in a credit card and then you can start the ordering process.

Once you have decided on what you want to drink, you navigate through the app and then add it to your order. When everyone at the table has chosen, you hit “send to kitchen”. A few minutes later the drinks arrive.

In the meantime, you can start on your food order. It follows the same process, with the added feature that you can customize nearly everything on the menu. Again, once everyone is finished, you hit “send to kitchen”.

We did have a waitress, but she was mainly there to make sure we understood the system. As there were no prices on the printed menu, I wondered if they changed on the tablet, and if so how frequently. It also raises a question about the amount to tip. Since a good portion of the job of a waiter is to get your order correct and in a timely manner, should you tip less?

It was an interesting dining experience. As a frequent business traveler and no stranger to “table for one,” some of the most frustrating aspects of dining out involve the ordering process. For example, on Sunday I went out for sushi, and after getting a seat at the bar and being left with one of those “check the box” papers, I was pretty much ignored for 20 minutes. I wasn’t given anything to write with, and since all I wanted was the regular sashimi tray there really wasn’t much to do. I finally caught the eye of the sushi chef and got my ordered started.

I like nothing more than having a long dinner with friends, but when I’m alone, eating is more of a chore and I just want it done as efficiently as possible.

Which was a big plus for Stacked. While the Greek Salad I had was nothing special, it was good and when I was ready for dessert I was able to order my ice cream sandwich when I wanted, and I didn’t have to catch the eye of the waitress, etc. I’m not ready to replace my favorite wait staff with a tablet, but for certain dining situations it makes a lot of sense.

What didn’t make a lot of sense was the fact that they used iPads instead of Android tablets. The case covered up the home button to prevent people from exiting the app, but you could still see some of the default border (with the signal strength indicator, etc.) An Android tablet could have been used to create a truly dedicated device.

The final thing that bothered me was that their case, which was probably custom, featured the all too common “cut out” so you could see the Apple logo.

I believe this is Apple’s greatest weakness. They used to compete on innovation, but now their products have become both status symbols and fashion statements. The problem with fashions is that they tend to change, and change quickly. Once everyone has an Apple device, those that drive the fashionable adoption will switch to something else and the herd will follow. It won’t be cool anymore. And when it comes to innovation, I find my Android phone much more innovative than my old iPhone 4.

Dump your stock now. (grin)

Anyway, I’ve seen iPads being used to take orders at restaurants before, but this was the first time I’d seen a tablet of any sort being used by the consumer in a retail transaction. Any other notable cases out there?