Hardware Review: Fossil Smartwatch HR

I haven’t reviewed any hardware in quite a few years now, so I thought it would be a good thing to fit in this new “season” of blogs following my pause. It also has some significance for me, because what I’m going to review is an accessory I needed to replace because of the original lockdown. But let’s me start from the beginning.

Why Do I Wear A Smartwatch

You may remember that many years ago, I started wearing a smartwatch, because my employer of the time (Google) gave us employee one for Christmas. My guess at the time is that this watch was quite the flop, being a first generation Android Wear (now WearOS) without a button (and thus making it incompatible with the soon-after new version of the operating system).

I actually got used to the idea of having a smartwatch, particularly to be able to enjoy the company of friends without checking my phone every time a new notification arrived — a quick glance to my wrist would tell me if the notification was important or not, which is really all I needed. It might sound strange, but I found that adding a notification display meant I was paying more attention to what was going on around me.

I didn’t really care much for the step counter functionality (nice, but not something I usually bother with), and it didn’t have heart rate monitoring. While it did have a few touch-screen features, most of the stuff I tried was not going to make or break my day. The “Okay Google” integration would be neat, if my accent was more compatible with the voice recognition, although I guess I did use it a few times as a timer while cooking, including at least once stopping the timer with my nose (because my hands were dirty).

What was clear to me very early on, though, was that the biggest annoyance with the LG Smart Watch was the fact that it was a device built to look and feel vaguely by a watch, but manufactured by a company that hadn’t made watches before (at least, not good ones). The original rubbery strap was making my wrist sweat, and it kept catching on my hair. So I gave in, and a few weeks after using the watch, I went to a jeweler in Dublin to buy a new (leather) strap. Quality wasn’t great but it was definitely a big improvement.

Originally at the office I’d been discussing getting a metal strap instead, one of those closed loops. But beside the practicality of charging the device by sandwiching the charger between the body and the strap, we heard reports from others who attempted it that it would mess with the Bluetooth reception, and thus the battery life.

I eventually bought not one, but two separate straps from Filson, one tan and one black, both leather, in separate occasion: the first time, because the original strap I got in Dublin was falling apart already, and I nearly lost my watch, and the second because I was going to be at a wedding, and the tan watch strap didn’t fit with the gray suit I was going to wear.

Thankfully, the watch used the “standard” 22mm strap size, so it was very easy to change the strap as needed. The first time I actually asked the store to change it for me, but then they also showed me how to do it myself (the Filson straps come with the tool needed to un-do the latches.)

My Second Smartwatch

Eventually, my LG Smart Watch stopped charging. It was due to happen, because people had been reporting bad oxidation on the contacts for weeks by then, but I guess it was aggravated by my stay in Singapore, where it was horribly humid — it was May, during the first SREcon Asia.

At that point, I knew that Fossil, who have been making watches for many, many years, had been selling WearOS smartwatches. I actually had been looking at them in London, together with friends, a few months before, and I knew that they were about to release a new generation that would not have the “flat tire” look into them. I didn’t care about the look — but I cared about the fact that, with the new generation about to be released, the older one would be discounted.

So for lunch break between talks, I organized a lunch with colleagues at a close-by shopping centre, that happened to have a Fossil store, and bought myself a Fossil Smartwatch: Marshall Q Gen 2, this time with a steel metal strap. I really liked the style of it (Fossil being a watch manufacturer who happened to make smartwatches rather than the other way around, made all the difference). And it served me well for just under three years.

Over those three years, I have also rotated the strap — the Fossil Smartwatch Gen 2 also had the same 22mm pitch as the LG one, so from time to time I would replace the steel strap with one of the Filson leather ones – depending on where I was going, with who, and wearing what. Yes it’s the kind of accessory that you end up actually enjoy matching around.

In addition to the already mentioned notification use, I have used the Dexcom watchface back when I tried out the G6, which was interesting, but not exactly my idea of friendliness. I also had a few different apps for payment with QR codes (if I’m not mistaken the only one that was worth its salt was Caffé Nero), and I have used it once or twice to board a Delta flight (I have boarded many Delta flights, don’t ask.) But those have always been more gimmicks than practical options.

Unfortunately, back when the first lockdown started, I made the mistake of leaving my watch to charge on the side of my bed… for weeks. Not sure if it was the lack of charging protection, or overheating, or something else, but it turned out that, at first, I started seeing a black spot in the middle of the display, and eventually, when I actually picked up the watch to wear it, I found that the top display was unseated from its place, and the Lithium battery looked very puffed up. Oops!

So basically, I have not had a smartwatch on my wrist since the beginning of the lockdown. Which was alright when spending all the time at home, but it started being inconvenient as we got our vaccine and started taking the first few tentative steps out of the flat into the scary outside.

A New Smartwatch

Of course my first thought was to go for a new Fossil Gen5E with Wear OS, which added NFC support, and even the ability to get an eSIM to connect it directly to LTE — although the latter is only available with Vodafone at the time I looked, and given they’re reintroducing European roaming fees, I’ve got zero intention to use their services.

But I also noted that Fossil sells not one, but two variants of “hybrid” smartwatches: one of them is pretty much identical to a classical watch, but includes a way to receive signals from your phone that tells it you’ve got notifications or other similar details, which didn’t sound like my cup of tea — the other was a lot more inviting: instead of a touchscreen LCD, the Smartwatch HR comes with a tinted eink screen (to match the colours of the chosen style) behind two “classic” watch hands.

Unlike the non-HR version, the hands are most definitely not mechanical, since they are made to “dance around” when you flick your wrist, and move away when you’re using the eink screen to give you as much visibility as possible. The screen itself includes a “rest position” of four configurable “complications” (although the default is what I kept: current weather, heart rate, step counter, and date), and can be set to display the notifications from your phone.

Basically, given the current times, this is all I need from a watch: time, notifications, weather, and I’ll take step counter and heart rate just for a laugh. Well, no, actually I’m happy about the step counter because of Pokémon Go Adventure Sync, but that’s another story.

In exchange for not having voice commands, touchscreen display, and all those kind of things, what I win is not having to charge my watch every night: the battery is declared to last some twelve days, and I can confirm it lasts more than a week. This is possibly less of an issue now that we’re in lockdown, but knowing that I could go for a weekend with my wife somewhere and not curse myself for not having taken the charger of the watch is actually a much relaxing thought.

The watch itself is also much lighter to keep on the wrist, to be honest. I’m actually wearing it in the house, not just out and about, and I barely notice it. I have not slept wearing it, though it does have sleep tracking, supposedly, but that’s not something I ever did, not with any watch — putting the watch on every morning is part of a ritual for me. I think even getting used to sleep with the wedding band felt awkward at first.

Of all the features, probably the most important for me is the ability to receive notifications, as I said before: it allows me an at-a-glance view of what’s going on, which makes the difference between me ignoring something, or asking the person I’m with for a moment to look at something. I was originally skeptical about the Fossil HR, because some of the reviews insisted that it only supported notifications from a handful of apps — either this is the case for iOS only, or it’s a limitation of an older app version: on my Android phone, I could configure whichever app I wanted to receive notifications from.

The main notifications I need, like most other people, are instant messaging apps — because we’re back in the same situation we were when Trillian was useful, except that we can’t have it. In this, the HR performs very well, I have no problem seeing the full message in notifications from either WhatsApp, Viber, or Telegram. Email also works great, with Fastmail showing the subject and sender with no issue.

Possibly secondary in choice, but admittedly very much important, are the Libre 2 notifications. With the new sensors that Abbott eventually rolled out to the UK, a Bluetooth push is sent to the phone when reaching a defined threshold (low- or high-blood sugar alert — in my case the risk is mostly with lows, so I set it only to buzz me for that one). Receiving the notification on my watch could easily be a lifesaver, as it means I can notice it even when I might be feeling too distracted to take my phone out.

The only downside is that when the text of a notification is changed, the watch will buzz out again. This is great if you have a notification with a counter of things that you need to keep in mind, but not so great for the two hours when your sensor is about to expire or starting up: the app shows a notification with the countdown of minutes remaining in either situation, and that means every minute the watch buzzes. Quite annoying, and I wish I could have a reliable way to shut up those notifications — unfortunately, the Fossil app only allows me to select which apps, and not which notification class (quite understandable there).

Also worth noting one caveat: unlike the Gen2 Marshall Q, leaving the watch to charge does not disable notifications. This is great if you really need it to tell you something important, like a sugar low… less great if your local Pokémon Go group is very active in the early morning and you like to sleep in.

In addition to all of this, the Smartwatch HR includes media controls (haven’t tried them), and some type of fitness routine tracking. This only triggered once by mistake while we were walking back from the local park after playing Pokémon. I m not really a fit person.

What Could Change My Mind

As I said above, right now this watch is pretty much all I need for myself. But that might indeed change in the future — beside not flying at all during the pandemic, I have overall stopped traveling as often as I used to – and in part that’s because I’m no longer longing to escape Dublin at any chance – so features such as boarding passes are not that compelling to me. On the other hand, if vaccination certificates become more acceptable to check at venues, then it might be interesting to have something able to show them straight on my wrist.

Similarly, while NFC-based payments are an interesting novelty, using the phone for those is not particularly cumbersome. But maybe I could see a point if I could scan my Libre sensor with my watch — although that would only work on alternating fortnights as I wouldn’t be able to easily scan a sensor on my left arm with the watch. So probably that wouldn’t be much of an interest to me.

If I did move to Dexcom or similar CGM setups, or if Libre were to provide real-time readings over Bluetooth, and they did support WearOS (which to be honest sounds like they would, Dexcom does already and it would be silly to miss that), it would definitely be more useful to see the graph of the last few hours. So that would definitely be a consideration.

I have over time done a number of things directly from my watch without having to look for the phone, particularly when it came to quickly answer a message or turned on/off a light or similar. While most of these are only feasible with a “full” smartwatch, I don’t think any of those are that much important to me.

While the LTE model did pique my inner geek, I realized I would have pretty much no use for it, except for avoiding taking my phone with me in some circumstances. This would be a much more useful proposal if it wasn’t that my phone is also my main glucometer nowadays, which means it’s always with me and always charged. And also, I play Pokémon Go, so you’d be hard pressed to find me without a phone at hand when I’m out and about — a hundo could just be around the corner!

A Note About Burn Out

Some of you already read my original blog post and reached out after I took a break, so you’re probably not surprised about this, but I thought it would be worth talking explicitly about this, because it’s something that affects not just me, and not just tech folks, but a lot of people overall.

Burning out, is a real thing.

It does not matter how much you like doing something, and how good you are at it, there comes a time that just by continuing to do what you have already been doing, you start getting more tired than ever. For me, while spreading knowledge is one of my favourite things to do (as you may have gathered from the fact that I blog about absolutely everything), it came to the point that juggling being an intern manager (walking the walk), supporting a possible newcomer to the team, coaching one of my teammates, and trying to spread more knowledge in the form of Twitch streams turned out to be, well, too much.

As such, I think it was a good idea for me to take most of August off. I say most, but truthfully it was just a couple of weeks, but that alone was good. One of those weeks was going out of London for the first time since before the pandemic, to “test the waters” and had us visit Southampton, which was quite nice, but also a bit of a disappointment for not managing to see red squirrels in the Isle of Wight.

I think the important part ot point out here is that I’m here for the long run, and I shouldn’t be trying to cram myself, particularly if it risks burning me out. But this needs to accept that the whole “fear of missing out” is real, and it even applies to the fear of missing out not only on events, but on prestige and “ego strokes” too.

As I said before, it’s been a long time since my blog and my open source contributions have been my main outputs. They are still my main public facing outlets, since at work I prefer working on backends of backends – the only ever publicly visible change I made to a Google product was removing references to Google Reader and Yahoo! Pipes from the Fireburner mailing list unsubscribe landing page – but they are no longer what bring me the customers, and thus pay the bills.

If they were, then I know I would be spending a lot more effort, and a lot more money, to get the streaming part down a lot more. Given enough cash flow (or savings), I would be using something like Restream to make sure I would be reaching a wider “live” audience, paying someone to add captions to the recorded streams, probably hire an artist to add graphics and logos and all kind of cool stuff to make it compelling. And it would get is dedicated setup with a “safe” desktop so I don’t risk streaming the wrong information while still feel natural as I use the computer.

There’s more that I could do with the blog, as well. I have been considering a couple of times to figure out how expensive would it be to hire an editor, and have them work with me not only on reducing the rambliness of some of my posts, but especially to set down a “style” of for the blog as a whole. This is something that honestly still tempts me simply because I feel it would teach me so much more about writing, but it also is an unreasonable expense for my amateur self.

