Index ¦ Archives ¦ RSS

Recommended: Glympse location app

An app I have been using for several years is Glympse. It is very close to perfection.

It lets people know where you are. A common example is if you are meeting someone somewhere they can monitor your progress and estimated time of arrival. This is especially useful while driving.

Where Glympse gets things right is how smooth they make it. Unlike most other apps, absolutely no authentication, account creation, social media profiles or privacy invasion is required. That applies to both the sender and the recipients. Glympses automatically timeout (your choice of up to 4 hours, or on reaching your destination).

The Glympses themselves are a URL in the form glympse.com/123A-BCD4 which is sent to the recipients. Providing they can access the web, they can see details. You are tracked on a moving map, along with updated ETA, speed (if you chose to share it), traffic and track. Recipients on mobile devices can use the Glympse mobile app to track multiple people at once etc, but this is not required.

Gympses can be sent in whatever methods you have made available. For example SMS can be used on mobile, Twitter if you logged in, email etc - all at once.

The pervasive feeling throughout is an app on your side. Every potential source of friction has been removed, for both senders and recipients. You don't feel like a pawn in some ecosystem or social network war. This stuff just works, and works well. Recommended.

Category: misc – Tags: recommendation


Support Tale

TLDR: Panasonic use an outsourced company for support that is beyond comical. This includes only being able to provide answers they already have, surveys that can't be completed, and general behaviour indistinguishable from gross indifference.

If find it fascinating what companies do these days. They hate their users so much that third parties [1] are hired to deal with them. And you can bet those third parties are used because they are cheap.

Most of them seem to operate by having 10 or so common answers, and pattern match your question to the closest answer, hoping to close the incident as quickly as possible.

Many software companies still think that it’s “economical” to run tech support in Bangalore or the Philippines, or to outsource it to another company altogether. Yes, the cost of a single incident might be $10 instead of $50, but you’re going to have to pay $10 again and again.

Seven steps to remarkable customer service

This is extremely short term thinking. The best customer service is one you don't have to contact because things just work. And when there are calls, actually address the issue so that more calls do not come in. And use this to make your future products better. Better products result in better sales in a good feedback loop. Worse products and blowing your customer interactions is a way to bleed away customer loyalty and future product purchases. Often that forces competing on price due to the lack of other virtues, and isn't particularly profitable or good for the long term.

Panasonic makes many consumer goods, amongst them cameras. I bought a DMC-ZS40 which includes [2] wifi functionality. When connecting to a wifi access point it won't let you enter a space in the password.

Keyboard

Normal text entry screen showing that a space is entered. There are 5 buttons letting you enter a space.

Screenshot

Time to enter the wifi password

Keyboard

All space buttons are disabled and clicking on them has no effect. You may need to click on the image (full size) to see the lighter gray disabled look for the space buttons.

Spaces are perfectly acceptable in wifi passwords. Heck all the domestic access points I have access to use them! Now you know and I know that this is a bug [3]. But rather than being presumptuous I contacted Panasonic support to ask how I enter a space in wifi passwords. Maybe there is some other way in just this case?

I started with online chat. It quickly became clear that the customer service staff do not have access to the cameras, nor had they ever used that model or its similar predecessor. I pointed to the screen shot on page 75 of the manual (warning: PDF) and explained that the spaces worked elsewhere, just not for wifi passwords. I had to repeat this over and over again - I can enter spaces, just not for wifi passwords.

The rep tried everything but didn't really grasp what was going on. And short of some secret setting there is nothing they could do, other than take a lot of time to not address the issue. Eventually they told me to call phone support.

