Happiness Adjacent

Our life in Sweden started as these kinds of moves do for many people: in the arrivals section of an airport. After flying all night, and having a several-hours layover in Reykjavik, we landed at the Copenhagen Airport, ready to begin our life in Sweden.

It is well known around the world, and often celebrated in Denmark, that Danes consistently rank the happiest people in the world according to the kinds of people who try to measure such things. I find it hard to believe, having spent some time in Denmark and having interacted with many Danes, but the experts seem to agree on this point. If nothing else, the Danes are quite skilled at giving the right answers on the appropriate tests, and tests are how we measure and certify many other things so why not happiness, too?

Raymond was only 7 at the time, but we had done a good job of selling the move to him, and he was prepared for an adventure. He didn't have a good sense of geography, international boundaries, time-zones, or cultural differences, but he knew that this move was a big deal. He was taking it all in. He inspected every object, read every sign, and asked many questions.

Raymond and I were tasked with fetching the bags, while wife and daughter went to explore the facilities. On the wall near the baggage claim, there was a floor-to-ceiling Carlsberg advertisement that referenced the happiest people in the world. Raymond read the sign and asked, "Daddy, what is a Carlsberg?" Having experienced Carlsberg I was able to answer honestly while watching for our bags. I said, "It's shit beer that they make here in Denmark." He walked closer to the sign and inspected it more thoroughly, now several metres away from me on the other side of the stream of people walking toward the exit. After thinking about it for a bit, he yelled across the crowded airport, "Daddy, why are they the happiest people in the world if they make shit beer?"

There were a few seconds of dead silence, followed by dozens of people chuckling. I didn't answer my son's question, in part because I was startled by the situation, but in part because I didn't have an answer. The boy had made a good point.

When most people think of Sweden, they think of Stockholm. For people who have only ever travelled to Sweden, or those who live there and enjoy it, Stockholm is synonymous with Sweden. Much like Toronto is Canada for people who have only travelled there, or enjoy living there. And, much like Torontonians think that Toronto is the centre of the universe, Stockholmers1 often think that Stockholm is the only bit of Sweden that exists. It's only sometimes said out loud, but it shows in their actions, and especially in those of the politicians who work there.

The part of Sweden that we moved to is its southernmost province, Skåne. Skåne was a part of Denmark until 1658, and much of the rest of Sweden pretends it still is. Many of the Skånska people would prefer it that way, as well. Copenhagen considers Malmö its own suburb, and thanks to Öresundsbron, in practice it is.

A few hundred metres from my house is a beach. From that beach, I can clearly see Öresundsbron. Öresundsbron is a marvel of modern engineering that connects the part of Sweden that Sweden doesn't want, to the part of Denmark that still claims it. The happiest people in the world live on the other side of that bridge, and I live next to them. Happiness adjacent.

The move to Sweden has been amazing for me and my family. My kids are getting an excellent education, and they'll get to continue their education for as long as they care to. Thanks to the sensible amount of vacation that I get here, we actually get to do things. Because the working culture is reasonable, and people are respected as important parts of society, it is possible to actually do things that aren't related to your job.

It hasn't all been perfect, of course. The job didn't turn out to be any of the things I thought it would be, and I've had a really hard time figuring out where I fit in. It has been very difficult at times to integrate and learn the customs, and when you make a mistake or social gaffe you often don't know for quite a while, if ever, because people here tend to be quite indirect. To top it off, many things that used to be nearly reflexive routines like reading mail, paying bills, and seeing a doctor, have become chores that are painful and error prone.

But the positives outweigh the negatives dramatically. My life here is wonderful, and my whole family is far better off for the move. All of the issues I've experienced will only get easier, too: I'll figure out where I best fit at my job; I'll learn the customs and expectations; and I'll get better at reading my mail, understanding my bills, and navigating public services.

The future is so much more promising here in every way, too. At work I get to work on Free Software, in a domain that has a lot of interesting use cases. Many of my colleagues are the smartest and most skilled people I've ever worked with, and I've made many great friends at work.

Sweden has excellent education, public services and infrastructure, and the people are generally quite excellent and easy to get along with. I've also been learning that not only will I not have to give up any of the dreams I had before moving here, many of them are even more attainable than they were in Canada.