Similarly at work, even discounting the whole “people management track” (no, I won’t be a manager any time soon — I can be an intern host every few years, hopefully doing at least a passable job at it, but the whole calibration and career conversations drain my soul to a husk), I’m sometimes envious of the colleagues who are easily recognizable as large-scale architects, or who can single-handedly fix a broken organization from the individual ranks. But for that to happen, you need to sacrifice something — most of the people I know who manage those roles end up working a lot harder and a lot longer than me, while I don’t feel I’m ready to make those sacrifices.

So instead, I think I need to internalize that there’s things that I don’t care to achieve, because they are not what I’m aspiring to for real. I will not be the streamer that teaches a mass of people how to reverse engineer glucometers, bringing in an era of open protocols for medical devices. I will not be the opinion writer that directs the discourse around open sourcing critical infrastructure. I’ll never be any Photographer Of The Year, no matter how many shots I take.

The people I worked with, though, know that they can call on me when they are dealing with a complex system that needs simplification: no matter how haunted a graveyard is, I built a fame of being able to slowly pick away at all the complexity, the organically grown modules that people forgot about, and set the pace for a fresh, ghost-tour friendly system. It’s something that I have a knack for and one I can deliver on, and while it’s not always appreciated, when it is it makes my day. I love when I hear back from former colleagues thanking me for having left breadcrumbs on how to continue a long-term deprecation, or for having written a document explaining a particular issue, or for having left a script that takes care of the most annoying steps in upgrading a codebase to Python 3.

And this has been the case many times before in my FLOSS “career” too. I’ve not been out there publicly speaking about build systems, and I have not involved myself in any of the modern replacements directly. But for many years, people came to me with problems with any build system, because they knew I could dig around the many corner cases to find an answer. I sometimes wish I could still be up to date to do that, but honestly that’s been so long out of my view that I have barely managed to update unpaper.

So how does this relate to burn out? Well, I guess I need to remind myself to set reasonable goals. Not just in terms of being reasonable choices but also in terms of being reasonable to myself. As I said above, there’s a long list of things that I will never become. There’s also a list of things that I have been, but can’t be again: much as I miss the time doing FLOSS for most of my day, that has never got to the point of paying the bills for me, and right now I prefer having the stability than the excitement — and I don’t think I’ll ever hit it big enough to get the pile of money needed to retire at 40 and then spend the rest of my life doing only stuff that pleases me. Not because it’s not an achievable situation (I know a number of people who did manage that), but because the emotional, psychological costs of aiming for that would burn me out.

Instead, I think I’m going to keep doing what I have been doing for the past ten years or so: spend my free time trying to make my world a better place, even if it’s just bit by bit. One glucometer at a time. One random home automation solution at a time. One stream at a time. One squirrel at a time.

And in doing that, I want to make sure I give back to the community, not just in terms of leaving breadcrumbs for the future, but also in terms of supporting the creators and toolmakers that I find the most positive and world-improving. And this starts obviously by supporting more of them on Patreon, but also trying to come up with better ways to spread and share the best content.

And, you know, if you think that I know something or have an opinion you think I can elaborate on, you are the most welcome to reach out to me! Either through comments, email, or even Facebook Messenger!

Burning Out From «Always Be Helpin’»

There is a phrase that I heard more people using than I would have liked, in my life: Always be hustlin’, which is often connected with Uber, though I highly doubt they are the source of it in the first place. I don’t like the phrase nor the spirit it embodies because I met those people. The guys who kept pestering me for years to build their dream site, game, app, always with a catch to make money out of it by hooking people in. For the most part these would be badly thought out clones stealing ideas from one or two successful existing examples, but who am I to go and keep score.

I prefer a variant of it which would be «Always Be Helpin’», inspired in part from Susan Calman’s talk of kindness. The way I tend to express this is: if helping someone does not cause me to lose time, energy, or money, helping them is close to a duty. Unfortunately, turns out this is not as easy as I thought when I expressed it.

I have been applying this particular rule both at work, for which I introspected on the role of senior engineers a couple of times, and in personal time, by trying to keep all of my work “visible”, either as blog posts or as Twitch streams. I’ve been trying to formulate ideas in a way that are more easily understood by newcomers (including my wife who’s been learning Python for the past couple of years and can now follow at least some of my projects), and I even ended up buying stands so that I could more easily stream the hardware implementation of my aircon controller.

But, it turns out, this is leading me to burn out, in both environments, and I seriously need to scale this back.

At work things are actually quite good, but I did sign up to host an intern and, though I’m getting a lot of satisfaction to the experience overall, it reminded me why I don’t want to be a manager. It’s too much pressure for me, and it ends up draining my energy with worry to put someone’s career in my hands. And that is probably the hardest problem in my role: to maintain the expectations of my role, I need to maintain a healthy impact on “people and org” — and that’s something that taxes me more than the technical requirements of the role.

This is something I struggle with. It makes total sense that for a senior engineering role to be having an impact on the work of other people, and I have been doing my best over time to “scale myself up” as they say — but it’s not something that comes natural to me and it takes energy. At the same time, I’m not the perfect code monkey that can live forever off that, so I really need to find a way that works for me without completely burning out.

In personal time, I found myself trying to find time that works to go ahead and work on stuff “on stream” and explain it there so that random viewers can figure out what I’m doing. But that does not really work that well. if I don’t schedule it ahead of time, nobody turns up, but to schedule it ahead of time it means I need to add to the pressure of not being able to do a number of other things I may have to do.

And the “sizeable chunk of uninterrupted time” that the streaming has been using would be the same reserve I would have for relaxing: after work, before or after dinner (depending on how early it ends up being), and not when we’re out with friends. Since now going out with friends is again an option, at least for some friends who are double-jabbed, this means there’s a lot fewer “slots” for me to stream in. I’ve been pretty much forcing myself to find that time, but this is now getting in the way not just of my own relaxation, but also of family and social life.

When I started the streams, it was because I wanted to figure out how to convey information over video calls, since that has become the norm for work related content as well. And I think I did get a bit more practical at that than I used to. But at the same time, I realize that it’s not something that can be done without a significant investment in the right tools for the job.

