Goodbye Waze, hello Google Maps

I am a big fan of social apps, especially those that address a particular problem, usually outside of the generic social networks. Unfortunately, many of these apps suffer from the same set of problems – insufficient user base to make them useful, competition from larger apps with overlapping functionality, and feature stagnation.

If I find the application useful, I try to ignore these problems for as long as I can. But, unfortunately, at some point even the best of us give up.

Last year I gave up Swarm and Foursquare. This time around, I am giving up Waze in favor of Google Maps.

Waze is like a social network for drivers. There are plenty of maps and navigation apps, but Waze went further. The app had the functionality to assist with mapping the roads, reporting police and road hazards, and some basic social and gaming functionality, where you could communicate and compete with other drivers. (The competition wasn’t speed based, but rewarded drivers who contributed the most.)

Waze never was a big hit, at least not here in Cyprus. But it was big enough to be acquired by Google back in 2013 for over one billion dollars.

Waze wasn’t shut down after the acquisition and the deal kind of made since, as Google would get real-time human contributions to compliment its automated ways of Google Maps.

But it didn’t solve the problems of Waze at all, if not made them even worse. More and more people started using Google Maps. The development of Waze slowed down to a crawl. And even the most vital features for such an app were never added.

As far as I was concerned, I could even live without the large user base. But there is one particular feature that kept annoying me until now, which was never added. There is no way to drop a pin on the map. Yes, that’s right, Waze is a map and navigation app without a pin. Instead, you can either search for places to go, or enter a street address to go to.

Cyprus is the country where street addresses are seldom used for navigation. Most of the cities grew out of small villages that overlapped with time. Which means, there is no preset design for the cities, like in the USA with the street-avenue grid. And most of the villages had the streets named after the same people, which, in the city causes lots of confusion with several streets in different parts, named the same. Heck, we even have streets with the same name crossing each other.

Try telling Waze that you are going to your friends house. You know where it is on the map, but you don’t know the exact address. (Yes, you might know the street name, but not the number.) And you’ll know what I mean.

On top of that, with fewer and fewer users contributing to the app, the data gets obsolete. There are places that have closed years ago. There are places that have moved to a different address. And there are plenty of new places that Waze knows nothing about.

And since you’ve got me complaining, here’s another feature that I miss, which is also missing or inadequately implemented in all the other apps I’ve tried – custom repeatable routes with multiple stop points.

Google Maps has a very basic “Commute to” feature, where you can just set your work and home, and then quickly navigate to either one or the other. Waze and many other apps have the same. But that only takes you so far.

Here are two scenarios which are a pain in pretty much every navigation app:

  1. More than two commute entries. Yes, work and home are common destination points for most of the user base. But what about school? Many of us are not 18 anymore and need to drive the kids to or from school. Sometimes, even more often than we navigate to home or work. People might have more than two jobs. Or they might have other destinations that they visit on a daily basis. It might a doctor’s office, or an older relative for a quick check. Why not expand the short list of “Commute to” entries to more than 2. Make it 3 or 5, and that covers most frequent routes for most people.
  2. More than two points in a route. Sure, home to work, and work to home, makes sense. But for over a year I had to commute to work, while picking up two colleagues on the way in, and dropping them home on the way back. Even dropping off the kids to school on the way to work is a common scenario among the parents I know. Why can’t we just connect the dots? Create a new route from one place to another, add a couple of stops in between, and save it in the shortlist for quick access. This will even help with the navigation part as well. The app won’t have to insist on re-routing me on every turn, when I briefly drive in the direction opposite to my office to pick up a colleague.

So for the last couple of month, I haven’t used Waze for my navigation needs. I tried a whole lot of other apps, and after a brief try outs, I decided to use Google Maps for now. It’s far from perfect, but it sucks less than others.

And just after I’ve made my mind, I came across the news that Google Maps will get the speed limits and radar locations feature. A feature inspired by Waze.

