Symless / Synergy

For years I’ve been using Synergy to control my Mac & PC that sit side-by-side using only one keyboard & mouse.  Unfortunately I encountered a longstanding issue that the company behind Synergy (Symless) refused to addressed even though it was the 2nd most commented issue in the github repository.

When I received an email inviting me to pay for the “beta” of Synergy 2.0 I went ahead and paid the $19, hoping the issue had been fixed because it’s been a huge problem for me.  After downloading Symless Beta4, I realized I’d been duped.  The software was nowhere near beta quality – it was not even feature complete.  There was no facility to change any of Synergy’s configuration settings at all (or even restart it, etc.)


Worse, it barely worked, it frequently disconnected and when it did work it was incredibly laggy on the client machine.  This is alpha quality software at best.

When I complained about my disappointment in the beta user forum, rather than receive an apology, Nick Bolton – the owner of Symless implied that I wasn’t smart enough to understand how a beta process works.  It is possible that things work differently in the UK where Mr. Bolton is from, but calling your customers stupid is not a way to make them feel better.

He stated that the reason to make the “beta” a paid experience was to be able to limit the number of testers to a manageable size.  I don’t buy that argument for a minute. Apparently Mr. Bolton has never heard of invite-based betas. Then he went on to delete my forum post stating my opinion regarding this paid beta (fortunately Kelvin Tran quoted me as shown below.)  To make matters worse, Mr. Bolton revoked my ability to post in the beta forum.


So I went ahead and tried a competitor to Symless / Synergy called ShareMouse.  And let me tell you, it just works – with none of the long-festering issues that Nick Bolton’s team has ignored for more than a year.

I decided yesterday that I wasn’t going to bother with Nick Bolton any longer until I woke up this morning and refreshed the browser tab of the issue I mentioned earlier. Mr. Bolton, apparently embarrased by the many negative posts to the issue, deleted 52 comments and locked the issue for further comment (and locked me out of the repo.)  That’s what ultimately prompted me to write this post.


It’s clear to me now that Mr. Bolton has no respect for his paying customers (I should have known that after waiting more than a year for this issue to be addressed.)  I realize Mr. Bolton is learning how to run a business, but covering up your mistakes and muzzling your paying customers is no way to do it.

Symless has offered a refund, but the issue was never about the money, it’s about setting the right expectations – this is not beta software.  Furthermore, you should fix major issues prior to working on a major release.  Nick further exacerbated the problem by effectively calling me stupid for expecting beta software to be feature complete and somewhat functional.

Vote with your hard earned money and switch to ShareMouse.

Goodbye Apple Watch…for now

I’m giving up on my Apple Watch (first generation) and trading it in for a Fitbit Alta HR, arriving next week.  I bought the Apple Watch shortly after the 2nd generation was announced because my local Best Buy had it on sale for less than $200. While Apple has packed a significant amount of functionally into the design of the Apple Watch, for me it only served a couple of purposes:

  • Telling time (obviously)
  • Notifications (iMessage)

Occasionally I would use the call-answer feature when receiving a call and my iPhone was in my pocket.  But since most of my communication today is done with text-messaging, the call-answering functionally is just a novelty.

The main problem I have with the Apple Watch is that I rarely remember to wear it.  Because I have to take it off every night to charge it (on my nightstand,) I have to make a conscious effort to put it on in the morning.  Six days out of seven I forget to put the watch on.  Having to charge the Watch, take it off, and put it on, on a daily basis creates too much friction and hassle for the minimal benefits I receive from wearing it. 

The Fitbit Alta HR has a 7 day battery life.  That’s fantastic!  Sure, it won’t have Apple Watch’s neat watch faces, and I won’t be able to reply to messages directly on the watch anymore, but that experience is sub-par and most of the time I just wind up pulling out my iPhone anyway.  The Alta HR offers call, text and calendar event notifications – which is all I’m looking for.
Just like mobile phones have eliminated the need for most point & shoot cameras because “the best camera is the one that’s with you,” the Alta HR is the best watch for me because there’s 99% greater chance of me having it on my wrist on any given day compared to the Apple Watch.  Hopefully Apple figures out how to create a watch that can last at least 5 days. 

HackerRank & CodeWars

If you aren’t familiar with HackerRank & CodeWars, they are sites that enable software developers to test their ability to solve algorithm-type problems by providing a platform to create “problems”, sample inputs & expected outputs.  Type in your code, press the submit button and it will test your code against a battery of test cases.  This can be fun – it’s rare that a software engineer has to solve these types of problems in the real world.  The problem with these types of platforms is that they sell themselves to companies as a way to screen candidates.  The clients come up with their own problem, sample inputs and expected outputs.  Candidates submit their code and the companies can review their solutions and screen them appropriately.  Sounds great doesn’t it?

I was asked to take such a test for a company and I thought why not?  On Sunday I took a couple of hours to implement a relatively simple algorithm (determine how many degrees of separation X cities are from city Y based on highways they connect.)  This wasn’t a particularly difficult problem, but given that I have never had to implement this algorithm in my professional life (but I did come across it in college, etc.) it took me a good hour to get it right.  I fulfilled the test cases given and submitted my code.

The following day I receive an email from the recruiter asking me if I had completed the test, what I thought of it, and my response was:

I think it was a pointless academic exercise that neither proves or disproves my capacity to do the job I’m interviewing for.

A little while later I received another email from the recruiter, stating they were going to pass on me because:

They felt it lacked some structure and was low on error handling.

This left me incredibly frustrated.  Nowhere in the problem statement did it mention the code needed to be “production-level” code with proper validation/error handling (in fact there were plenty of assumptions allowed as to the validity of the data they provided.)  Given that I did the test in my own free time, I find it rude of them to pass on me because I failed to to polish this pointless exercise – especially when no such expectations were set in the original problem statement.  Additionally, none of the tools that I use for writing “production-level” code were at my disposal.  I had to use HackerRank’s terrible in-browser editor.  Sure, I could have done the work in Visual Studio and then copy/pasted it into HackerRank’s webpage, but I’ve seen occasional compatibility issues between .NET Framework & Mono (which I believe HackerRank utilizes for C# tests,) so I decided to played it safe.

Going forward if a company expects production-level coding tests, I will expect to be paid for my time, and I will expect to be allowed to use the tools of the trade in order to show them what I can actually do.  Having said that, I would much rather collaborate with a prospective co-worker/tech-lead on a problem case to determine if there’s a good fit for both parties.