I ended up getting the microphone and enough mounts that allow me to keep my already owned camera (and lense) in a position that is useful — and I got the light, which admittedly I can use for a number of other things (and I already used twice for completely different purposes). But then again I can see that to get something of a decent enough quality to make sense, you do end up needing preset selection buttons (Streamdeck or the like), and if you want to have a bit more audience, you end up having to pay one of the providers to get you restreaming options (or technically I could do it from home, if I could be bothered with setting up a restreaming server here, Hyperoptic does provide 1Gbps service, but it’ll be even more work for me to do.

And that is without considering the fact that, even though I have now the videos posted on YouTube for the future, I do not have captions on them. And I have personal experience reminding me that this is not the good way to have content up — but it’s also not something I can do myself, so I would have to pay someone to do it… and it’s not a lot of money, but it’s more money than I wanted to invest just to randomly try stuff out and maybe explain something to the wide world.

Money investment is one thing, but time investment is also another. At some point, I have been considering how to make it easier to explain some concepts that need a bit more dynamic point of views. For that i was considering learning Synfig, which looks like a pretty powerful tool to explain. But it turns out this is not the type of tool I want in my toolbelt at the moment: it’s not an obvious tool unless you know enough of the concepts around animations, and while it would be probably be extremely impactful if I was trying to focus on teaching… that’s not my job, not my role, not what I can have most impact with.

So what is that I can have the most impact with right now? I have no idea! For sure, I need to recover from this spell of burnout. It means that I’ll probably not be streaming any of my work for the foreseeable future. And while I have not settled on taking a break from blogging, it might be a bit more sporadic, skipping some of the Tuesdays at least until the internship is finished and a few other things fall into place.

For now, I won’t be waiting for streams to work on the air conditioner anymore, and in particular as I finish this blog post I just assembled one of the new boards, which hopefully will turn into a working air conditioning control board this very week. But hopefully this mean you’ll see more finalized code and designs being posted, soon.

And, honestly, I start to think why the various social networks of likes, subscribe, comment, … are important to creators. It definitely would feel less taxing to me if I knew that the stuff I’m doing is actually helping people rather than shouting into the void and hope someone is actually listening. So, if you enjoyed my streams and/or blog posts on various topics, while I’m on a break, please share your favourite posts or videos with others, comment to state whether you agree or disagree, in general, if you care about the content, show it. Because it just feels so draining to put effort on things people don’t seem to notice.

If You Party, Think of The Non-Drinkers

This post is scheduled to be published the day after that the UK (where I live) is “un-locking” by removing pretty much all of the Covid restrictions. This means that, even more than before, people will want to party. Not that the full unlock was necessary for that, as a number of us who already got both doses of vaccine have been meeting up, following mask and distance protocols, in the past few weeks.

What will likely change is that work outings, parties, and general meetups (tech and not) will begin again, at least until we get to a point where it’s too scary to keep open, and we’ll bounce back into a partial lockdown (yes I’m not particularly optimistic about the whole situation). And with that comes the usual equivalence of tech with beer. And while Kara’s Model View Culture article is still my favourite pointer to give people to make it clear that alcohol preferences are a diversity dimension, I thought I could make a few more explicit points from the point of view of a non-drinker that is otherwise playing at the lowest difficulty setting.

First of all, let’s clarify one thing: I’m not arguing that those who like to drink alcohol at parties should not be allowed to. While I’m uneasy in events where alcohol is flowing too easily, I’m not going to say that my preference should override that of other people. My wife enjoys wine, spirits, and cocktails, and we have fun out together and with friends without problems. It just means that we choose where to go with a little more attention to the menus and the options provided.

The other thing to talk about, before I go into the nitty gritty details, is that there are many different reasons why people don’t drink, and some of the people will be more open than others to discuss them, even when they are the same reasons. I don’t drink for health reasons, but there are people who don’t drink because they don’t like the taste, people who don’t drink because of their religion or philosophy, and there’s also people that may not be drinking for a time being — and that again can be for a multitude of reasons: driving and pregnancy are two of the often listed reasons, but there’s a multitude of other reasons, that can include things as normal as not feeling like it. You don’t get to know why people are not drinking, you shouldn’t insist on asking a group if they are all cool with alcoholic drinks being the only thing on the menu.

Soft Drinks, Softer Drinks, Softish Drinks

By experience, a number of drinkers think that the world of soft drinks is boring and thus as long as some drink is available that doesn’t have alcohol, they think everything is done. This is neither true from the point of view of requirements nor from the point of view of preference. Which usually means that, if you only provide one type of soft drinks, you’re likely to still disappoint some people.

For instance, most of the readers of this blog know that I’m diabetic, so I generally avoid sugary drinks (but can still have one or two a day without too much risk depending on the drink, the sugar, the meals, and the physical activity), but I also avoid drinks with ginger because it tends to over-exert my pancreas, and just makes me feel sick afterwards.

What follows is going to make it sound fairly negative, and complicated, as I’m going to shoot down every single common answer to the soft drinks choices made available to non-drinkers. This is not to make us sound extremely picky, but to illustrate that soft drinks can, and should in my opinion, take more space on a menu than the small corner next to the kids’ options.

Let’s start with a classic: non-alcoholic beer — the common choice for drinkers that need to drive. I’ve actually been suggested that a few times, and while I did use to drink Bavaria-branded non-alcoholic beer, that was when not drinking was a personal choice, rather than a survival matter. But it’s generally not a great idea: beside the fact that a lot of non-drinkers would probably not like the taste, way too many beers are sold out there calling themselves non-alcoholic, but having 0.5% ABV (Alcohol-by-volume) which make them… pretty much the same as normal beer, from many points of view, both philosophical and physiological.

The next, near ubiquitous option is colas – whether brand name like Coca-Cola or Pepsi, store brand, or independent – the vast majority of these frizzy, sugary, and caffeinated. I’m usually okay with these, as long as they are sugar-free, since as most of the readers of this blog know, I’m diabetic. I can have one glass of sugary Coke if my blood sugar level is falling rapidly due to exercise, but I’m unlikely to get a second. But I know a number of people who can’t, or don’t want to, have caffeine. Again, this is both philosophical and physiological: some people are affected more than others, and while I survive on caffeine, other people would have strong negative reactions to it.

To wrap together another point for frizzy drinks: they don’t go well for everyone — whether it’s a problem with gassiness, with teeth, or anything else, it’s always nice to have a flat option of some kind. I mean, would you trust a restaurant that only had gas water, and no tap water option.

Speaking of fizzy things called beer but that are not alcoholic, ginger beer and root beer are not as common here in the UK than they would be in US and Canada, particularly the latter. Unfortunately for me, ginger beer (or ginger ale, or most things with ginger) are not a great idea — it looks like ginger stimulates the pancreas and it makes me feel just ill.

Fruit juices are often a safer option — although again you should be careful with sugars, and there’s a few combination of juices that tend to be unsafe for people. For instance, strawberry allergy is not uncommon — but since it’s usually a nuisance rather than being life-threatening, it’s not usually listed as an allergen, but it definitely wouldn’t be a good time to be had for someone who would get a reaction to it.

Another interesting option are milkshakes and smoothies, which tends to be something different, but also include many of the already noted risks (sugar, allergies), plus they are often dairy based, which means they come with their own limitations, for those who are allergic, or vegan — and despite me not being one, and having heard all of the jokes, this is still an important diversity dimension.

My personal favourite, honestly, is mocktails. The problem with them is that they are not usually around in the same place you organize a “beer party” — and it might sound fancy, but I want to say that for the most part this is my usual fare at hotels, and not just when I’m actually staying in one. They still include some of the issues noted before: sometimes dairy, often sugary, and in certain cases a risk for allergies, but with enough choice, these can be overcomed.

If we do not restrict ourselves to hot, thirsty weather, we should also consider hot drinks such as coffee, tea, and various types of herbal teas. For conferences, these are pretty much the standard fare for non-alcoholic drinks. The latter in particular, since they require making available hot water, and a selection of teabags, or variation thereof. Remember though, that as I said above not everyone will be happy with caffeine, so it’s a good idea to have something that is caffeine free available, even if it’s just camomile tea (which I hate, to be quite clear, but that’s me.)

And to finish the list off with the worst option you can give non-drinkers: spa water. If you think you’re giving plenty of options for non-drinkers by providing multiple “flavours” of spa water (that is, water infused with fruits and vegetables), then please go back to read this whole post from the beginning, and just don’t do it. As a non-drinker who has been told before that four flavours of spa water was a “selection”, I want to say that this adds insult to injury: spa water is pretty much “less fresh water”, as it ends up just sitting in a container, often under lights making it warmer than room temperature. Just don’t count on this as an option.

Again, going through all the various options is not to make non-drinkers appear picky and choosy. It’s to remind you that there is no one magical option that everyone will be happy about. If you intend to have an inclusive event (which I’d consider a requirement, if you’re organizing a work event), then you should consider a selection of non-alcoholic beverage to be available.

Event Organization Is Hard

I’m not good at organizing events myself, which is why I try not to be the one doing it, as my preferred place would be a bookstore, ignoring the chit-chatting and rather exploring books and tastes. Actually, now I think I would suggest that as a possible activity one day — I wonder if it would be possible to book Waterstones Piccadilly for an event, and just have people browsing through and convincing other colleagues to read their favourite books.

So for the most part, events that I have attended have been organized by other people, more often than not by the administrative business partners of the org I was working on. And they were almost always perfect organizers, with… a few exceptions. I want to talk about the exceptions as pitfalls, not to blame the organizers of said events, but to show possible mistakes that I’ve seen happening, and that should really be avoided.

Before going on the problems though, let me give a huge shout out and a hug to the one organizer who tried reversing the stereotype on its head and organize a “dry” holiday party for once, being on the receiving end of complaints, rants, and abuse — folks, if you really can’t imagine spending an evening with your colleagues while all of you are sober at a party, then think for a moment at why would your non-drinking colleagues want to spend time at a party while they are sober and you are not! If you think this is a perfectly reasonable state of affairs, we should have a talk, because it really isn’t.

The first common answer that I got a few times in the past is that alcohol is brought in, but the fridges at the office are stocked up with soft drinks, so “just grab one on your way to the event“. This makes us non-drinker feel less important, because it means that we’re not worth the extra effort to bring something special in, while the rest of the folks are getting something that is indeed not readily available at any moment. It waters down the event for the non-drinkers, and makes us feel unwelcome. But even more so, it makes us not even worth the effort to put our drinks next to the others: we need to bring our own.

If you think I’m being a bit harsh here, let me give some more context: in particular in bigger companies, event organization and catering is contracted out to vendors. Often, those vendors are different from those that stock the fridges in snack areas and similar. To run an event, the organizers are constrained by a budget: any drink (alcoholic and not) ordered from the “event catering vendor” is charged against that budget, but the drinks in the fridge are not accounting against the event, as they are part of the regular budget for the office.

This means that, for an organizer wanting to maximise the booze available, asking the non-drinkers to just pick up drinks from the regular fridges means having more budget available for the drinkers, practically subsidizing the good time for the drinkers. Now, you could argue that it doesn’t matter since it’s company money, but let’s remember that for work events, this is the same type of policy that reminds you not to take bribes or misuse funds — fair is fair, right?

I do have a suggestion for this, which is to make sure that in the catering ordering process (which exists, either as a third-party software, or a set of forms that need to be filled in — every big company would have event organization forms!) there is no space for an order to be made of alcoholic drinks only. That is, ordering 𝑥 servings of alcohol should require ordering 𝑎𝑥 soft drinks — either automatically, or by rejecting the form until corrected.

Speaking of company policies, sometimes they have alcoholic drink rules at work-sponsored events, such as a limit of two drinks per event. Enforcement of these rules is… varying, in my experience. Fairness (again that work) would want that rules would apply to everyone, but I have experienced different approaches from organizers, some of which only paid lip service to the rules by ordering two drinks per invited person (which makes the presence of non-drinkers a useful way to let people breach the rule), though most of the time this is implemented by providing tokens to exchange for drinks.

Drink tokens implementation are also somewhat different. The “best” implementation I can think of was when soft drinks were unlimited, with the tokens being used to get the alcoholic drinks — unfortunately this has limits as well, particularly if the needed amount of soft drinks was underestimated. Plus in one case I found myself being scoffed at by an organizer for not having given my drinks token to them or someone else for extra drinks, since I wouldn’t drink. To balance the scale, let me say that I have more experiences with good organizers that were happy to take the tokens back off me to avoid misuse — kudos to them.

Where things go very wrong is where beers are free (with a token) but soft drinks are not. This only happened to me once — and hopefully won’t ever happen again. It’s more common when the event is hosted in a catered facility such as a restaurant or a bar, since it’s really strange for a in-office event would even allow you to pay for anything.

Another similar situation, that has less of an effect on non-drinkers – except for the part where it creates a two-tier system of which company policies are enforced and which ones are turned a blind eye for – is the situation in which an event is held at a resort or other similar venue, and beers require a token (limited by company policy) but cocktails and spirits can be purchased separately at the venue. Not my problem, but keep an eye for those situations.

Finally, let me say that non-drinkers are not monsters. We understand that different people perceive drinking and having fun differently. I personally wouldn’t go and make character judgement on organizers for falling trap to one of the mistakes I listed here — particularly at their first event, or the first event with a new group. But please own the mistakes, and don’t hide them with lies.

One of the worst interpersonal experiences in my career has been related to the lack of soft drinks at a company event. When I raised the issue, trying to understand if there’s any process failsafe that could be added to avoid this (such as the ordering limits I wrote about earlier), I was told that the order was done correctly, but the caterer “forgot to unload the soft drinks”. Well, it happens, right? The problem was when a month or so later, at the following events, the selection of soft drinks came to be four types of spa water (see above) and a half-tray of smoothies… and this was after an explicit reminder of what happened at the previous event. Difficult to trust the organisers after that.

Drinkers Come From Bars, Everyone Else, Venues

As I said above, I’m not usually in the business of organizing large events. But at least when it comes to my small social circle, I have organized a number of dinners, so I can at least give a few pointers about what may make it smoother to make non-drinkers feel more included in a social event.

The first thing I would suggest anyone looking go organize even a small, inclusive event is to check out what the menu of the venue (restaurant, pub, bar) is, and whether they have a drinks menu with more than three items in the non-alcoholic section. I consider it a red flag is the only mention of soft drinks is in the kids’ menu, because that would just be silly. Do note, though, that particularly pubs and bars tend to not have a browseable drinks menu because most of their alcoholic choice is seasonal — a quick call to the place, or dropping in, would be useful to confirm in those cases.

What I find confuses people quite a bit, is that sometimes medium-sized chains are better at that than both small independent venues and larger chains. This is understandable when you consider the scale of them, but left a number of people confused that I would rather go to a Brewdog pub than to a local — in my experience every Brewdog always had at least a handful of soft drink options in addition to the usual Coca-Cola or Pepsi varieties, while locals tend to be happy with the supply of soft drink kegs they would receive in subscription by their distributor. But at the same time bigger chains (think, McDonalds and Burger King) have also no interest in stocking small-batch independent soft drinks so you’ll end up with the same, boring selection of drinks. If you’re lucky, at least in North America, you may find a Coca-Cola Free Style machine (or the equivalent Pepsi), that at least allows you to get a Coke Zero with lime.

If you go to a “craft pub“, which is very common in UK and Ireland in my experience, you may also need to pay some attention to what is on the food menu. A lot of pubs are very proud of their beer-based sauces and beer-marinated meats — make sure that you don’t end up at a place where the only safe option is french fries, which I have been to before. I personally look for places that serve at least partial halal food, since that requires them to be cooked without alcohol, and are safe for me, but do remember that just because something is okay for one set of people doesn’t mean that it’s okay for everyone else.

Conferences are often organized in hotels, many of which are designed for it, either by being or being attached to a convention center. In my experience, any hotel with a bar, above the “budget level” tend to have a long menu of alcoholic drinks but also a page or two of soft drinks and mocktails. In particular because it doesn’t take that many more ingredients to make a Virgin Mary, if you’re already serving a Bloody Mary. And did you know that the bars in most hotels don’t require you to be staying at the hotel itself to serve you? I used to grab drinks with friends at the St Pancras Renaissance, which was next door to my office — not only it served a great virgin mojito, but it always had a few pages of mocktails available.

The only thing I would ask everyone is to be also mindful of pricing. In the tech field, price sensitivity is often ignored, because a bar bill tends to be “a rounding error” for the most part. But when you hear drinkers complaining about their pint (568 ml) coming over £5, you may be feel less pressed to join them to grab a small Coke (250 ml) for £3. It’s obvious, when you think about it, that particularly for alternative, small-batch and independent soft drinks the costs are higher — but you should keep in mind that if the non-alcoholic options are there, but costs more than the beer, the non-drinkers are unlikely to feel welcome.

To put some context on this last problem — many venues in the UK offer a “two for one” deal on cocktails, either during happy hours, dinner time, or even constantly. But only a few of them extend the same deal to mocktails and other soft drinks. This means that when you look at the menu without the offer in place, the soft drink may not be cheaper than alcohol… but if you factor in the offer, it would be. This is not a great problem for the non-drinkers (after all, it literally just mean the cost is the same for them, offer or not) but the fairness comes back into the consideration, and we would feel more welcome in a place that extends the deal to our soft drinks of choice. To put some names into these issues, Brewdog runs similar 2×1 offers during happy hours, but doesn’t extend them to soft drinks, while Las Iguanas does — and they even have a long list of non-alcoholic drinks and mocktails (huge kudos to them!)

At this point you may have noticed a pattern: with the exception of coffee and tea houses, which for the most part don’t serve alcohol (the only exception I know for sure is Notes that serves great coffee, as well as wine), you end up having to raise the bar (pun not intended) in the venue selection to provide enough options to non-drinkers, at least in the UK. This is unlikely to change, at least until we socialize more the idea that soft drinks can be as interesting, and as varied, as alcoholic ones. Given the amount of ads I keep receiving for “hard lemonade” and similar drinks (so much for ads knowing “too much”), marketed towards a “macho” culture where drinking is the only way to have fun… I don’t expect much.

Personally, what I miss in London is a place as interesting as Dernier Bar Avant La Fin Du Monde in Paris (and now, it seems, Lille): their menu is filled with both alcoholic and non-alcoholic options, that cover pretty much any variation of preference or requirement. By feeling of geekiness, the closest places I know here are The Ludoquist in Croydon and Library Pot in Richmond — but while both of them have a selection of Fentimans Botanic Brews, they end up costing more than the beers!

For the time being, one of the best places – in terms of selection of non-alcoholic Mocktails – is Luna Gin Bar in North London. Not a cheap place, let’s be clear, but it has something different, and the Atomic Cat is quite something.

Options Exists, If You Look For Them

As I said, there’s plenty of options to choose from beside the “usual suspects” (Coke, Pepsi, 7up, Sprite, …) I think this is important to say because, when I previously complained about work events not providing any interesting non-alcoholic drink I was asked to provide examples — so I came up with a list of them, never to be heard of again.

So let’s start with the one I already named: Fentimans Botanic Brews. Fentimans makes and markets a number of different soft drinks including various types of tonic waters, lemonades, colas, and even ginger beer. As noted above, these are often the choice of more indie venues here in London, in my experience. While ordering direct provides a significant choice, bars and cafes only appear to keep a limited selection of them. They also have some surprising combinations, as their Victorian Lemonade appears to have a significant (to me) amount of ginger — unfortunately their store pages don’t list ingredients nor nutritional values.

A similar selection in North America (and, as it turned out for me, in China) is available from Boylan. I had their Cane Cola a few times while visiting Shanghai (but only if my sugars allowed it — they didn’t have the Diet version available) and it tasted great. I haven’t had a chance to taste more of their options, but from their website, it looks extremely interesting. Ordering them in London does not appear to be trivial though, so I guess I’ll have to taste them after the pandemic is really over.

Geeks who have been at hacking conferences in Europe, particularly around CCC, definitely already know Fritz-Kola, the Hamburg-based brand of vastly caffeinated drinks (that feels almost an opposite impression of Boylan, which markets mostly caffeine-free options). I have found that some Brewdog pubs have them available in London, which is awesome — but even more awesome is that you can buy them online in UK through different retailers. Personally I’ve been buying mine from The Belgian Beer Company (referral link), since they also have a selection of beers including my wife’s favourite.

More recently, I found a different, non-fizzy source of caffeine: ChariTea Black, which is sold by the same company also selling Lemonaid — also based in Hamburg, like Fritz! They sell on online in the UK through their own webshop (referral link), although I’ll warn that the packaging feels a bit lacking for shipping long distance. Both ChariTea and Lemonaid taste awesome, at least the ones I can have (no ginger) — and I’m more than happy to risk the delivery disruption to get it directly from the source.

To come back to local brands, Square Root are a London soda company that has a long list of interesting flavours, although I only tried one of them up to now, they are often available at Brewdog, though only one or two flavours at a time it seems. Square Root is interesting for another reason: they use a variation of a “crown cap” for the bottle, which is typical for beers, Coke, and Fritz. Possibly knowing that their audience is unlikely to to have a bottle opener on them, they come with a pull-off ring. Neat!

I haven’t tried Franklin & Sons sodas themselves, though they make the base of mocktails at Luna Gin Bar referenced earlier, and they can’t be that bad. Also even though they were sugary, they weren’t horribly sugary, so that sounds like a good option for me to try again.

There are more, obviously. I was going to talk about the non-alcoholic Senser spirits, but their website is gone, and I guess even the lockdown didn’t help them. They tasted… different, but not something I would be getting again any time soon. And if you go out to randomly look for alcohol-free alternatives to certain drinks, you can find something, but quality is very… variable. That’s why I prefer trying new soda brands at a pub or a bar, it allows me to try something without committing to a huge mistake.

Not-Interested Based Advertising

Full disclosure: I work for a company that is known for IBA (Interest Based Advertising), and that is often criticised for it. I have already expressed my opinion, repeatedly, so I don’t represent the view of anyone but myself.

With the exception of Senser (which appears to have gone away in less than two years), all of the other brands I found by trying the soda at a venue. You would expect that, as a non-drinker, I could actually see a bunch of ads about sodas like these. Clearly I’m the perfect target for them. Instead, I get ads for Brewdog beer subscriptions (because I visit their locations for the soft drinks), and for “hard lemonade” (because they seem to be spending all of the money).

This is a clear example of failure of IBA, and it shows how much less “surveillance” and more “stereotype” this targeting is. But it also may be that the crowd that works on independent soda manufacturing is not interested in using the more “big tech” corporations. Which is fair, but it also makes me fear it hides these options from the “mainstream” of culture. Because whether we like it or not, alcohol is, and makes it very hard to take the spot.

So what we can do instead, is to socialize the idea that non-alcoholic drinks don’t need to be boring. And hoping that organizing events that cater to non-drinkers becomes easier, particularly now that we have a “new normal” in front of us.

If you do have a suggestion for other drinks to try, either available in the UK, or for local venues in other parts of the world that may be offering them, please leave a comment. I’m honestly looking forward to try more alcohol-free options in other countries when we can finally start traveling again.

Service Providers, Business Sustainability, And Society

I’m not sure how many people think consciously about the business plans of the service providers that they start using, or at least relying upon. I don’t do it terribly often, but I do sometimes, and I thought I would share some words on the topic, because I do think that the world would be a better place if we did think about the effect of our choices to the wide world.

I have for instance wondered aloud, over the years, on Twitter and even on this blog, about the fintech company Curve. Their services are actually interesting and valid… but they do not offer any interesting value at a premium — I would never pay for their “Curve Metal” tiers, because it just doesn’t add up. I couldn’t just figure out how they were expecting to keep running, given I expect the majority of their “customers” are consumer end-users that would follow the same procedure I followed: sign-up for the service, using the £5 offer, use it for the 90 days of free cashback, possibly use it a time or two while traveling, and otherwise just keeping it as a backup card. Before the pandemic I also wrote how they were giving out more free money, but more recently they decided to start crowdfunding. And they became very loud when they did. Which is what reminded me I had a half-drafted post on the topic (this post), which I should probably resurrect (which I did, since you’re reading this now).

Before going back to Curve and their crowdfunding, I want to point at two sayings that you’ll keep finding around you, when you discuss businesses, products, Internet, and privacy: «If it sounds too good to be true, it probably is» and «If you are not paying for it, you’re not the customer, you’re the product». These are good places to start a discussion, although I think there is a lot of nuance that is lost when trying to (over) simplify with these.

Full disclosure: I work for a big company that, primarily, offers services to end users free with ads, though the product I personally work on not only does not relate to ads, but does not even have ads in it. And while my previous employer was another big company that is part of the “AdTech” business (and in there I did work on ads systems for a long while), I have discussed ads in the past, and I even ran ads on this blog (back in the days before stable employment), so you can imagine that what I’m going to be writing about is my personal opinion and does not represent that of my current, past, or future employers.

So why do I think it’s important to figure out the sustainability of service providers? Well, because it becomes a problem for the whole of society when a fraudulent or scammy provider gets a certain about of market share, even if sometimes not evenly and not in a way that most people would be able to connect together. For instance you can take the examples of Enron, Bernie Madoff, Theranos, or Wirecard — organizations that promised too-good-to-be-true services and profits, and ended up bust, with different blast radiuses. For the last one we don’t even quite know yet what the blast radius will be once things settle down: the German financial services environment is likely going to be reshaped by last year’s scandal, and so it appears will be EY.

Though this is clearly not limited to financial services (VPN providers seem to be pretty much in the same position), it does look like the likes of Curve and Revolut are easily the most visible cases where a company apparently lacked a sustainable business plan, and decided to turn to a crowdfunding campaign — Curve just had one this past May, and it was so noisy that I know a couple of people who went on to find a way to delete their account (and the app) simply because they got tired of their pushy notifications (not a typo).

Now, that might sound not too bad — after all, crowdfunding for the most part just means someone is willingly going to pay to subsidise other people’s “free money”. But the next thing that Curve did after that was to increase referral bonuses for new users to £20, from the previous £5, and that smells to me even more fishy — because that sounds like trying to bring in a mass of users hoping that enough of them can’t figure out that the premium options of Curve are not worth the money.

On the other side of the tracks, Revolut has been pushing more and more for cryptocurrencies, which I’m not going to even pretend is a neutral thing. I care enough about the environment that their consumption alone makes me angry, but even more so, I find that the amount of scams related to cryptocurrencies at this point are wide enough to show that the whole concept is hostile to society. I do not support nor recommend Revolut to new users unless they live in countries like Ireland where there is no other option – in London, using Revolut feels like subsidizing scammers by lending respectability to cryptocurrencies.

But at this point, neither of those appear to have reached the full consumer scams, so it should be fine, right?

Well, let’s take a different example with the VPN market. I have complained over on Twitter a few times how I blame us geeks for the amount of VPN scams that are out there. Privacy maximalists tend to scare people with the idea that your ISP, the Starbucks, or the airport lounge you’re using can see everything you do — and while it is definitely the case that there’s a lot more data going around than you may think, ads such as those ExpressVPN pays the otherwise excellent No Such Thing As A Fish podcast to air, that suggests that your ISP would be able to tell what you’re Googling are not just falsehoods, but proper FUD.

But even accepting that ExpressVPN has no ulterior motive and are totally legit – I have no idea about that, I only used them before while in China – and leaving aside the fact that VPNs have huge targets painted on their backs, there’s still the matter that you need to trust your VPN provider. Which may or may not be more trustworthy than your home ISP — the two of of them having pretty much the same power. Most of the review websites seem to be talking more about commissions than trust, because the worst part is that there is nothing that allows you to verify their statement that they are not logging your traffic in the same way they keep insisting your ISP is doing.

So how do you trust a VPN provider? Well, for a start you may want to start considering who their founders are and how they get their money. And you’d be surprised how many dots you can connect this way. For instance, last year CNET wrote about Kape Technologies, a company that bought a Romanian VPN service called CyberGhots. In that article, they also noted that in addition to CyberGhost, the same parent company bought two more VPNs:

After buying CyberGhost, Kape then bought VPN ZenMate in 2018 and more recently Private Internet Access, a US-based VPN, in a move which Erlichman said in a press release would allow Kape to “aggressively expand our footprint in North America.”

Now, the problem is less about a single parent company owning multiple VPN services as they were different brands — this happen all the time in many other fields. Just look at the relationship between Tesco Mobile and O2, or banks such as Halifax and Lloyds. But the rest of the article does make for a good build up for why the whole situation is a bit suspect.

But more importantly, you may have heard of Private Internet Access before — they are the company that started heavily sponsoring Freenode a few years ago. And if you have been paying attention to Free Software projects’ communication in the past few months, you probably know by now that Freenode is a trash fire now. So given those connections, would you trust anything that has connections to these organizations and people? I clearly wouldn’t.

This same problem with trust and business sense applies to other businesses. With the exception of B Corporations, most companies out there are intended to make money. If nothing else, they need to make money so that they can pay the wages of the people working there. So I don’t generally trust companies that appear to be giving everything away — and rather prefer those that, if they are making money with ads, say so out right.

In the case of Fintech services — Wise (formerly known as TransferWise) is my example of choice for a company that is transparent when it comes to the cost associated with their services, and makes a good case for why they charge you, and how much so. I really wish more of them did the same because it would make it easier for people to choose how much trust to put in a company. Unfortunately it appears that the current trend in the market is to push as much grown as possible for companies to grab a captive audience before turning on the monetization screw.

Important note: this blog post was written before Wise announced they intend to go public (it was previously rumored, but I didn’t spot that). I guess I should now disclose that I will most likely consider buying some stock of the company, though probably not on the IPO day. We shall see. As I said, I do like their business sense.

Going back to a moment to that «if you’re not paying for it, you’re the product» as well — well, I don’t agree in full, but this is something that people do need to be keyed in to look out for. In particular, I don’t think that ad-supported businesses should disappear, and that everything should be hidden behind a paywall, because I do think that having wider access to information without making it costly is a good thing. But also I do think that there are services that are often crossing the line into being creepily interested in your data rather than “trade it” for useful information.

But I also think the scrutiny is often placed more on the big, established companies rather than the “scrappy” startups, or the more consulting-like companies. Heck, a few of you reading this are probably already ready to complain that both my current and past employers are seen as data hungry — but I can tell you that both companies, at least during my tenure, would never have someone state on a stage that collecting data from IoT sensors and just throwing it to a ML pipeline to gather unexpected insights, as it would go against every one of the privacy and data handling trainings and commitments…

And yet John Roese from Dell EMC stated that in his opening thoughts for LISA 16 (go to minute 44 in the open access video) in what sounds terribly like an advice to startups. To be honest, that’s not the only cringey thing in that opening talk — from a technical point of view, his insisting that persistent memory means you can’t just reboot a computer to reset the state of memory (as if re-loading the data in memory from scratch wouldn’t happen on request, whether this is persistent or not) is probably a worst phrase.

What I’m trying to say is that you need to be sure who your friends are, and it’s not as easy as to expect that all small players are ethical and all big ones are not. And asking yourself “how are they making money, if at all?” is not just allowed — it should sometimes be considered a necessity.

Home Automation: Physical Contact

In the previous post on the matter, I described the setup of lighting solutions that we use in the current apartment, as well as the previous apartment, and my mother’s house. Today I want to get into a little bit more detail of how we manage to use all of these lights without relying solely on our phones, or on the voice controlled assistants.

First of all, yes, we do have both Google Assistant and Alexa at home. I only keep Assistant in the office because it’s easiest to disable the mic on it with the physical switch, but otherwise we like the convenience of asking Alexa for the weather, or let Google read Sarah Millican for us. To make things easier to integrate, we also signed up for Nabu Casa to integrate our Home Assistant automations with them.

While this works fairly decently for most default cases, sometimes you don’t want to talk, for instance because your partner is asleep or dozing off, and you still want to control the lights (or anything else) without talking. The phone (with the Home Assistant app) is a good option, but it is often inconvenient, particularly if you’re going around the flat with pocketless clothes.

As it turns out, one of the good things that smart lights and in general IoT home automation bring to the table, is the ability to add buttons, which usually do not need to be wired into anything, and that can be placed just about anywhere. These buttons also generally support more than one action connected to them (such as tap, double-tap, and hold), which should allow providing multiple controls at a single position more easily. But there are many options for buttons, and they are not generally compatible with each other, and I got myself confused for a long while.

So to save the day, Luke suggested me some time ago to look into Flic smart buttons, which were actually quite the godsend for us, particularly before we had a Home Assistant set up at all. The way these work is that they are Bluetooth LE devices, that can pair with a proprietary Bluetooth LR “hub” (or with your phone). The hub can either connect with a bunch of network services, or work with a variety of local network devices, as well as send arbitrary HTTP requests if you configure it to.

While Flics were our first foray into adding physical control to our home automation, I’m not entirely sure if I would recommend them now. While they are quite flexible at a first glance, they are less than stellar in a more complex environment. For instance, while the Flic Hub can talk directly to LIFX lights on local network (awesome, no Internet dependency), it doesn’t have as much control on the results of that: when we used the four LIFX spots in the previous flat’s office, local control was unusable, as nearly every other click would be missing one spot, making it nearly impossible to synchronise. Thankfully, LIFX is also available as a “Cloud” integration, that could handle the four lights just fine.

The Flic Hub can talk to a Hue Bridge as well, to toggle lights and select scenes, but this is still not as well integrated as an original Hue Smart Button: the latter can be configured to cycle between scenes on multiple taps, while I could only find ways to turn the light on or off, or to select one scene per action with the default Flic interface.

We also wanted to use Flic buttons to control some of the Home Assistant interactions. While buttons on the app are comfortable, and usually Google Assistant can understand when we say “to the bedroom”, there are other times when we could rather use a faster response than the full Google Assistant round-trip. Unfortunately this is an area where Flic leaves a lot to be desired.

First of all, the Flic Hub does not support IPv6 (surprise), which meant I can’t just point it at my Home Assistant hostname, I need to use the internal IPv4 address. Because of that, it also cannot validate the TLS certificate either. Second, Flic does not have an Home Assistant native integration: for both Hue and LIFX, you can configure the Hub against a Cloud account or the local bridge, then configure actions to act on the devices connected to them, but for Home Assistant there is nothing, so the options are limited to setting up manual HTTP requests.

This is where things get fairly annoying. You can either issue a bearer token to login to Home Assistant, in which case you can configure the Flic to execute a script directly, or you can use the webhook trigger to send the action to Home Assistant and handle it there. The former appears to be slightly more reliable in my experience, although I have not figured out if it’s the webhook request not being sent by the hook, or the fact that HA is taking time to execute the automations attached to it; I should spend more time debugging that, but I have not had the time. Using the Bearer Tokens is cumbersome, though. Part of the problem is that the token itself is an extremely long HTTP header, and while you can add custom headers to requests in the Flic app, the length of this header means you can’t copy it, or even remove it. If you need to replace the token you need to forget the integration with the HTTP request and create a new one altogether.

Now on the bright side, Flic has recently announced (by email, but not on their blog) that they launched a Software Development Kit that allows writing custom integrations with the Flic Hub. I have not looked deeply into it, because I have found other solutions that work for me to augment my current redundant Flics, but I would hope that it means we will have a better integration with Home Assistant one day in the future.

To explain what the better alternatives we’re using are, we need to point out the obvious one first: the native Hue smart buttons. As I said in the previous post, I did get them for my mother, so that the lights on the staircase turn on and off the same way as they did before I fixed the wiring. We considered getting them here, but it turns out that those buttons are not cheap. Indeed, the main difference between different buttons we have considered (or tried, or at are using) is to be found in the price. At the time of writing, the Hue buttons go for around £30, Flics for £20, Aqara (Xiaomi) buttons for around £8 and Ikea ones for £6 (allegedly).

So why not using cheaper options? Well, the problem is that all of these (on paper) require different bridges. Hue, Aqara and Ikea are all ZigBee based, but they don’t interoperate. They also have different specs and availability. The Aqara buttons can be easily ordered from AliExpress and they are significantly cheaper than the equivalent from Hue, but they are also bigger, and of a shape just strange enough to make it awkward to place next to the wallplates with the original switches of the apartment, unlike both Flic and Hue. The Ikea ones are the cheapest, but unless you have a chance to pop in their store, it seems like they won’t be shipping in much of a hurry. As I write this blog post, it’s been nearly three weeks that I ordered them and they still have not shipped, with the original estimate for delivery of just over a month — updated before even posting this: Ikea (UK) cancelled my order and the buttons are no longer available online, which meant I also didn’t get the new lights that I was waiting for. Will update if any new model becomes available. In the meantime I checked the instructions and it looks like these buttons only support a single tap action.

This is where things get more interesting thanks to Home Assistant. Electrolama sells a ZigBee stick that is compatible with Home Assistant and that can easily integrate with pretty much any ZigBee device, including the Philips Hue lights and the Aqara buttons. And even the Aqara supports tap, double-tap, and hold in the same fashion as Flic, but with a lot less delay and no lost event (again, in my experience). It turned out that at the end of the day for us the answer is to use cheaper buttons from AliExpress and configure those, rather than dealing with Flic, though at the moment we have not removed the Flics around the apartment at all, and we rather have decided to use them for slightly different purposes, for automation that can take a little bit more time to operate.

Indeed, the latency is the biggest problem of using Flic with Home Assistant right now: even when event is not going lost, it can sometimes take a few seconds before the event is fully processed, and in that time, you probably would have gotten annoyed enough that you would have asked a voice assistant, which sometimes causes the tap to be registered after the voice request, turning the light back off. Whereas, the Aqara button is pretty much instantaneous. I’m not entirely sure what’s going on there, it feels like the bridge is “asleep” and can’t send the request fast enough for Home Assistant to register it.

It is very likely that we would be replacing at least a couple of the Flics we already have set up with the Aqara buttons, when they arrive. They support the same tap/double-tap/hold patterns as the Flic, but are significantly lower latency. Although they are bigger, and they do seem to have very cheap brittle plastic, I nearly made it impossible to change the battery on my first one, because trying to open the compartment with a 20p coin completely flattened the back!

Once you have working triggers with ZigBee buttons, by the way, connecting more controls become definitely easier. I really would consider making a “ZigBee streamerdeck” to select the right inputs on the TV, to be honest. Right now we have one Flic to double-tap to turn on the Portal (useful in case one of our mothers is calling), and another one to select PS4 (tap), Switch (double-tap), or Kodi (hold).

Wiring automation, and selection of specific scenes, is the easiest thing you can do in Home Assistant, so you get a lot of power for a little investment in time, from my point of view. I’m really happy to have finally set it up just the way I want it. Although it’s now time to consider updating the setup to no longer assume that either of us is always at home at any time. You know, with events happening again, and the lockdown end in sight.

Light Nerdery: Evolving Solutions At Homes

Of all topics, I find myself surprised that I can be considered a bit of a lights nerd. Sure, not as much as Technology Connections, but then again, who is nerdier than him on this? The lightbulb moment (see what I’m doing?) was while I was preparing to write the post that is now going to be in the future, and realized that a lot of what I was about to write needed some references about my experiments with early LED lighting, and what do you know? I wrote about it in 2008! And after all, it was a post about new mirror lights that nearly ended up the last post ever of mine, being posted just a few hours before my trip to the ICU for the pancreatitis.

Basically this is going to be a “context post” or “setup post”: it likely won’t have a call to action, but it will go into explaining the details of why I made certain tradeoffs, and maybe, if you’re interested in making similar changes to your home, it can give you a bit of an idea as well.

To set the scene up, let me describe the three locations that I’ll be describing light setups in. The first is my mother’s house in Venice mainland, which is an ’80s built semi-detached on two floors. The second is the flat in London, when my now wife moved in. And the third one is the current flat we moved into together. You may notice a hole in this setup: Dublin. Despite having lived there for longer than in London, I don’t have anything to talk about when it comes to light setup, or even in general about home; looking back, it sounds like I have actually spent my time in Dublin taking it nearly as a temporary hotel room, and spent very little time in “making it mine”.

A House Of Horrible Wiring

In that 2008 post I linked above, I complained how the first LED lights I bought and set up in my bedroom would keep glowing, albeit much dimmed, when turned off. Thanks to the post and discussions had with a number of people with more clue than me at the time, I did eventually find the reason: like in many other places throughout the house, deviators were used to allow turning the light on and off in different places. In the particular case of my bedroom, a switch by the door was paired with another on a cord, to be left by the bed. But instead of interrupting the live of the mains, they were interrupting the neutral which meant that, turning the light “off” still allowed enough current to go through between live and ground that the LEDs would stay on.

This turned out to be a much, much bigger deal than just a simple matter of LED lights staying on. Interrupting the neutral is not up to regulation: you may still have phase and get shocked if touching the inside of the lampholder, even with the switch turned off, but most importantly, it looks like it causes a number of CFLs electronics to be “stressed”, with their lifespan being seriously shortened by that. This was actually something that we have noticed and complained for many years, but never realised it was connected.

Eventually, I fixed the wiring in my bedroom (and removed the deviator I didn’t quite need), but I also found another wiring disaster. The stairwell at my mother’s had two light points, one on the landing, and one on the top of the stairs, and they were controlled together by switches at the top and bottom of the staircase. As expected, these interrupted the neutral, but most importantly, each position was wired into the live of the floor it was closest to, ignoring the separation of the circuits and passing through a phase even when turning the circuit of. And that explained why no bulb ever lasted more than a year for those.

Unfortunately, fixing the deviators there turned out to be pretty much impossible, due to the way the wiring conducts were set down inside the walls. So instead, I had to make do with separating the two lights, which was not great, but was acceptable while I was still living with my mother: I would turn on the light upstairs for her (I was usually upstairs working) and she would not need the light downstairs. But I had to come up with a solution after I prepared to leave.

The first solution to this was adding a PIR (Passive Infra Red) movement sensor at the bottom of the stairs to turn on the light on the landing. That meant that just taking the first step of the stairs would illuminate enough of the staircase that you could make your way up, and then the timer would turn it off. This worked well enough for a while, to the point that even our cat learned to use it (you could observe her taking a step, wait for the light, then run all the way upstairs).

Then, when I was visiting a couple of years back, I noticed that something wasn’t quite working right with the sensor, so I instead ordered a Philips Hue lightbulb, one of those with BLE in addition to ZigBee, so that it wouldn’t require a bridge. At that point my mother could turn the light on and off with her phone, so that the sensor wasn’t needed anymore (and I removed it from the circuit).

This worked much better for her, but she complained earlier this year that she kept forgetting to turn off the light before she would get to bed, and then she’d have to go back to the staircase as her phone couldn’t reach the light otherwise. What would be a minor inconvenience for me and many of the people reading this, for my mother was a major annoyance, as she starts getting old, so I solved it by getting her a Hue Bridge and a couple of Smart Buttons: the bridge alone meant that her phone didn’t need to reach the light (the bridge would be reachable over WiFi), but the buttons restored a semblance of normality about turning the light on and off as she used to before I re-wired the lights.

This is something that Alec from Technology Connections pointed out on Twitter some time ago: smart lights are, at the very least, a way to address bad placement of lights and switches. Indeed, over ten years later, my mother now has normal-acting staircase lights that do not burn out every six months. Thank you, Internet of Things!

While we won’t be visiting my mother any time soon, due to the current pandemic and the fact she has not been called in for the vaccine yet, once we do I’ll also be replacing the lightbulbs in my bedroom. My office there is now mostly storage, sadly but we have been staying in my old bedroom that still has the same lights I wrote about in 2008. A testament to them lasting much longer now that the wiring is right, given that for the most part I don’t remember spending more than a few months without needing to replace a lightbulb somewhere, when I was living there.

The 2008 lights I chose to keep the light to a minimum before going to bed, which I still think is a good idea, but they do make it hard to clean and sort things out. Back then I was toying with the idea of building a controller to turn on only part of the lights, but nowadays the available answer is to just use smart lights and configure them with separate scenes for bedtime and cleantime. And buttons and apps mean that there is no need anymore for having a separate bedside lamp, for the most part.

Sharing A Flat Planned For One

When I moved to London, i went looking for an apartment that, as I suggested to the relocation aide, would be “soulless” — I had heard all of the jokes about real estate agents defining flats falling apart as having “characters” or big design issues considered “the soul of the building”, so I wanted to make clear I was looking mostly for a modern flat, and something that I would be able to just tweak to my own liking.

I also was looking for an apartment that was meant to be mine, with no plan on sharing. Then I met my (now) wife, and that plan needed some adjustments. One of the things that became obvious early on was that the bedroom lights were not really handy. Like pretty much all of the apartments I lived in outside of Italy, that one had GU-10 spotlight holders scattered throughout the ceiling, and a single switch for them by the door. This worked okay for me alone, as I would just turn the light off and then lay on the bed, but it becomes an awkward dance of elbows when you share a fairly cozy mattress.

So early on I decided to get an IKEA Not floorlamp, and a smart light. I settled for the LIFX Mini, because it supported colours (and I thought it would be cool), didn’t need a bridge, and also worked without Internet connection over the local network. The only fault in my plan was to have gotten a Not with two arms at first, which meant we have a few times turned the wrong light off, until I Sugru’d away the main switch on the cable.

I said “at first” there, because we then realised that this type of light is great not only in the bedroom but also in the living room. When watching TV keeping the light on would be annoying (the spots were very bright), but turning it entirely off would be tiring for the eyes. So we got a second Not lamp, and a second LIFX bulb, and reshuffled them a bit so that the two-arms one moved to the living room, as there the additional spotlight is sometimes useful).