Oh, well. That’s good to know. But that just confirms my decision of letting Waze go and using Google Maps. At least for now. We’ll see what the future brings. Hopefully Google won’t kill the Goolge Maps app, like it did so many others.

Goodbye Waze and thanks for all the good times. I’ve enjoyed our time together, but now it’s time to drive forward. Hello Google Maps. Please learn from the mistakes of Waze. You’ve paid the money already.

Programmer migration patterns

Programmer migration patterns” is an interesting attempt to identify where programmers start and how move from one programming language to another. This is not precise science, obviously. But I have to say that I mostly agree with the findings.

The first language that I learned (back in school) was BASIC, which then gave me some legs with Visual Basic later in college. Also in college, I’ve learned assembler, C, and Pascal, which guided me to some amateur and professional development with Delphi.

Soon after that I discovered Linux, which meant shell scripting. I played with awk, but I didn’t have to dive deep, as Perl was already available. Perl was probably my first true programming language, which I learned outside of school and college, and which I have been using for years to build all kinds of things. I still love Perl dearly, but the last few years I have been mostly using PHP, with some occasional Python.

JavaScript, however, is where I draw the line. I’ve been scarred by JavaScript back in the 90s, so I can’t force myself to go back. And then again, I don’t really have to. I’ll leave JavaScript, TypeScript, and node.js for the younger generations.

Let the source be with you!

Time for a new adventure

This week I’ve handed in my resignation letter, marking my last working day as February 28, 2019. After 4.5 years as a Chief Technology Officer at Qobo, I feel it’s time for a new adventure.

Looking back at the last 4.5 years, it feels like there is enough to fill several lifetimes – so much has been done, so much has changed, so many people met, so many ideas tried, and so many things accomplished!

Have a look at my annual posts summarizing just the most noticeable changes:

Or, if you feel like it, take a deeper dive into more blog posts, varying from Instagram pictures to some deep technical brainstorming and solutions.

Obviously, I can go on and on for hours, but here are a few high-level points just to keep things in context:

  • Offices. We’ve opened a new office, or moved to a new office, pretty much every year. First, Nicosia office was moved and expanded. Then Limassol office opened. Then London office opened. Then Limassol office moved and expanded.
  • People. From a small team of 7 when I joined, we’ve expanded to over 20 now. But it wasn’t only about the headcount. We’ve grown the number of roles in the company as well – sales, support, QA, etc.
  • Clients. We’ve built an impressive portfolio, with many large, medium, and small clients, across a variety of industries from a several countries.
  • Technology. We’ve built an impressive set of technology, both internally and externally. Our Amazon AWS cloud infrastructure nearly doubles every year. We have integrated a number of excellent tools to help with project management, quality assurance, development cycle and continuous delivery. And we’ve made Qobrix from scratch into a recognizable brand and force to be reckoned with.
  • Open Source. True to our Open Source believes, we have made significant contributions to Open Source, both via our own repositories, and through the tools and libraries that we use and build on top.

I have met and worked with some really amazing people and teams, true professionals, and inspiring individuals. I have learned a great deal over the years, and have grown both personally and professionally.

So, why am I leaving then? I feel it’s time. It’s time for a change both the company and for myself.

When I joined Qobo, it was a tiny startup, like many others, trying to find its identity, develop, and grasp some luck. It was also still trying to survive the catastrophic consequences of the “Cyprus haircut“, which killed many stronger, more mature businesses. Gladly, we managed to pull through all of that. It wasn’t easy by any means, but we’ve done that. The company has survived, grown, and matured.

It is now well on the way to success, with a clear vision, great products, strong client portfolio, good reputation, and an amazing team.

I think I have done enough to help Qobo to get here. There are now many new people, ideas, and approaches, which will take it forward in a smoother, faster, and more efficient way.