There are a lot of things to like about my day to day life. I live in a quiet house, on a quiet street, in a quiet neighbourhood. A few hundred metres away is a beautiful beach. If you look at a map, I live on a peninsula next to Denmark, the place where the happiest people in the world live.

For the last year and a half, geographically, I have been very close to the happiest people. On a clear day, I can even see how to get there. And now, mentally, I am very close to the happiest I can be. With a clear mind, I can even see how to get there.

  1. nollåtta is the term used for a Stockholmer, and I'm told the plural is nollåttor, referencing the region prefix for Stockholm phone numbers: 08. It would be like calling a Torontonian "a 416." ↩

Sustainable Scripting

At NSScotland 2015, Amy Worrall gave a talk about how to enable your Mac programs to be scriptable with AppleScript. AppleScript itself, and the APIs around AppleScript haven't changed much in the last twenty years. As a result, Amy was able to give her talk on a vintage PowerBook running some equally ancient version of MacOS1.

A few of us knew ahead of time that she was giving her presentation on this old computer, and we recognized the fonts and resolution differences. For some, there was an indication that something was amiss from the tap-tap-tapping noise of the harddisk head that could be heard across the entire room. Many people weren't aware until she switched to do a live demo.

In order for Amy's talk to work, she needed MacOS to run on her old computer. She also needed Metrowerks CodeWarrior, for the live code examples, and a program to develop and present her slides on. Of course, because software was distributed on physical media in those days, and there weren't foolish laws that prevented you from backing up your own data, she was able to find what she needed (mostly from her own collections, as I recall). All of these things worked just as well as they did when they were released, and the computer was as fast and reliable as it always had been.

Barring physical deterioration of the installation media (which can be backed up to newer, more reliable media), there's no reason why twenty years from now, Amy won't be able to do exactly the same thing on exactly the same computer.

Phoning Home

The same feat will not be possible twenty years from now, with a computer purchased today. A Mac laptop purchased today, will almost definitely require a new disk in fewer than two decades. When the disk is replaced, it will need an operating system. This is where the fun falls apart: current versions of MacOS phone home during installation2. It is unlikely that the server on the "home" end of "phone home" will still exist and work in the same way twenty years from now.

Users of the Mac App Store got an early glimpse of this future a few months ago when Apple let a signing certificate expire. This signing certificate was used in the Mac App Store's DRM (Digital Restrictions Management) when the application (which was legitimately purchased) phoned home to make sure Apple still allowed your computer to use the software you purchased. For the time that this certificate was expired, users who paid for programs on the Mac App Store were unable to use them. Worse still, the error message displayed was cryptic and non-informative:

Application is damaged and can't be opened. Delete Application and download it again from the App Store.3

If the user were to actually follow these instructions, they would have deleted the application they purchased and then found that they were unable to download a "replacement," because the Mac App Store wouldn't install new software at that time. Yes, the Mac App Store came back, but what happens when the phoning-home endpoint doesn't exist anymore? In this future, the computer would refuse to run the existing program, and would not be able to download a new copy.