This worked very nicely for the most part, to the point that I considered whether my home office could use some of that. This was back in the beforetimes, where the office (i.e. the second bedroom) would mostly be used to play games in the evening, by my wife when not using the laptop, or in the rare times I would be working from home (Google wouldn’t approve). That meant that in many cases having the full light would also be annoying, and in other cases having very dim light would also not work well. In particular, for a while, I was keeping company to my wife while she played by reading, and I would have wanted light on the side of my seat, but not as much on her side.

Since the office only had four spots, we decided to buy four LIFX GU-10 lights. I’m not linking to those because the price seems to have gone off the charts and they now cost more than twice what we paid for them! These are full-fledged LIFX bulbs, with WiFi and the whole colour range. Lovely devices, but also fairly bulky and I’ll get back to that later on.

Overall, this type of selective smart lighting helped significantly with the enjoyment of the flat, by reducing the small annoyances that would be presenting on a regular basis, like navigating the bedroom in the dark, or having the light too bright to watch TV. So we were looking towards replicating that after moving.

No Plan Survives Contact With The New Flat

When we moved to the new flat we knew that a number of things would have had to be changed. For instance, the new office had six rather than four spots, and the rooms layout meant that some of the choice of where to put the lamps would be not as good as we had previously.

Things got even a little more complicated than that: the LIFX GU-10 bulbs are significantly bigger than your average GU-10 spots, so they didn’t actually fit at all in the receptacle that this flat used! That meant that we couldn’t get them in, even if we decided to only keep four out of the six.