It took 5 phone calls. The calls are answered by an IVR (voice) system that asks which product, then if they recognise right what you want (eg support, buy accessories) and then in support if you want to hear common tips before finally connecting you to a person. Actually just before the human connection they ask if they can call you back for a survey [4]. At no point can you press buttons - you can only proceed by speaking. (You also can't go back.)

#1 I describe the issue to a person who immediately hangs up. My guess is wifi related issues are longer calls and make their stats look worse.

#2 It decided that I was talking about a TV, and then connected me to a number saying it was out of service permanently.

#3 The rep never spoke and I could hear some background talking for about 10 seconds before it got quiet. After trying various things to get attention I hung up.

#4 It decided I wanted to buy parts and insisted on taking me down that road. Yes I did end up swearing at the idiocy.

#5 I got through to a person and did pretty much the same as with the chat person. (Yes they too had no experience/access to the camera or seen its keyboard.) We did the page 75 of the manual thing plus fruitless attempts to enter the space. After 28 minutes they decided that a higher level support person needs to get back to me. I'm not sure if it ever sunk in that I was perfectly able to enter spaces -- just not for wifi passwords.

Email

The next day this arrived

That is cut straight from page 75 of the manual - the same one I kept pointing them to. I am completely mystified as to what the red arrow is pointing to.

Needless to say this has cost Panasonic money and is going to cost them even more as I persevere to get the issue addressed. It didn't have to be this way.

Update: I then tried to use the "email" option where you enter details in a web form and will get a response within two business days. This was so I could link to screenshots to show the problem. I still hadn't got a response 10 days later.

I did another chat where they acknowledged the issue but said there was absolutely nothing that could be done. They refused to actually tell Panasonic about the issue. Insisted I call because they can't take personal information in chats. I pointed out I didn't need to be contacted, they already took my information to initiate the chat, and it is Panasonic who need to be contacted on the issue. The chat transcript they emailed also included a survey link. Clicking the link just resulted in a redirect to the Panasonic US home page.

Figuring that nothing would happen, I did phone call too. After some back and forth, including giving an imgur url verbally they finally came back and told me you can't enter spaces in a wifi password. I had to remind them that was exactly what I had told them. Then I was told the camera was set in stone and could not possibly be changed. I pointed out the firmware version was 1.0 and my previous model had firmware updates, so it was perfectly possible. Eventually the rep said the information would be passed on to Panasonic (yeah right). I got the usual phone call survey afterwards where a few questions in it wouldn't recognise answers.

I am befuddled as to why Accent/Panasonic aren't noticing a lack of survey responses. It is in Accent's interest that negative ones don't get through.

[1]Pansonic is using Accent and none of what is written on the snazzy Accent home page is remotely true from this experience.
[2]For some especially bizarre reason they use USB for charging but the connector on the camera while being the same size as micro-usb is not micro-usb. This means you must use a proprietary Panasonic "USB" cable. This was a really boneheaded decision.
[3]Spaces in wifi password work just fine with Android, iOS, Windows, Linux, Mac, Roku, Apple TV, Nintendo, Samsung Printer. Oh and Panasonic TV and Blu-ray players.
[4]The callback is beyond comical. You are asked to press buttons to rate various things (a scale of 1 to 5 IIRC). But on the third question it wouldn't accept any number I pressed so I had to hang up. Oh and they called 5 times - once per each original call. But I was on the phone with call #5 for several of the callbacks so they went unanswered and there were no retries.

Category: misc – Tags: rant, panasonic


On Nikola

Eight months ago I switched this site to using Nikola. It is a static site generator which takes a bunch of files on disk and spits out your site in HTML, ensuring there are links everywhere as appropriate, applying templates etc. You then serve up those HTML files via any regular web server. (The opposite approach is a CMS.)

Sadly there is one design pattern that has severely affected my use of it. Nikola attempts to only do the work necessary each time you do a build. For example if you create a new post, it wants to only generate the HTML for that post and update the indexes that list posts. This should be a lot faster than generating everything from scratch.

Sadly it is nowhere near that simple. For example a setting in the configuration file could change how posts are output (eg point to a different template) which requires everything to be rebuilt. Or something could have been deleted or renamed, actions that Nikola doesn't know about. It would have to scan the output directory for files and deduce they should be deleted/renamed too. Once you add in templates, processors, configuration settings this gets very complicated.

When I first started using Nikola I quickly discovered that it would frequently get the incremental builds wrong. I did report them to the author who was surprised that any existed, and was sceptical. I have no doubt it always worked for him though!

Through the bug tracker I discovered others seeing even more cases of the incremental builds being wrong. I quickly resorted to doing full clean builds since there is no evidence Nikola would ever get incremental builds right in all circumstances. The result was me being happy.

My long experience has left me with several principles when using software to build outputs:

  • A build then clean then build should give the same results between the two builds
  • Doing the build on different machines should give the same result
  • If incremental building is possible then it must give the same results as a full clean build

If these principles are not met then the output is non-deterministic. That means you can't depend on it, and testing it is problematic.

An example of this is Nikola generated sitemaps. It uses the date of the generated file in the output directory as the date of change in the sitemap. That breaks all 3 principles above. An approach that would work correctly is to give the output file the same timestamp as the input file. Sadly the author refuses to fix the problem.

This is the straw that breaks the camel's back for me. I don't want the content of my site to vary based on what type of build I did, to differ between machines, or when I do the build. So I have to figure out what to migrate to, or write my own.

Writing general purpose software is harder than just writing something for internal use. I applaud the author for making that effort and doing a good job. But there are times where principles matter, and we don't share these particular ones.

Category: misc – Tags: nikola


Gay Marriage

There has been a lot of fuss this week over Brendan Eich becoming Mozilla CEO. The issue is a donation against gay marriage. For many, especially outside the US, it can be hard to see why this is a big deal, irrespective of your agreement with the issue. Twenty years ago someone was kind enough to explain it to me.

According to the United States Government Accountability Office (GAO), there are 1,138 statutory provisions in which marital status is a factor in determining benefits, rights, and privileges. [1]

Rights and responsibilities of marriages in the United States

Campaigning against gay marriage isn't about the marriage itself (whatever your moral framework), but also denies those 1,138 benefits, rights and privileges to gay couples. It makes them less equal than opposite sex couples. Understandably, making other people less equal is an issue.

It seems very contradictory to be all about inclusiveness at Mozilla, but against it outside of work for those same employees, not to mention Mozilla's customer/user base. Brendan has never publicly explained his opinion nor changed his mind - statement from 2012.

I personally think this is an important human rights issue - I'm for human rights and equality, and hope you are too.

[1]Note that those benefits, rights and privileges don't only apply to the married couple themselves, but also impose obligations on others. For example a hospital has to let the married partner visit or make care decisions, but doesn't for unmarried people. This is an example of what can happen.

Category: misc – Tags: mozilla


Health Insurance Profit

The dysfunction in the US healthcare system, especially around how everything gets paid for is well known. My health "insurer" [1] Anthem Blue Cross of California, a subsidiary of publicly traded Wellpoint has a new way [2] of bumping their profits.

They aren't allowed to do premium changes targeting individuals, but can do it for groups (eg age ranges, geographical areas). They group people into age ranges (eg 40-44, 45-49). When your age changes into the next range up you get a ~25% premium increase [3]. The clever bit is that they don't actually wait until your birthday and instead increase the premiums near the beginning of the year. Consequently a 39 year old pays the increased premiums of a 40 year old for on average 6 months. Across their customer base this adds up quickly.

California has a regulatory agency Department of Managed Healthcare who are the regulatory agency for my plan, so I submitted a complaint to them. Sadly I got the usual nonsense in return. Like many customer support organisations, they have 10 answers and no matter what the issue the goal is to give you the closest answer to your question no matter how relevant it actually is. The answer to me was about how they aren't a regulator, plans aren't regulated etc, which is rather comical given just how often they describe themselves as exactly that. At this point I give up and pay the penalty for having a birthday late in the year. Score one point for the system.

On the technical side, the DMHC approach is beyond comical. There is lots of use of the word "secure" as in "secure web portal" and "secure email". Their response to me was an email that looked exactly like malicious emails. It was an envelope image with "click here" in the middle, and no other information about sender, why I would want to, or what the heck was going on. It was only by examining the email headers and additional digital sleuthing I was able to work out that it was actually a legitimate email. Clicking the link gave an error while copying and pasting it into the browser worked. It then proceeded to force me to setup a username and password to read the email. I finally got to read the email answering something I didn't ask, and ignoring my actual issue. When I later wanted to reread the answer, reproduce it here etc I couldn't. I kept being told I had to go to my "Inbox" to do so without any indication as to where (or what for that matter) that inbox is. I also noted how several pages had a footer saying Copyright 2011 Microsoft. Nothing says "secure" like "we haven't updated this in many years".

[1]What is provided doesn't really resemble actual insurance, and is closer to a payment and costs obfuscation mechanism.
[2]Compare to the old ways and look at how many times they have been fined.
[3]This is in addition to the historic 22% annual increases.

Category: misc – Tags: rant


Recommended: Hardcore History Podcast

I highly recommend the Hardcore History podcast. The presenter Dan Carlin is an amateur historian (ie no professional reputation to protect) thoroughly researching each subject. He then takes as much time as needed to cover various topics.

I tried to come up with a list of recommended episodes, but you really should listen to all of them - they are that good.

Category: misc – Tags: recommendation


Lifecycle of a Linux distro

There seems to me to be a pattern for how many Linux distributions gain prominence and then fade away. Here is a family tree up until 2012. Doing a distribution is a lot of work needing components like installers, package managers, pulling in upstreams regularly, configuration, security etc.

The genesis is a need not being met. It is fascinating what these have been historically ranging from how stable/fast moving they are, how they are built, preferring certain software (eg a particular gui like KDE), wanting a certain kind of community, targeting certain users or uses, and numerous other reasons.

What this means is that as a distro starts it has a reason, a focus and a way to see what work is necessary. The problems start once it becomes successful. It becomes a lot easier to add "one more thing" to the distro such as another package, another configuration option or even good old fashioned feature creep. This will gain more users and make the distro better.

But the larger distribution, more users and wider scope makes the distribution harder. The hardware it is used with, the software it interacts with, changes in upstream and the users all lead to far more work. Every change breaks something, but not changing pieces also breaks due to changes in others. The symptoms of this show up in the bug trackers with increasing numbers of open or abandoned tickets.

Some distros respond by narrowing their audience (eg charging for it, restricting use cases, narrowing hardware and software etc). Others have their developers pull back into the work they are most interested in leaving the other parts languishing. Sometimes politics break out as various parties fight for what they think is important.

Ultimately, people then see their needs not being met causing a whole new cycle of distros.

Category: misc – Tags: linux


Monarchs

Every year some some Monarch butterflies overwinter in Santa Cruz. I finally went to have a look.

There weren't quite as many as I expected but that is probably due to the weather and the afternoon visit.

2014 Monarchs

Photos along with some of West Cliff Drive and the sky. The video (no audio) is looking up and around. It is a bit shaky due to being zoomed in and image stabilisation!

Category: misc


Long Read: Motorbiking around Angola

This is a story I reread about once a year and recommend to everyone who will listen. In 2007 some South Africans took their motorbikes around Angola. There are lots of pictures, stories about the Angolan people, touching parts, motorbiking and just an overall wonderful read.

The first part is here. Part two is a few posts down. That part then has links to each successive part.

Category: misc – Tags: recommendation


Moving to Github

I have two active open source projects, and have been hosting them at Google Code. Now I'm moving them to Github. I'm still tidying up odds and ends.

Google Code (old home) Github (new home)
https://code.google.com/p/apsw/ https://github.com/rogerbinns/apsw
https://code.google.com/p/java-mini-python/ https://github.com/rogerbinns/jia-mini-python

So let's start with some of the good things about Google Code:

  • Mercurial: I prefer Mercurial as my DVCS of choice, and it is well supported.

  • Decent Web Interface: Because code hosting sites are built by developers they tend to have idiosyncratic usability (architecture astronaut style), with Google Code being the least worst. For example on Github you can't even sort issues by priority. It is completely absurd.

  • Multiple repositories per project: The popular hosting services have an issue tracker, wiki, links etc per project. With the exception of Google Code, you only get one source repository per project. DVCS encourages a style of single purpose smaller repositories versus the large agglomeration that was more typical in the subversion and CVS days.

    It is far more pleasant being able to use a single issue tracker, wiki etc for a group of related source repositories. Only Google Code does this.

So why leave?

  • Downloads terminated: I have 14 files per release of APSW (most are Windows binaries since Windows developers rarely have compilers and related installed) and one for the other project. Google no longer want downloads, yet that is the primary way others use my projects. Google also do not believe in supporting Linux for Drive, not to mention that it is a terrible alternative.
  • No future: There is no indication of any ongoing interest in Google Code and they refuse to take money for it. They keep shutting down services, and it is good practise to not be dependent on them. (No customer service, erroneous disabling of accounts etc.)

There are three choices for where to go:

  • Sourceforge: No chance
  • Bitbucket: I used them in the past, but they couldn't support personal and corporate use at the same time. They supported Mercurial, but Atlassian means an enterprisey design (I hate using Jira). Most importantly when I asked if they would guarantee availability of a download service for any period of time they said they would not. So they are out.
  • Github: There are many things I don't like about Github, but at the end of the day they are the least worst, and only practical alternative.

This is how I converted my projects to github:

  • Use fast-export to convert the Mercurial history to Git. (In theory you can talk Mercurial to Github but it isn't worth it. Also THG lost the ability to do line by line commits.)

  • Use github pages to generate documentation into. However do not follow all those instructions - in particular the gh-pages branch needs to be created as an orphan as it has nothing to do with the master branch and its files. (Better instructions).

    The pages didn't render correctly, which was because they returned 404 for stylesheets and images. You have to do some magic to fix it.

  • Use Google Code Issues Migrator to copy all existing issues over to Github and keep the same ids.

  • Grep the source tree for all mentions of `code.google` and fix them.

  • Edit the projects at Google Code to say they have moved

Before doing the real projects I experimented on a test repository to make sure that the documentation and releases worked. Sadly releases have to be done manually because there don't appear to be any usable command line clients (not even github's one) and none of the libraries I looked at did releases either.

Category: misc – Tags: github, apsw, google

Contact me