This major gaffe has been mostly ignored or glossed over by Apple, but it points to a larger problem: the programs that are purchased on your Mac today will only work for as long as the Mac App Store functions exactly as it does today, at best. At worst, your programs only work as long as Apple sees fit that you have working programs (that you've paid for).

This error message will be seen again, in one of several possible circumstances. The most likely is that Apple overhauls the Mac App Store, and the "home" end of the "phone home" scenario simply disappears. I expect this to happen within a "regular" upgrade cycle (say, three to five years)4 of a current MacBook Pro. At a certian point, maintaining the "old" phone-home endpoint isn't worth the hassle for Apple, and they will stop.

The Impermanence of Software

I know that in 2016, it might be hard to imagine a time when the world's richest company doesn't exist anymore5. But many of the most influential companies, and much of the most widely used sofware doesn't exist anymore. Not that many years ago, I used computers from SGI, NeXT, and Sun. None of those companies exist anymore. But the computers work just as well as they ever did: the same is not true of the computer you have today.

We've been moving to a culture of renting. The computer you think you purchased from Apple, is effectively rented because the software will cease to exist some day. The media you buy from Apple, Google, Audible, and others is rented because the ability to play it can (and will) will some day be revoked. Thanks to laws like the DMCA and its related friends, you aren't allowed to make unencumbered backup copies of these things, so you cannot keep forever the media you've purchased.

Perhaps it's harder to see with computers that many of us replace every year or two. But anyone who's been on a farm will have seen equipment that was manufactured by a company that doesn't exist anymore. A tractor that has been purchased can eventually fail to work, or will be unable to be repaired because of the same forces.

This terrible end won't come in one obvious change where we are suddenly unable to do the things we used to. It will come a little bit at a time. Our freedoms, and our abilities to use the things we've purchased will be eroded a little bit at a time. This is inevitable unless we start paying attention to what we're buying, which practices we're supporting, and what we're willing to stand for as users.

I would like to look forward to a future where the things that I like, whose operation I'm happy with, work just as well many years from now as they do today. But I fear those days are behind us. I fear we've already lost, and sustainability is a thing of the past, not just for software but for everything we organize our lives around.

  1. Spoiler alert! ↩

  2. I know that you can use tools to make a complete bootable installer for your Mac, but you have to do that yourself. And the installer still phones home, and again on first boot. There is an entirely separate set of problems associated with the "must plan ahead to not be screwed over" angle. ↩

  3. The error message was a blatant lie. There was actually nothing wrong with the application in this instance: there was a problem with Apple's oversight of the running of this application. ↩

  4. Yes, I know you get a new Mac every year and can't imagine owning such an old machine. But I'm talking about normal people. The people who won't understand why they aren't allowed to use the thing they paid for. And then blame computers for not working, when it's actually DRM and copyright law that don't work. ↩

  5. Twenty years ago it was hard to imagine a time when Microsoft would be irrelevant and following everyone else. ↩

Switching Back

I first discovered and started using Free Software as a child. I was a Debian developer at one point before I was old enough to drive a car. I learned to shave on the #debian IRC channel on Valhall (an IRC network, or server, that pre-dates Freenode and OFTC.) I've been referred to as "one of the kids Debian raised." Of course, I experienced internal conflict about my Free Software ideals from time to time: the industry seemed to be moving in a different direction, it was often impractical to use Free Software. But I have always either been a staunch supporter and advocate of Free Software ideals, or carried a hefty guilt over the abandonment of those ideals. I've always ended up coming back to Debian1.

At one point early in my career, I used an SGI O2, which was (and still is, I think) my favourite hardware. At another, I used a NeXT pizza box, which was my favourite software platform (still is, I think). When using those machines, I held on to my Free Software ideals, but briefly (and with massive feelings of guilt) put them on the back burner to use systems that didn't require so much fiddling and fuckery to get work done. Of course, my work was extremely portable (and continues to be): Emacs, a terminal, various compilers and interpreters, and a sometimes a web browser. I saw commercial Unix as a means to get work done today, and GNU as the escape hatch for when things got really bad. It was convenient.

Commercial Unixes were even kind of a "free software" grey area compared to other options. They were based on mostly open2 standards, and programs were expected to behave in certain ways that encouraged interoperability. In a Unix environment, even if I don't have complete freedom (and source code) for the foo program, I can at least trust it to be simple and powerful and behave in predictable ways.

A Tale of Two Monitors

In the summer of 2005 I went to Parksville, BC to work at a web hosting and advertising company that was adopting Ruby on Rails and needed some help making the move. I was issued a custom-build PC, like everyone else, and installed Debian. Nearly everyone on the development team was running GNU/Linux of some description, and everyone had two monitors. My monitors were back ordered, so I was set up with a spare one to start, and would swap later.

When my two monitors arrived, I wasn't in a huge hurry to set them up. They sat on my office floor for a few weeks before I opened the first of my brand new 21" monitors and plugged it in. I spent the better part of a day before getting pixels pushed to it. Then I spent another two days trying to get the second working. At some point the first one stopped working. It was extremely frustrating, and was getting in the way of my ability to work.

Around this time, many people in the Ruby community were switching to Macs. With the release of OS X Tiger, Apple was basically a commercial Unix vendor at a time when the other commercial Unix vendors were starting to fade away. In the summer of 2005, Apple was providing a real Unix, on nice hardware, with great applications. And Mac users didn't have to fuck with XF86Config to get their new monitors working. It wasn't Free Software, and Apple certainly wasn't a good citizen of the community, but one could at least have a computer that was pretty well guaranteed to work and would operate well with my Free Software.

On the third day of failing to get my new monitors working, I stomped over to the IT support guy's office and asked him to order me a Mac mini. Then I went home while I waited for it to be delivered. For convenience.

The Switch

That's how I became a "switcher." I was the only one in the office at that time, and the only one in my immediate circle of friends to do so. Prior to switching, I had used PowerMac era Macs in public school, and had occasionally managed Macs that were part of a network I was responsible for, but at the time of the switch I had been pretty much exclusively a Unix guy for a decade. With Jordan Hubbard at the helm, I really hoped that I was getting FreeBSD with a modern GUI. I found it encouraging that the BSD folks had been rubbing OS X's heritage in the faces of GNU/Linux users, claiming that FreeBSD had "won" the desktop. I guess that 2005 was, for me, the year of FreeBSD on the desktop.

Switching to the Mac at that point was delightful. I was up and running within an hour of opening the box. I copied my Emacs and Gnus configuration over, and imported my Firefox bookmarks into Safari. The first weekend I had the Mac, I read through some developer documentation and was reminded that OS X was basically NeXTstep: my favourite system to develop software for.

I was hooked. I finally had a real commercial Unix, on excellent hardware, that had a real (and growing!) library of software applications. I started questioning everything I thought about Free Software. Maybe the Free Software people had it all wrong. Maybe our ideals weren't feasible. Maybe Free Software didn't scale. Maybe there was some room for compromise. Maybe this new shiny machine would solve all of my problems. Maybe Apple could be trusted to do what was best for their users after all. Maybe convenience was more important than my ideals.

In the most enjoyable of my Mac-using days, I was using a perfectly married combination of hardware and software. When I was using beautiful, powerful, easy to use software directly from developers who seemed to genuinely care about my computing experience, it was easy to forget all of the reasons why I ever cared about Free Software.

I endured a lot of ridicule from my colleagues for switching back then. But not for idealistic reasons: they didn't care about freedom. They cared about being the "cool nerds" that were smart enough to use "Linux." They thought it somehow made them special to know which magical incantations were required to get a monitor working; they saw the fiddling and fuckery as a rite of passage. In time, however, I proved to be just the first of many. Everyone else on that team ended up ordering Macs when it came time to replace their hardware, too. As soon as it became cool for them to do so.

A Thousand Papercuts

I was "mostly" a Mac user for nearly a decade. I was fairly content with the decision at the best of times, although I was never one of those rabid must-buy-every-new-product crazies, worshiping at the altar of Steve Jobs, professing Apple's infallibility. Apple would often do things that pissed me off. The first time was when they announced the switch to Intel3]. Later, the DRM on the iTunes Music Store. Then the iPhone with no native SDK. Of course the ridiculous restrictions on iOS applications (there was a time when you weren't allowed to publish books about how to make iOS applications.) Every time one of these things happened, I would be overcome with rage, sell my Apple laptop, buy a non-Apple laptop, and install Debian. This would last a few months (or weeks) before I'd throw my hands in the air and get a Mac again. For convenience.