It’s in this situation that we decided to bite the bullet and order a Philips Hue Bridge for our flat, together with six White Ambiance spots: these spots are the same size as normal GU-10 spots, and do not have issues with fitting in the receptacle, so they could be used in the new office. While there is a model supporting colour changes as well as white temperature balance, in the office we never really used colour lighting enough to justify the difference in price (though we did and still do rely on the colour temperature selection).

Once you have a bridge, adding more lights becomes cheaper than buying a standalone light, too. So we also added a “reading light” to the bedroom, which is mostly for me to use if I can’t sleep and I don’t want to wake up my wife.

Another thing we would have liked to do was to replace the clicky switch for the ensuite with a soft/smart button. The reason for that was twofold: the first is that it took us months to get used to the placement of the switch in this flat, the second is that the switch is so damn noisy when clicking that it kept waking the other up when one of us went to use the toilet overnight. Unfortunately changing the switch appears not trivial: with our landlord permission we checked the switch connection, and it is not wired with the correct L/N positions or colours, and I could see a phase on three out of the four positions.

Instead, when we could confirm that the switch did not control the extraction fan, we decided to put on three Hue spots in the bathroom, this time not the temperature controlled once, but just the dimmer ones. And at that point, we could keep a single one at 1% overnight, and not need to turn anything on or off when using the restroom during the night: it gets very dim, so you don’t wake up, but you can still see plenty to use the toilet and wash your hands. This by the way was an idea that came to me after watching some of BigClive videos: the very low level light makes for a good light to have overnight to avoid waking youself up.