As for myself, it’s also been quite a ride. There has been countless nights and weekends of tight deadlines, non-stop work, lack of sleep, nervous breakdowns, alcohol abuse, emotional highs and lows, and so on. (All kind of expected in a startup.) But I need to step back and recover a bit. On top of that, over the last few month, my focus was mostly needed in non-technical areas. I want to get back to my routes for a bit, and dive into the hands-on technology – things that I like the most: writing code and administrating infrastructure.

Where am I going then? To tell you the truth, right this moment – I don’t know yet. The decision to step down as a CTO and to leave Qobo took quite a bit of thinking, consideration, and preparation. I haven’t looked at my new options or opportunities yet. But given the state of the IT industry in Cyprus and a growing deficit of developers, devops and system administrators, I’m sure I’ll find my next adventure soon enough. (If you have any suggestions or recommendations, please do ping me either here or via LinkedIn).

I would like to take this opportunity to say a huge thank to you to everyone I’ve met and worked with while my years in Qobo. I am truly humbled and honored to have had the opportunity to work with you and to learn from you! I’m sure our paths will cross again.

Dear 2018, you won’t be missed!

A year is a significant period of time in human terms. There is plenty of opportunities for good and bad times. But when we look back at it, we usually have an overall feeling of how good or bad the year was.

Most of my years tend to be either good or average. But 2018 was one of the worst ones I can remember. Sure, plenty of good happened too, but an overall stream of stuff that’s not too great, made it into what it was.

Just a few points that made it so:

  • Lost a few family members. I guess this is kind of expected, the older everyone gets. But still.
  • Nearly lost or got separated from more family members (for a variety of reasons, like health conditions, car accidents, government paperwork, etc).
  • Apparently, nearly kicked it myself. Although it didn’t feel like, but the doctor was pretty sure and I don’t have any reasons not to trust his professional opinion.
  • Had to celebrate my 40th birthday sober as a judge. That’s a first one in a quarter of a century, I think.
  • Had to attend the first funeral in ages (my friend’s father passed away).Had one of those “knife in the back” situations. Which was probably more of my own doing or perspective.
  • Had a whole roller coaster of financial surprises. Mostly downstream though.
  • And on and on it goes.

The stuff at work has been crazy. We’ve been delivering more and faster than even before. (Gladly we managed to nearly double the development team starting in the second half of the year.) When I’m thinking about it all, I often get the racing scene from The Fate of the Furious movie playing in my head. With the only exception that our race didn’t start this year. Think of it more like 3 minutes 15 seconds into this clip:

Even towards the last few days of the year, 2018 tried to give me both a flu and a severe toothache. Gladly, I got nearly immune to this year’s treats.

Overall, one of my favorite movies scenes helps to summarize this year. Imagine that the year 2018 is sitting behind the desk here, and that’s me who’s talking from the shoes of Gust Avrakatos:

With all of that, I’m happy to report that I’ve pulled it through. Once again, huge thanks to all my family, friends, and colleagues who helped and supported me in a variety of ways. Additionally, special thanks goes to all bartenders, waiters and waitresses, and alcohol manufacturers, without who this year would be absolutely impossible.

Here’s a huge cheers for a much better 2019! Happy New Year to you and your loved ones. And I’ll see you on the other side. Enjoy!

Vim tweaks and updates


Over the last few weeks, I have significantly changed and updated my Vim configuration.  I’ve been using the editor for decades, and yet I every time I revisit my setup, I am amazed at how far the editor progressed and how wisdom the Vim community shares via themes, plugins, configuration tweaks, etc.

Here are some of the highlights this time around:

  • Switched from Pathogen plugin manager (and Ansible bits) to Vundle.
  • Added vim-devicons plugin and a patched font that supports them.
  • Switched from Syntastic to ALE for faster and better syntax checks.
  • Improved the code completion configuration, tags, and such.
  • Added a whole bunch of plugins for developers.

I am still getting used to some new shortcuts, catching up on the documentation, and trying things out.  But if it’s been a while since you’ve looked at your own Vim configuration, I suggest you do so.  Things are moving and evolving faster than you might think.