My friends made fun of me for being on this treadmill. The Mac faithful were certain I'd be back. Apple had the functional high ground, after all: everything "just worked." The applications were refined, easy to use, and improved my work-flows. When I installed Debian, something wouldn't work quite right, some work-flow would be terribly unrefined, and I'd wind up back on Apple gear for the same reason I wound up there the first time in 2005: for convenience.

Somewhere in the back of my brain, my Free Software ideals still existed. Those feelings were still strong enough to make me feel guilty about using Macs. I continued using Macs despite Apple's poor treatment of the Free Software communities their business depended on. Despite the proliferation of DRM in Apple's products. Despite my nervousness about throwing money into the eventual black hole that was the walled-garden App Store ecosystem.

My friend Graham talked about his experience of a thousand paper-cuts. I remained a conflicted user of Apple products until Yosemite came out. Apple had finally lost the functional high ground4. Suddenly wifi never worked, bluetooth was sporadic at best, Mail.app lost my mail, notifications were unreliable, and my machine crashed constantly. Up to Yosemite, every release of OS X was worse than the one before it5, but there was still immense value in the convenience of "just works" often being true.

With Yosemite, the advertised features stopped working, on all of my Apple products. "Family Sharing", a feature I waited for impatiently for years, never worked properly (and as I understand it, still doesn't.) It was no longer convenient for me to be a Mac user. The new features never worked, and because they were pushing tight integration between the Mac and the iPhone, it meant that everything broke all at once.

Apple itself is the biggest hindrance to the Apple ecosystem. I don't miss iCloud, iMessage, or the App Store lock-in. I don't care to let Apple be in charge of synchronizing my Music and Photo libraries between all of my devices, I can do that better myself6. I don't even care about Evernote, Dropbox, or any of those other "cloud7 services." But I sure miss the stable of independent app developers who really care about shipping a quality product that their users will love. This is what you're leaving behind when you ditch Apple.

I went for the convenience, I stayed for the functional high ground. Once both were gone, I suddenly remembered that I have ideals and morals that were being violated. I wasn't aware quite how much I was giving up until I looked at the big picture.

Now it's time to take a step back, and look at what computers can actually do for us to improve about our lives. It's time to solve those problems, well, and in a responsible way. It's not enough to be new and shiny.

It's time for the tools to start earning their keep, and providing more than they take away.

I called this post Switching Back. It's a reference to the words used in Apple's "switch" campaign. But this isn't about switching to or from Apple, it's about reclaiming my data, my identity, and my freedom. It's about switching back to the way things were before we were owned by the cloud, which isn't a cloud at all: before we were owned by other people's computers.

  1. I'm about to start moving to OpenBSD, and possibly even work towards building my own platform based on it. I wonder if this is just yet-another temporary diversion from Debian, or if it's my final move away. ↩

  2. For some definition of "open." The standards were at least well understood, and widely implemented if not strictly "open". In those days, at least; Unix is a shit show these days. There are actually programs out there that won't work across even distributions of GNU/Linux, let alone across different Unixes. ↩

  3. They spent 30 years fighting an up-hill battle about the merits of a superior hardware architecture, and then just as the tides were turning in their favour, they gave up. And that they did so on the blatant lie that IBM couldn't keep up with their "demand" (which was paltry) really rubbed me the wrong way. ↩

  4. Marco has since claimed that he regrets posting that article, but only for the attention it got, not for the factual inaccuracy within. ↩

  5. A trend that seems to have continued with Apple breaking a bunch of Unix things in El Capitan. Apparently you're not allowed to have /usr/local anymore (Update: apparently I'm crazy, and this isn't true; I may have been confused by a related bug.) ↩

  6. Apple is so terrible at services that my data might be safer written in pencil on paper and left out in the rain. ↩

  7. There is no cloud, it's just someone else's computer. ↩

Vintage Video-conferencing

As a result of my family's move from the east-coast of Canada, to the west-coast, I wound up in public school in Victoria, BC. The Victoria school board was Mac-centric. At home, I was playing with OS/2, various versions of DOS, and GNU/Linux, but at school all we had were Macs.

In our school, we had a program for video-conferencing called CU-SeeMe. I'm not convinced that actual work or learning was done by students using this software, but it provided video conferencing between schools across Canada. The internet connections were often dial-up, but sometimes ISDN1 if you were lucky. We got excellent sound and often reasonable video over these connections.

It was fairly easy to have a video call with someone in another location. Much like the telephony software I talked about, you would simply punch in the IP address of the person on the other end, and pretty soon you could see their smiling face.

There was a conference call option that required a server component to be installed somewhere that all of the participants would connect to. Our school board had this server software. Teachers from my school in British Columbia had meetings with teachers from other schools all around Canada. The server software was simple, it just took the incoming video and audio and sent it out to other participants of the call.

I'm sure if I found two Macs of the appropriate vintage with the CU-SeeMe software installed, we could have a video call today. The protocols haven't changed, and the software has no third party requirements. Undoubtedly the experience would be much better because the internet connections are so much faster. I'm sure that if I had several Macs of the appropriate vintage, with one running the CU-SeeMe server software, I would be able to have a full-on video conference like it was 1995 all over again.

Today, video calls and conferences are fairly commonplace. We use skype, Hangouts, and various other tools sometimes on a daily basis. Many VOIP services have video conferencing built in.

As with the telephony software, though, there's a lot more complexity involved these days. There are middle-man services that we must route our calls between. Not because it's technically required: CU-SeeMe proved this in when Hammer Pants were still fashionable. The middle-man services aren't required for any of the features users want, they simply exist so that the middle-men can extract money from users.

Of course, this added complexity comes with many problems. In technical circles, we call this kind of problem a single point of failure. By having a required middle-man, what happens when the middle-man experiences a failure? It's experienced by all of the users whose software needlessly depends on the middle-man. Technically, the software would still work, if it weren't built to depend on the middle-man.

This is obvious when Skype's servers experience issues. No calls can be made between anyone running the Skype software. Technically, there's no reason Skype needs to depend on the middle-man, it was built that way deliberately. If Skype, the company, stopped existing tomorrow, the software on both ends would be completely useless2.

Why do Skype, Google, and other providers want to route all of our calls through their centralized services? We, as users, get nothing by routing all of our traffic through someone else's computer3 for most of these services. The software provider may get some benefits from easier distribution if more features are moved to the server. But users only get less reliability, a single point of failure, and all of our calls owned by a third party.

  1. ISDN was, at best, 128kbps. A very slow modern internet connection is over ten times faster than this. Most people in the developed world have access to connections that are hundreds or even thousands of times faster. ↩

  2. Make no mistake, everything you love involving a computer today will cease to exist within your lifetime. ↩

  3. I don't know where the original came from, but I'm quite fond of this quote: "There is no cloud, it's just someone else's computer." ↩

Timeless Telephony

When I was a child, my family moved from the east to the west coast of Canada. After the move, I talked to my cousin on the east coast using some telephony software because in 1994 a long distance call would have damaged my parents' bank account. I don't remember the name of the software we used, but it worked well. When it was started it would display your IP address. My cousin would start the program and give me his IP address via email. I would type in his IP address, the programs would connect, and we would talk using the microphone and speakers. The sound quality was as good as a regular telephone, if not better. We felt like we were living in the future.

I'm pretty sure that if I were to take that software today, and ran it on a computer of that vintage, I would be able to call someone else who was using the same software. There's no reason why the software would not work today just as well as it did back then. The underlying protocols haven't changed1, and aren't likely to in the foreseeable future. The Operating System of the day is still floating around on CD's somewhere. The drivers for the network cards are easily located (often on the same CD as the Operating System). The computers talked directly to each other, there was no service that we had to sign up and pay2 for.

How can I be so sure that this software would be able to run well today? Because there were so few moving parts: the program was designed to talk to another copy of itself over a network. This is something we had known how to do quite well for many years prior to the release of this particular software. Because the program talked to itself, without a third-party broker in the middle, the only dependency was the program on the other end. A call could only be dropped if the program or network connection on one side stopped working. Such a failure would be immediately obvious to the person on the side that stopped working.

In fact, thanks to advances in emulation and virtualization, I'm sure I could run that software on my current computer. If the source code were available, I'd even be able to re-compile it and run it natively.

When comparing this software to a more modern replacement, such as Skype, it's easy to see what the major difference is. The old software didn't make use of a middle-man service. The software middle-man does things like tracking users, storing "profiles", and funneling traffic. Those things are anti-features: we don't want our "profiles" saved, we don't want to be tracked, and we probably don't want our traffic funneled. Time, energy, and money was spent developing "features" that no user ever wanted3.

Most software today, and more importantly the users of it, suffers under the weight of this needless complexity resulting from implementing anti-features. Skype has massive infrastructure, and employs thousands of people, so that they can do things you probably don't want them doing. And charge you for the privilege.

People involved in software and technology love to drone on and on about efficiency, eliminating waste, and making things simpler. Why, then, are we building massive corporations, when small groups of people would provide better products? Why are we building infrastructure, and employing people to re-invent many wheels, when we could be automating, eliminating waste, and simplifying?

Science fiction authors have often talked about the post-scarcity economy. Put simply: an economy where things can be produced so effortlessly that they're extremely cheap or free. By leveraging our skills, and focusing on simplicity, we have the skills to turn technical services into commodities that can be provided so cheaply they might as well be given away. Instead, we're making simple problems needlessly complex, and making people pay dearly for the supposed privilege of letting those things into their lives.

  1. Because thermostats, TVs, toasters, coffee machines, and everything connect to the internet now, we've run out of IP addresses. NAT and firewalls would probably require me to do some configuration, but this is not complicated and easily worked around. ↩

  2. Pay with cash, or information, or your immortal soul. It's all payment. ↩

  3. Someone will point out that Skype's "address book" feature, is invaluable, enabling people to connect to each other without typing in IP addresses. But name resolution is a solved problem, and the solutions are beautifully simple. ↩

On Resolutions

I've never really been a fan of the idea of "New Year's Resolutions." I don't like to confine myself to a specific schedule for improving my life: I think that life improvements should happen often, and continually. An interesting thing happens at the end of the year, though: things slow down. Even when you're a workaholic, things tend to slow down over the holidays. The combination of the slower pace and change in calendar makes it a convenient time to reflect on the last year, and to look forward to the upcoming one.

This time last year I was working too much on a finance start-up that was going nowhere, for abusive and exploitative Americans. And I was living in a place that I had outgrown. Over the holidays, I managed to stop touching computers for a day or two and reflected on what I was doing with my life, and thought about what I wished I was doing with my life. I was horrified at the difference between the two.

I don't think that what I want out of my professional life is much different from most other creative technologists: I want to solve interesting problems, using fun tools, with enjoyable people. My work certainly wasn't providing any of this, and because I was working for finance industry sociopaths I knew I was going to be screwed out of any potential upside anyhow. My focus on trying to save a broken company was preventing me from spending time with my family, putting any effort into my own personal growth, or generally getting enjoyment out of life.

A Realization

When I rested long enough to look at the big picture of my life, I didn't like what I saw. My work was preventing me from having a life outside of work, it was not even vaguely aligned with my values, and I had outgrown the conservative, neo-liberal, Americanized country that I had lived my entire life in. These were the things I would have to focus on to improve my life.

It is difficult to impossible to find work with American (and Canadian, by extension) firms that enable you to work a "typical" 40 hours per week1. And if you want to have an exceptional career (obviously, being rich is the only way to be happy in American culture) then 40 hours isn't even the bare minimum. It was important for my future happiness that I find work that enabled me to have a life outside of my work.

I was also becoming continually annoyed and infuriated by the proliferation of closed, tightly controlled, services that restrict users and steal their data. I didn't want to work on a closed "Software as a Service" platform, the latest darling of the Silicon Valley "get rich while providing little to no value" crowd.

Perhaps most worrying, this time last year Canada was approaching a decade of rule under the tyrant Stephen Harper. The damage he and his friends did to the country, and especially its economy, was just starting to be realized by an observant and radical few. Even now, when the evidence is clear and obvious (but clouded by the decline in oil prices) people still don't realize quite how bad this is likely to be. The newly elected underwear model is a huge improvement, but the damage done by his predecessor is massive, and will require many consecutive terms to undo. With Canada attached to the US, it's unlikely to ever be fixed.

We decided it was time to start thinking about leaving Canada, and see what was out there. At the beginning of 2015 I started looking for a job in Europe. We had a backup plan that didn't involve leaving Canada, and I wasn't very optimistic that I would be able to find a job, and navigate the immigration bureaucracy to make the move. I was very pleasantly surprised at the response to my search. Nearly immediately, I found opportunities in Edinburgh, London, Sweden, Germany, The Netherlands, Denmark, Australia, Russia, and others. We ended up moving to Malmö, Sweden in June of 2015.

First Christmas

This has been our first Christmas in Sweden. The change in work and locality has provided everything we'd hoped it would. Just six months after moving, I'm less stressed, I've lost weight, and I'm noticeably happier. I actually play board games with my family, and we eat dinner together most nights. I'm spending more time with my friends, and we're all learning new things.

I'm still not sure I like "New Year's Resolutions," but it's nice to use the break, and the slower pace to reflect on what I did last year. In 2015, I changed my life dramatically and for the better. I couldn't be happier for the result.

This holiday season, I've been thinking about how I was able to turn my work-life balance around in the last year. And I'm thinking about my health. I don't have any resolutions, so to speak, but I'm sure it at least helps to think about where I am and where I might go over the next year.

Happy New Year!

  1. Technically, 40 hours is supposed to be closer to maximum. At least in Canada. ↩