To explain just how useful this setup ended up being for us, the ensuite has three spots: one is pretty much in the shower box, the other two are by the door and in the middle. Overnight, we only leave the shower spot running at 1%, with the other two being off. If we need more light, for instance to brush our teeth, or for me to get my insulin, we have an “on” scene in which all three spots are at around 30%. When we’re taking a shower, we only turn on the shower spot to 100%. And when we’re cleaning the bathroom, we set all three to 100%. At maximum light, the new bulbs are brighter than the old ones were; in the “on” scene we use, they are much less bright, because we don’t really need that much light on all the time.

We also have ordered more spots, this time from IKEA, that sells an even cheaper model, although with not as good low-light performance. We could do this because I’ve recently replaced the Hue Bridge for a ZigBee stick on our Home Assistant, and I’ll go into more details about that in a future post. At the time I’m writing this the spots have not arrived yet, but we decided that, now that we’re more likely going to be going out again (we both got our first dose of vaccine, and soon to receive the second), it makes sense to have a bit more control of the light on the entrance.

In particular, the way the entrance is currently set up, we turn on six spots all the time in the T-shaped hallway. When coming back during the day, only one spot would be necessary, to take off shoes and put down keys, the rest of the flat is very bright and does not need illumination. And similarly when just going back and forth during the evening, only the two or three spots illuminating the top of the T would be needed, while the ones at the door are just waste. Again smart lights in this case are helpful to shape inflexible wiring.

Conclusion

I wrote before that I get annoyed at those who think IoT is a waste of time. You can find the IoT naming inane, you can find the whole idea of “smart” lights ridiculous, but however you label it, the ability to spread the control of lightbulbs further than the origin wiring intended is a quality of life improvement.

Indeed, in the case of my mother’s house, it’s likely that the way we’ll solve the remaining problems with wiring will be by replacing most switches with smart lights and floorlamps.

And while I have personally some questions about keeping the “off” lightbulbs connected to something, a quick back of the envelope calculation I did some months ago shows that even just the optimisation of being able to automate turning on and off lights based on presence, or the ability to run the light most of the time at lower power, can easily reduce the yearly energy usage considerably (although not quite to the level that buying all new bulbs would save you money, if you already have LED lights).

So once again, and probably not for the last time, I want to tip off my hat to Home Assistant, Electrolama, and all the other FLOSS projects that work with the wishes of people, rather than against them, to empower them to have smart home technologies they can control.

Rose Tinted Glasses: On Old Computers and Programming

The original version of this blog post was going to be significantly harder to digest and it actually was much more of a rant than a blog post. I decided to discard that, and try to focus on the positives, although please believe me when I say that I’m not particularly happy with what I see around me, and sometimes it takes strength not to add to the annoying amount of negativity out there.

In the second year of Coronavirus pandemic, I (and probably a lot more people) have turned to YouTube content more than ever, just to keep myself entertained in lieu of having actual office mates to talk with day in and day out. This meant, among other things, noticing a lot more the retrocomputing trend: a number of channels are either dedicated to talk about both games from the 80s and 90s and computers from the same era, or they seem to at least spend a significant amount of time on those. I’m clearly part of the target audience, having grown up with some of those games and systems, and now being in my 30s with disposable income, but it does make me wonder sometimes about how we are treating the nostalgia.

One of the things that I noted, and that actually does make me sad, is when I see some video insisting that old computers were better, or that people who used them were smarter because many (Commodore 64, Apple II, BBC Micro) only came with a BASIC interpreter, and you were incentivised to learn programming to do pretty much anything with them. I think that this thesis is myopic and lacks not just in empathy, but also in understanding of the world at large. Which is not to say that there couldn’t be good ways to learn from what worked in the past, and make sure the future is better.

A Bit Of Personal History

One of the things that is clearly apparent watching different YouTube channels is that there are chasms between different countries, when it comes to having computers available at an early age, particularly in schools. For instance, it seems like a lot of people in the USA have had access to a PET in elementary or junior high schools. In the UK instead the BBC Micro has been explicitly designed as a learning computer for kids, and clearly the ZX Spectrum became the symbol of an entire generation. I’m not sure how much bias there is in this storytelling — it’s well possible that for most people, all of these computers were not really within reach, and only a few expensive schools would have access to it.

In Italy, I have no idea what the situation was when I was growing up, outside of my own experience. What I can say is that until high school, I haven’t seen a computer in school. I know for sure that my elementary school didn’t have any computer, not just for the students, but also for the teachers and admins, and it was in that school that one of the teachers took my mother aside one day and told her to make me stop playing with computers because «they won’t have a future». In junior high, there definitely were computers for the admins, but no students was given access to anything. Indeed, I knew that one of the laboratories (that we barely ever saw, and really never used) had a Commodore (either 64 or 128) in it. This was the same years that I finally got my own PC at home: a Pentium 133MHz. You can see there is a bit of a difference in generations there.

Indeed, it might sound even strange that I even had a Commodore 64. As far as I know, I was the only one having it in my school: a couple of other kids had a family PC at home (which later I kind of did too), and a number of them had NES or Sega Master Systems, but the Commodore best years were long gone by the time I could read, so how did I end up with one? Well, as it turns out, not as a legacy from anyone older than me, which would be the obvious option.

My parents bought the Commodore 64 around the time I was seven, or at least that’s the best I can date it. It was, to the best of my knowledge, after my grandfather died, as I think he would have talked a bit more sense into my mother. Here’s a thing: my mother has had a quirk for encyclopaedias and other books collection, so when me and my sisters were growing up, the one thing we never missed was access to general knowledge. Whether it was a generalist encyclopedia with volumes dedicated to the world, history, and science, or a “kids’ encyclopedia” that pretty much only covers stuff aimed at preteens, or a science one that goes into details of the state of the art scientific thinking in the 80s.

So when a company selling a new encyclopedia, supposedly compiled and edited locally, called my parents up and offered a deal of 30 volumes, bound in a nice and green cover, and printed in full colour, together with a personal computer, they lapped it up fairly quickly. Well, my mother did mostly, my father was never someone for books, and couldn’t give a toss generally about computers.

Now, to be honest, I have fond memories of that encyclopedia, so it’s very possible that this was indeed one of the best purchases my parents undertook for me. Not only most of it was aimed at elementary-to-junior high ages, including a whole volume on learning grammar rules and two on math, but it also came with some volumes full to the brim of questionable computer knowledge.

In particular, the first one (Volume 16, I still remember the numbers) came with a lot of text describing computers, sometimes in details so silly that I still don’t understand how they put it together: it is here that I first read about core memory, for instance. It also went into long details about videogames of the time, including text and graphical adventures. I really think it would be an interesting read for me nowadays that I understand and know a lot more about computers and games at the time.

The second volume focused instead on programming in BASIC. Which would have been a nice connection to the Commodore 64 if it wasn’t that the described language was not the one used by the Commodore 64 in the first place, and it didn’t really go into details of how to use the hardware, with POKE and PEEK and the like. Instead it tried to describe some support for printers and graphics, that never worked on the computer I actually had. Even when my sister got a (second) computer, it came with GW-BASIC and it was also not compatible.

What the second volume did teach me, though, was something more subtle, which would take me many years to understand fully. And that is that programming is a mean to an end, for most people. The very first example of a program in the book, is a father-daughter exercise in writing a BASIC program to calculate the area of the floor of a room based on triangles and Heron’s Formula. This was a practical application, rather than teaching concepts first, and that may be the reason why I liked learning from that to begin with.

Now let me rant aside for a moment that the last time I wrote something about teaching, I ended up tuning out of some communities because I got tired of hearing someone complain that I cannot possibly have an opinion on teaching materials without having taught in academia. I have a feeling that this type of behaviour is connected with the hatred for academia that a number of us have. Just saying.

You may find it surprising that these random volumes of an encyclopedia my mother brought home when I could barely read would stay this long with me, but the truth is that I pretty much carried them along with me for many years. Indeed, they had two examples in the book that I nearly memorized, that were connected to each other. The first was a program that calculated the distance in days between two dates — explaining how the Gregorian calendar worked, including the rules for leap years around centuries. The second used this information to let you calculate a “biorhythm” that was sold as some ancient greek theory but was clearly just a bunch of “mumbo-jumbo” as Adam Savage would say.

The thing with this biorhythm idea, though, is that it’s relatively straightforward to implement: the way they describe it is that there’s three sinusoidal functions that set up three “characteristics” on different period lengths, so you calculate the “age in days” and apply a simple mathematical formula, et voilà! You have some personalised insight that is worth nothing but some people believe in. I can’t tell for sure if I ever really believed in those, or if I was just playing along like people do with horoscopes. (One day I’ll write my whole rant on why I expect people may find horoscope sign traits to be believable. That day is not today.)

So, having a basis of something to lay along with, I pretty much reimplemented this same idea over, and over, and over again. It became my “go to” hello world example, and with enough time it allowed me to learn a bit more of different systems. For example, when I got my Pentium 133 with Windows 95, and one of the Italian magazines made Visual Basic 5 CCE available, I reimplemented the same for that. When the same magazine eventually included a free license of Borland C++ Builder 1.0, as I was learning C++, I reimplemented it there. When I started moving to Linux more of the time and I wanted to write something, I did that.

I even got someone complaining that my application didn’t match the biorhythm calculated with some other app, and I had to find a diplomatic way to point out that there’s nothing scientific with either of thsoe and why should they even expect two apps to agree with it?

But now I’m digressing. The point I’m making is that I have, over the years, kept the lessons learned from those volumes with me, in different forms, and in different contexts. As I said, it wasn’t until a few years back that I realized that for most people, programming is not an art or a fun thing to do in their spare time, but it’s just a mean to an end. They don’t care how beautiful, free, or well designed a certain tool is, if the tool works. But it also means that knowing how to write some level of software gives empowers. It gives people power to build the tools they don’t have, or to modify what is already there but doesn’t quite work the way they want.

My wife trained as a finance admin, she used to be an office manager, and has some experience with CAFM software (Computer Aided Facilities Management). Most CAFM suites allow extensions in Python or JavaScript, to implement workflows that would otherwise be manual and repeating. This is the original reason she had to learn programming: even in her line of work, it is useful knowledge to have. It also comes with the effect of making it easier to understand spreadsheets and Excel — although I would say that there’s plenty of people who may be great at writing Python and C, but would be horrible Excel wranglers. Excel wrangling is its own set of skills and I submit to those who actually have them.

So Were Old Computers Better?

One of the often repeated lines is that old computers were better because either they were simpler to understand in one’s mind, or because they all provided a programming environment out of the box. Now, this is a particularly contentious point to me, because pretty much every Unix environment always had the same ability of providing a programming environment. But also, I think that the problem here is that there’s what I would call a “bundling of concerns”.

First of all, I definitely think that operating systems should come with programming and automation tools out of the box. But in fact that has (mostly) been the case since the time of Commodore 64 for me personally. On my sister’s computer, MS-DOS came with GW-BASIC first (4.01), and QBasic later (6.22). Windows 98 came with VBScript, and when I first got to Mac OS X it came with some ugly options, but some options nonetheless. The only operating system that didn’t have a programming environment for me was Windows 95, but as I said above, Visual Basic 5 CCE covered that need. It was even better with ActiveDesktop!

Now, as it turns out, even Microsoft appears to work to make it easier to code in Windows, with Visual Studio Code being free, Python being available in the Microsoft Store, and all those trimmings. So it’s hard to argue that there aren’t more opportunities to start programming now than there were in the early ’90s. What might be arguable is that nowadays you do not need to program to use a computer. You can use a computer perfectly fine without ever having learnt a programming language, and you don’t really need to know the difference between firmware and operating system, most of the time. The question becomes, whether you find this good, or bad.

And personally, I find it good. As I said, I find it natural that people are interested in using computers and software to do something, and not just for the experience of using a computer. In the same way I think most people would use a car to go to the places they need to go to, rather than just for the sake of driving a car. And in the same spirit of the car, there are people who enjoy the feeling of driving even when they don’t have a reason to, and there are people who find unnecessary things to be required when it comes to computers and technology.

I wish I found it surprising, but I just find it saddening that so many developers seem to be falling into the trap of thinking that just because they became creative by writing programs (or games, or whatever), the fact that computer users stopped having to learn programming means that they are less creative. John Scalzi clearly writes it better than me: there’s a lot of creativity in modern devices, even those that are attacked for being “passive consumption devices”. And a lot of that is not about programming in the first place.

What I definitely see is a pattern of repeating the behaviour of the generation that came before us, or maybe the one who came before them, I’m not sure. I see a number of parents (but thankfully by no mean all of them), insisting that since they learnt their trade and their programming a certain way, their kids should have the same level of tools available, no more and no less. It saddens me, even sometimes angers me, because it feels so similar to the way my own father kept telling me I was wasting my time inside, and wanted me to go and play soccer as he did in his youth.

This is certainly not only my experience, because I have talked and compared stories with quite a few people over the years, and there’s definitely a huge amount of geeks in particular who have been made fun of by their parents, and left scarred by that. And some of them are going to do the same to their kids, because they think their choice of hobbies is not as good as the ones we had in the good old days.

Listen, I said already in the past that I do not want to have children. Part of it has always been the fear of repeating the behaviour my father had with me. So of course I should not be the one to judge what others who do have kids do. But I do see a tendency from some, to rebuild the environment they grew up in, expecting that their kids would just pick up the same strange combination of geekiness they have.

At the same time I see a number of parents feeding the geekiness in their children with empowerment, giving them tools and where possible a leg up in life. Even this cold childfree heart warms up to see kids being encouraged to learn Scratch, or Minecraft.

What About All The Making, Then?

One of the constant refrains I hear is that older tools and apps were faster and more “creative”. I don’t think I have much in terms of qualifications to evaluate that. But I’m also thinking that for the longest time, creativity tools and apps were only free if you pirated them. This is obviously not to dismiss the importance of FLOSS solutions (otherwise why would I still be writing on the topic?) but the fact that a lot of the FLOSS solutions for creativity appear to have a similar spirit to the computers in the ’80s: build the tools you want to be creative.

I’m absolutely sure that there will be people arguing that you can totally be creative with Gimp and Inkscape. I also heard a lot more professionals laughing in the face of such suggestions, given the lack of important features that tools like that have had in comparison with proprietary software for many years. They are not bad programs per se, but they do find their audience in a niche compared to Photoshop, Illustrator, or Affinity Designer. And it’s not to say that FLOSS tools can’t become that good. I have heard the very same professionals who sneered (and still sneer) at Inkscape, point out how Krita (which has a completely different target audience) is a fascinating tool.

But when we look back at the ’90s, not even many FLOSS users would consider Gimp an useful photo-editing tool. If you didn’t have the money for the creativity, your option was most likely chosen between a pirate copy of Photoshop, or maybe if you’re lucky and an Italian magazine gifted it out, a license for Macromedia xRes 2.0. Or maybe FreeHand. Or Micrografx Windows Draw!.

The thing is, a lot of free-but-limited tools online are actually the first time that a wide range of people have finally been able to be creative. Without having to be “selected” as a friend of Unix systems. Without having to pirate software to be able to afford it, and without having to pony up a significant investment for something that they may not be able to make good use of. So I honestly welcome that, when it comes to creativity.

Again: the fact that someone cannot reason around code, or the way that Inkscape or Blender work, does not mean that they are less creative, or less skilled. If you can’t see how people using other tools are being just as creative, you’re probably missing a lot of points I’m making.

But What About The Bloated Web?

I’ve been arguing for less bloat in… pretty much everything, for the past 17 years on blogs and other venues. I wrote tools to optimize (even micro-optimize in some cases) programs and libraries so that they perform better on tiny systems. I have worked on Gentoo Linux, that pretty much allows you to turn off everything you can possibly turn off so you can build the minimalistic system you can think of. So I really don’t like bloat.

So is the web bloated? Yes, I’d say so. But not all of it is bloat, even when people complain about it. I see people suggesting that UTF-8 is bloat. That dynamic content is bloat. That emojis are bloat. Basically anything they don’t need directly is bloat.

So it’s clearly easy to see how your stereotypical 30-something US-born-and-raised, English-only-speaking “hacker” would think that an unstyled, white-on-black-background (or worse, green-on-black) website in ASCII would be the apotheosis of usable web. But that is definitely not what everyone would find perfect. People who speak languages needing more than ASCII exist, and are out there. Heck, people for whom the actual bloat from UTF-8 (vs UTF-16) is the wasteful optimization for ASCII are probably the majority of the world! People who cannot read on black backround exist, and they are even developers themselves at times (I’m one of them, which is why all my editors and terminals use light backgrounds, I get migraines from black backgrounds and dark themes).

Again, I’m not suggesting that everything is perfect and nothing needs to change. I’m actually suggesting that a lot needs to change, but it is not everything needs to change. So if you decide to tell me that Gmail is bloated and slow and use that as the only comparison to ’90s mail clients, I would point out to you that Gmail has tons of features that are meant for users not to shoot themselves in the feet, as well as being a lot more reliable than Microsoft Outlook Express or Eudora (which I know has lots of loyal followers, but I could never get behind myself), and also that there are alternatives.

Let me beat this dead horse a bit more. Over on Twitter when this topic came up, I was given the example of ICQ vs Microsoft Teams. Now the first thing is, I don’t use Teams. I know that Teams is an Electron app, and I know that most Electron app are annoyingly heavy and use a ton of resources. So, fair, I can live with calling them “bloated”. I can see why they chose this particular route, and disagree with it, but there is another important thing to note here: ICQ in 1998 is barely comparable with a tool like Teams, that is pretty much a corporate beast.

So instead, let’s try to compare something that is a bit more close: Telegram (which is already known I use — rather than talking about anything that I would have a conflict of interest on). How fast is Telegram to launch on my PC? It’s pretty much a single click to start and it takes less than a second on the beast that is my Gamestation. It also takes less than a second on my phone. How much did ICQ take to load? I don’t remember, but quite a lot longer because I remember seeing a splash screen. Which may as well have been timed to stay on the screen for a second or so because the product manager requested that, like it happened at one of my old jobs (true story!)

And in that, would ICQ provide the same features of Telegram? No, not really. First of all, it was just messages. Yes it’s still instant messaging and in that it didn’t really change much, but it didn’t have the whole “send and receive pictures” we have on modern chat applications, you ended up with having to do peer-to-peer transfers and good luck with that. It also had pretty much *no* server-side support for anything, at least when I started using it in 1998: your contact list was entirely client-side, and even the “authorization” to add someone to your friend list was a simple local check. There were plenty of ways to avoid these checks, too. Back in the day, I got in touch with a columnist from the Italian The Games Machine, Claudio Todeschini (who I’m still in touch with, but because life is strange and we met in person in a completely different situation many, many years later); the next time I re-installed my computer, having forgotten to back up ICQ data, I didn’t have him in my contacts anymore, and unsure on whether he would remember me, I actually used a cracked copy of ICQ to re-add him to my contacts.

Again, this was the norm back then. It was a more naive world, where we didn’t worry that much about harassment, we didn’t worry so much about SWATing, and everything was just, well, simpler. But that doesn’t mean it was good. It only meant that if you did worry about harassment, if someone was somehow trying to track you down, if the technician at your ISP was actually tapping your TCP sessions, they would be able to. ICQ was not encrypted for many years after I started using it, not even c2s, let alone e2e like Telegram secret chats (and other chat clients) are.

Someone joked about trying to compare running software on the same machine to see the performance fairly, but that is an absolute non-sequitur. Of course we use a lot more resources in absolute terms, compared to 1998! Back then I still had my Pentium 133MHz, with 48MiB of RAM (I upgraded!), a Creative 3D Blaster Banshee PCI (because no AGP slots, and the computer came with a Cirrus Logic that was notorious for not working well with Voodoo 2), and a Radio card (I really liked radio, ok?). Nowadays, my phone has a magnitude or two more resources, and you can find 8051s just as fast.

Old tech may be fascinating and easier to get into when it comes into learning how it all fits together, but the usable modern tech is meant to take trade offs toward the users more and more. That’s why we have UIs, that’s why we have touch inputs, that’s even why we have voice-controlled assistants, much as a number of tech enthusiasts appear to want to destroy them all.

Again, this feels like a number of people are yelling “Kids these days”, and repeating how “in their days” everything was better. But also, I fear there are a number of people who just don’t appreciate how a lot of the content you see on YouTube, particularly in the PC space of the ’90s and early ’00s, is not representative of what we experienced back then.

Let me shout out to two YouTubers that I find are doing it right: LGR and RetroSpector78. The former is very open to point out when he’s looking at a ludicrous build of some kind, that would never be affordable back in the day; the latter is always talking about what would be appropriate for the vintage and usage of a machine.

Just take all of the videos that use CF2IDE or SCSI2SD to replace “spinning rust” hard drives of yonder. This alone is such a speed boost on loading stuff that most people wouldn’t even imagine. If you were to try to load a program like Microsoft Works on a system that would be perfect for the time except for the storage, you would be experiencing a significant different loading time than it was back in the day.

And, by the way, I do explicitly mean Microsoft Works, not Office because, as Avery pointed out on Twitter, that was optimized for load speed — by starting a ton of processes early on, trading memory usage for startup speed. The reason why I say that is because, short of pirated copies of Office, most people in the ’90s that I know would be able to use at best Works, because it came pre-installed on their system.

So, What?

I like the retrocomputing trend, mostly. I love Foone’s threads, because one of the most important things he does is explain stuff. And I think that, if what you want is to learn how a computer works in detail, it’s definitely easier to do that with a relatively uncomplicated solution first, and build up to more modern systems. But at the same time, I think there is plenty of abstraction that don’t need to be explained if you don’t want to. This is the same reason why I don’t think that using C to teach programming and memory is a great idea: you need to know too much of details that are not actually meant to be understood for newcomers.

I also think that understanding the techniques used in both designing, and writing software for, constrained systems such as the computers we had in the ’80s and ’90s does add to the profession as a whole. Figuring out which trade off was and was not possible at the time is one step, finding and possibly addressing some of the bugs is another. And finally there is the point we’re getting to a lot lately: we can now build replacement components with tools that are open to everyone!

And you know what? I do miss some of the constrained systems, because I have personal nostalgia for them. I did get myself a Commodore 64 a couple of years ago, and I loved the fact that, in 2021, I can get the stuff I could have never afforded (or even didn’t exist) back when I was using it: fast loaders, SD2IEC, a power supply that wouldn’t be useful as a bludgeoning instrument, and a SCART cable to a nice and sharp image, rather than the fuzzy one when using the RF input I had to.

I have been toying with the idea of trying to build some constrained systems myself. I think it’s a nice stretch for something I can do, but with the clear note that it’s mostly art, and not something that is meant to be consumed widely. It’s like Birch Books to me.

And finally, if you only take a single thing away from this post, is that you should always remember that an usable “bloated” option will always win over a slim option that nobody but a small niche of people can use.

Blogging From An Onyx Boox Max Lumi

Some time ago, I found a video from Technology Connections over on YouTube about using eInk tablets for productivity. It’s part one of a number of other videos exploring the usage of electronic ink (or electronic paper) displays in Android tablet, that allow an experience that is a compromise between a fully featured Android tablet, and a Kindle-like device.

This piqued my interest, which is not surprising given that, like Alec, I have been an early adopter of ebooks, suffering through the pain of my Sony PRS-505 before landing on Amazon’s love-hated Kindle. But in addition to the ideas that he showed in the videos, I was also already considering whether to get myself an ePaper drawing tablet to use to take notes and doodle diagrams to share on the blog, although I was considering the reMarkable rather than the Onyx at that point.

The main reason why I was mostly considering rather than going for it, was that it’s not a small investment. As I pointed out in a previous post, despite now having a significant easier access to funds, I’m trying to balance the investment on my personal visibility with having time (and resources) for my wife. Buying a device that is mostly to draw diagrams on is very much overkill, if what you do for a living is not drawing diagrams left and right. And while the idea of being able to doodle on eBooks was singing to my inner geek, I knew that it wouldn’t have been nearly as useful as the Kindle is to me.

Things changed when I got to the point of Alec’s videos in which he points out how he used the device with a bluetooth keyboard to work on his (video) scripts, to avoid tiring his eyes as much with a monitor. That spoke to me, and to my wife, who fell just short of ordering it for me, and instead insisted I get one. Which I did, together with a stand (which I will admit I don’t like). I already had a keyboard (a Microsoft Surface Ergonomic Keyboard that I bought a few years ago in the Microsoft Store in Seattle, and that I think could have been much better, but is still better than your average bluetooth keyboards).

In terms of which device to get I went for the highest end that was available, the Onyx Boox Max Lumi. The reason for that is once again to do with our old friend the compromise: a bigger device is harder to bring around, but I don’t think I’d be blogging on the go that much with this device. If I am going to be doing that, for instance at my mother’s house, if we ever get to see her this year, I would be using my laptop, most likely. As such, getting a bigger screen means having more space to draw diagrams. But in particular the 13″ suggested it would be possible to use it horizontally to write a blog while reading off a different source, although that one doesn’t look like it’s going to be feasible any time soon (give me a moment to get to that).

My original intention was to use this primarily through the WordPress application, because I thought it would be easier to use the block editor in that. Unfortunately, it looks like the WordPress app is not only not suitable for the Onyx Boox but it’s not suitable for many tablets either. The problems with the interface itself can be ignored, for the most part, if you just want to use it to type in blog posts. But because of the background color effect on the block editor, the text in the block editor appears hard to read with the “halo effect” to indicate the contrast.

Thankfully, similarly to what is reported in Technology Connections video, both Firefox (to a point) and the website (to a point) are usable enough to not make this a waste of time and money. Unfortunately, I think there is a long way to go to make this a much better platform for blogging.

The first question to ask, is whether the display is even fast enough for using with a browser, and the answer is a resounding yes. Since the videos, it looks like Onyx has improved significantly the handling of refresh modes, introducing two “faster” refresh rates that come with more ghosting, but allowing a much smoother operation of scrolling. They automatically enable these modes when scrolling, and they even introduced a one-tap “refresh the screen now” mode, that is one of the requests Alec makes in the videos. So either Onyx is taking that feedback directly, or they have otherwise reached the same conclusions.

Despite the screen allowing extremely fast “drawing” (minus ghosting), it looks like applications needed to be designed somewhat explicitly for them to make use of those capabilities. The included note app is a pleasure to draw on. The Italian crosswords magazine La Settimana Enigmistica, on the other hand, is disappointingly slow, not showing the traced writing in real time at all (I’m still not sure why they don’t optimize more for tablets of this kind — I would argue that they could easily sell a branded tablet with EMR pens, and it would maybe not fly off the shelf but definitely sell to a number of hardcore fans; I’d get one for my mother for sure).

As I said, I’m using this with a keyboard, and this is where the next problem is: Android is kind of terrible when it comes to physical keyboards. They work, mostly, but everything is a bit odd around them. So for instance, the default AOSP-based keyboard supports dead keys for grave (`) but not for single and double quotes (‘ and “), and it turns out I rely on those being dead keys a lot — all of my typing would look off without it.

I found a way around this, with a £2 application that allowed me to configure individual dead keys behaviour, but it doesn’t quite solve it for me. The next thing I would be needing is a way to have a compose-like behaviour that would allow me to access em- and en-dashes. I am actually considering two options for that: the first is to create a custom layout, the way the tool I bought allows me to (very complicated and annoying, and reminds me of having to reinvent US International on Mac OS X with Ukelele), the second would be to figure out how hard it is to take the AOSP keyboard and make an US International keyboard with compose behaviour. Of course if anyone is aware of that already existing, I’m happy to take it. Open source would be an advantage (to fix if something doesn’t quite work the way I want it to), but I’m happy to take something closed and paid to avoid having to deal with side-loading if it exists.

But the most annoying problem with the keyboard might not even be a problem of Android itself. It might be a problem of Firefox, or WordPress, or something in the whole unlikely setup: sometimes when I navigate to a different point in the post, and try to edit it, characters are inserted in different places. Often at the end of the post, sometimes the location I had just moved a few seconds before. This is not constant, and it happens no matter whether I use the keyboard to navigate, or I tap on the page. Given I’m using the web version of WordPress, it might be a browser-JavaScript-Uncommon setup problem, but it is aggravating. I have tried Edge, to see if it would make things better, but despite being actually able to give a much better experience, closer to a normal desktop (including the presence of as-you-type spellchecker), its insistence in zooming on the WordPress interface as I want to type on it makes it impossible to use.

As you probably noticed by now, I have not really used this to make diagrams yet. I’m not sure I have anything this very moment that would benefit from me drawing a diagram of things, although I do have a couple of ideas for later. For now I’ve only used it to scribble and try out the Staedler Noris Digital (which I got for crosswords on the Samsung tablet instead). Again, this needs specific support for this type of devices, and so most of the tools around this do not work. Microsoft OneNote is unusable due to latency; Jamboard is a bit better but nowhere close to the original Notes app; and Squid is nearly usable, but again, the internal Notes and Books apps are so much faster.

One thing that is definitely clear from using this device for a week or so, is that for this device class to be a killer, we need applications to optimize for it. It might sound like an empty phrase, given that I do not work on any application that might be involved, but I also think that a number of these different device classes have come up over the years, and sometimes they managed to establish themselves. When I first got an Archos Android TV device, it was nearly one of a kind. It wasn’t easy to use, and it wasn’t particularly powerful. And because it was pretty much based on the Samsung Galaxy design, it ended up going stale pretty quickly after. On the other hand, there are now a number of Android-based TV devices, not last Amazon’s own FireStick. So the class itself didn’t disappear despite the one device being, frankly, a failure.

Similarly, while Samsung was first to market (or at least the loudest to market) with high-precision, pressure sensitive pens with their Galaxy Note series, the same technology is now in use by a number of other manufacturers, including this very device, and supported by a number of different applications. So I do not see why, in 2021, we shouldn’t be expecting more applications to make use of the tools that are available, even if it’s for a small percentage of users for now. So if anyone is aware of any Android application that makes use of the capabilities for fast drawing on this and other devices, even if it’s a paid app, please let me know.

I have just used this device now for about a week as I finish drafting this post. My impression is that it was a good investment for my eyes, particularly as working from home during a pandemic does mean not resting my eyes as much as I used to (no more stepping from the desk to grab a coffee with Luke when something irks me, no more hour-and-change break after going through the Californian email, while commuting to the office). It does mean I’m not actually resting my eyes as much, but it does mean I don’t tire them as hard as I used to.

There is also one more interesting thing here, which is the fact that, for the blog, a vertical monitor makes a lot more sense than a horizontal one! Unfortunately, it looks like it’s still hard to get keyboard covers that allow you to use the monitor vertically, and let’s not even talk about vertical laptops. But the truth is that for a long, rambly document, the vertical space is more important than the horizontal. WordPress’s own editor does not really scale to fill the whole horizontal space when you use it on a normal monitor, but it works like a charm on the “mobile” editor as loaded by Firefox.

There are a few more things that would make the overall experience more “professional”. As I said, if the WordPress app was usable, it would be much easier to type, rather than having to deal with the silly “cursor is in one place, characters appear somewhere else” situation. And if Edge didn’t randomly zoom in the wrong place, it would probably be the best browser to use on this particular devices, including the ability to switch tabs on Ctrl-Tab (with the external keyboard of course).

The other thing this just may be usable for is coding. Not the “full software engineering” type of coding, but if you are working on, say, adding documentation to an extensive codebase, it might be a good thing to have at hand, if nothing else because it’s vastly distraction free, and makes for an easy to read screen. You could say that this is the modern equivalent of using monochrome displays with a Commodore 64 to get the sharper fonts.

At any rate, you can probably expect more blog posts and possibly Twitter questions and rants, over the next few months, as I try my best to keep up with the blogging as the lockdown finally eases, and I can finally go out and enjoy my cameras, too.