I bought the wrong smartwatch

I bought a Fitbit Charge 5 a few months ago. I think it was a mistake.

On paper, it ticks a lot of boxes that are important for me. I want a device that I don’t have to worry about while wearing it. A device that I can wear while exercising and in the shower and at all other places. I want it to track certain things. Most important to me are my heart rate, my steps and my sleep. And I don’t want to worry about how much battery is left all the time.

The battery thing was the main point I chose trackers/smartwatches by in the last few years. That’s why I owned a Fossil HR Collider before the Charge 5. Because it had an e-ink display I had to charge it about once a month.
Battery life is great on the Charge 5 as well. I can go a week or two without charging. Also, sleep tracking is accurate, and they have an API to get your data. That’s all the points I have on my list of positives.

Let’s talk about what I do not like about it.

Syncing to the App

To make use of the data, I have to look at it in the Fitbit App. I can see the data of the current day on the bands display, but that is not useful except for the current step count. For any insights (e.g. on sleep) or long term trends, I have to use the app. To get any data from the band to the App, I have to open the App and initiate a data sync by hand. That’s tedious.

The App

The app itself works fine, but using it feels clunky at times. The interface looks dated. Also, it feels like constant upselling for Fitbit Premium. The band comes with 6 months of Fitbit Premium for free, in theory. You have to buy a year of premium to get your 6 months, though.

No Widgets on iOS

I mean, come on. There is a feature suggestion that is open since 2018. I get that not every app offers widgets, but in this case it would make sense. Increases the feeling that Software is not that important to Fitbit I contrast to hardware sales.

Updating the Firmware

Updates require (or at least it is recommended) the band to be connected to power and the phone has to be nearby. I get that, that’s how other devices do updates. The App told me it might take up to 45 minutes and That feels long. You can argue that it does not happen frequently and you can continue using your phone during the time. But it feels long.

Watch faces

There is a handful of watch faces you can choose from. They all don’t look great.

This all reads bad. It’s not that bad. The device does what I bought it for at a cheap price. Still, these things bother me. To be honest, this whole post was probably just written to justify buying an Apple Watch sometime in the future.

27th Sep, 2022

On children and behavior

I thought about the behavior of children today. Especially the kinds of behaviors in children we might not like. I think it might be all our fault.

I want to say a few things before I go on, because I’m afraid that this might sound wrong if I don’t. It is my strong opinion that it is not a child’s job to be how a parent wants them to be. They do not owe parents a thing for bringing them into this world. I think parents owe their children for bringing them into this world and one of these things it to allow them to be how and who they want to be.

Yet again, there might be certain behaviors that parents don’t like in their children. I can love someone dearly and not like some things they do. It took me a while to realize that.

Back to my point.

Children imitate the people around them. This was a gut feeling I had until a few hours ago that was based on my experience with one child. After reading up on it, I can confirm it is more than a gut feeling.

Over and Carpenter:

One of the most important messages that imitation may convey, however, is “I am like you” or, at a group level, “I am one of you”

Chances are that you as a parent are a person your child spends a lot of time with. This leads me to the idea that, maybe, it might be a good idea to look inwards first if you notice behavior you do not like.

Child screams a lot? How’s the tone in the house?
Child does not want to eat when food is on the table but is hungry half an hour later? How do you eat? Do you take time? Do you yourself eat regularly?

I know that this is
a) hard
b) a naive theory

But maybe give it a try. Here are Over and Carpenter again:

[…] 5-year-olds work to ensure that a model can see their imitation, thus suggesting that their imitation was produced for the model

31st Aug, 2022

Website Redesign Part 1: The start

I'm starting to redesign this website. I like the idea of building in public, and this is a good case for doing so. I've documented progress on other projects before, but I want this to be a series of blog posts, not something tucked away in a project page. There may not be too many interesting things to tell in the process to justify more than a few posts, but at least it will prevent the old "I'm busy with my redesign and do not have time to write" dance from happening.

Why start a redesign?

If you're asking why I started the redesign, here is the story: This morning, at about 5:45am, the cat decided to puke right next to my bed. I woke up and could not get back to sleep. Being the only human awake in the house with nothing to do, it felt right to start a website redesign. This was not an idea I had in my mind at all. I did not think about this in the past days. I thought about various features I wanted to add, but a redesign was never on the table. Yet, it felt like it hat do be done. I opened Figma and started with the home page. By the time the family was awake, I had a first draft that I was happy with.

This might be the first time in human history a website got redesigned because of a puking cat. There's worse stories to tell.

Why I think I did it

But there must be more to the story. This sense of urgency and the excitement I got from the first few hours of working on the new design must have a root somewhere. It's now 10pm and I though about it for the better part of the day and my explanation is as follows:

For the last few weeks, I was obsessed with personal websites, reading blogs and looking at what other people are doing. This priming likely brought "working on website" as a general topic to the front of my mind.

I have been blogging on various platforms and under different domains on and off for the last 13 years. This site grew organically. It started as yet another blog and became my personal website with other things on it. I know have projects on here, a CV, a list of app ideas. I have a lot of other things in mind that I'd like to add to the site. Links or Bookmarks are the one that I planned on adding next. Then there are webmentions and microformats.

There is no reason this would not work with the site as it currently is. When I started building this site, I built is as simple as possible on purpose. I wanted to focus on creating content instead of building the site. I feel this way still. However, because of this, the site felt okay to me at best. The minimalist look has a certain aesthetic to it, but I never felt at home with it. I want that to change.

Feeling the excitement when I redesigned the homepage this morning, when I tweaked it more after work and even looking at it now, I am certain this is the right thing to do. I cannot wait for the page to look how it will look. And I'm happy you're here for the journey, if you want.

Where we stand

Not taking writing this into account, I assume I have spent about 3-4 hours with the redesign up to this point.

I started with adding the content I currently have on my homepage to Figma (cut the text to have a better flow) and adding colours to it.

I wanted to have a page with this photo-colour style for years now, but I could never justify spending money on a photographer, since I do not rely on the site as a portfolio. This morning I realised that my phone could do anything I needed. Placed it in a bookshelf next to the window, pointed a flashlight to the wall to have secondary lighting and used portrait mode. It's not white box quality, but it's good enough for me. That's how I look with less than 5 hours of sleep, if you ever wondered.

The content stayed the same, except for the recent articles and the footer. I did a handful of variants with different colours. Started out with an orange (and a different picture where my arms were cut off on the sides) and landed at the pale rose / orange / neon-green combination.

I will design a few more pages in Figma before starting to code. I tend to get bored of that quickly and want to start building the thing, but I enjoy playing around in Figma and hope that will last a few days. I think I will at least do:

  • Articles List
  • Single Article
  • Project Page
  • CV
  • Content Site

I'm not sure if the notes and article pages should use the same template or if they should differ visually. Will sleep on that.

About the future

With the redesign, I want to change the underlying technology of the site. It currently is built on Jekyll, which worked great and is a lovely project. But I want to learn something new. There is one need I have: I want to be able to use a CMS for managing content on the go. Having to set up the laptop, write something and check it into git feels daunting at times. It makes me not write things I otherwise would have written.

There is a myriad of solutions out there that would fit my needs, but I think I will go with GastbyJS and NetlifyCMS. For one thing, I like writing JavaScript a lot. Secondly, I like the idea of having all my content as markdown files checked into git (as is the case currently) and NetlifyCMS working with that. I heard a lot of good things about CraftCMS as well, but did not look into it. I will do that in the next days, to be sure. Don't think this will be the route to go for me, though.

That's a rough plan, I know. It will get more detailed when we get there.

Building in public

Writing about the progress is a good step, but I want to share actual progress. When the development starts, I will create a new public repository and start deploying from the start. This way, there will always be a latest version of the site to look at.

As for now, the only thing I can offer is the link to the Figma project. Take a look around.

That's it for the first part of the series. Looking forward to this!

26th Jul, 2022

Replacing Social Media with RSS feeds

You know what social media is. You are using it. We both are. Different people use social media in different ways. Some like to post a lot of things and try to get as many likes for what they post. I used to. My contributions never got many likes though. One time, when I was in university, one of my photo posts on Tumblr went viral. I remember what a foreign feeling it was to get a notification every few seconds. Then Tumblr banned nsfw content, drifted into irrelevancy and my life progressed about 8 years without any virality except for covid.

I use social media in a consuming way. I used to read a lot of reddit and watch a lot of TikTok. I read as much of twitter as my anxiety could tolerate. It was not all wasted time, but I assume the amount of meaningful things I got out of the services was 1 out of every 20 bits of content I consumed. This number is not based on any data at all. I will build my entire case on it.

Having a family and a full time job, there is not much time to use social media, because there is always something to do. Water and things that have to be done will find their way. There are three main times when I use social media:

  1. The toilet
  2. When there is nothing to do for 10 minutes for whatever reason. Don't ask, just take it.
  3. Escapism

I have more free time in the evening and on weekends. If there are larger blocks of free time, I use them to do things. Like writing this. But this small list supports my case a lot better.

You cannot improve what you don't measure, Gandhi said. Let's measure: I have sparse free time over the day and 5% of it yield something meaningful. Now let's improve.

I removed all social media apps from my phone (I don't count messaging apps). Where they were, there are now Instapaper and reeder. I subscribed to a lot of RSS feeds, most of them blogs (the terms fediverse and indieweb exist, they might relate, I do not know). When I sit down on the toilet and open reeder, I have more than 100 items unread at most times. I can then choose one based on session length.

Finding new Feeds

The current process works like this: Get attention of an article on new site. There are multiple ways on how to, more below. I save said article to Instapaper. If the general vibe of the site appeals to me from the get go, I subscribe immediately. Eventually, I will read the saved article. If I feel like I want to read more of this, I will subscribe to the site.

Feeds are in one of three states:

  • Freshly subscribed, finding out how often I read the content there
  • Subscribed for a while and liked
  • Subscribed for a while but untouched. Will eventually be deleted

Finding feeds gets easier the more you follow. Blogs tend to link to content on other blogs. Click the link, you found a new blog. In the beginning, I paid more attention to articles friends sent me and subscribed to feeds there. Also, indieblog.page

Objectively, am I a better human being now?

I don't know. But do I read more? Yes. Is the amount of meaningful content I consume on the toilet higher? Definitely. Additionally, this brings back a lot of memories on how the interned was when I was in school, around 2010. This alone is worth it.

Here is a list of blogs that I tend to read frequently:

24th Jun, 2022

On the Ergodox EZ

In September 2021 I bought a keyboard with a weird key arrangement that was split in half for a lot of money. I've been using it almost daily for the last 9 months. Following are some thoughts on the keyboard that are neither complete, nor very structured and should under no circumstances be understood as a full review.

While I will talk critically about some aspects of the board, please keep in mind that I think that this is a really good keybard and I like it a lot.

The hardware & build quality

The Ergodox EZ on my messy desk

All in all, the Ergodox EZ is built really well. It's almost completely made of plastic, but it does not feel cheap at all. I did not modify it at all, so even though I have a version with tactile switches, the case makes it a rather loud keyboard. It does not sound nearly as good as my Niu Mini with an aluminium case and loubed Kailh Burnt Orange switches, but I can live with that. The stock keycaps feel good and have a nice profile.
That said, there are a few things that I do not like as much about the board.

The feet from the tilt/tent kit are hard to get in the right spot. With the tenting kit, the keyboard has three feet attached to it that can be adjusted in small steps to give the keyboard an angle. I like using it at an angle, it actually feels weird to use it when it's just lying flat on the table.
However, the process is not as easy as it sounds:
First, you have to find positions on all three feet of one half of the board that will make it stable while typing. Then you have to duplicate that exact setting to the other half, or it feels weird after some time. Often, I'm sure that I have the exact same orientation on both halfes, but on of them wiggles. Also, sometimes I fixate one of the feet on a position, but as soon as pressure is applied to it, it moves on step further, causing a wiggle.

The stock wrist rests are not my favourite. I don't know what exactly they are made of, but it feels like some kind of hard rubber. While they are at a nice sweetspot between wood and cloth, the material tends to get filthy after a short while and starts collecting all kinds of dust and hair from my desk.

The layout

There are objective arguments to be made on ortholinear layouts, split keyboards and also orhtolinear split keyboards. I don't want to go into those in the post, so I'll just stick with my personal experience. I type better (i.e. more accurate) on an ortholinear layout. I just don't seem to mess up keys as much. My arms and shoulders feel better with a split board. Natuarlly, the Ergodox layout is very comfortable to me. It took me a weekend to get functional with the layout and about two weeks to get back to my regular typing speed.

Typing speed from when I first used the Ergodox EZ

What I like about the Ergodox layout in specific is the thumb cluster. The position feels like a very natuarl place for my thumbs to rest. This goes for the first two big keys, at least. For everything else on there, I have to stretch my hands so far that I have to lift them from the home row. As my layouts evolved, those buttons get assinged less and less.

There are also three keys to the inner side of each half that are okay to reach for the most part. When starting out, I set some core keys (esc for example) on those. Since I try to make use of less keys and more layers currently, I have some utility functions on those. On the left side, the two big keys are copy and paste, which is comfotable when selecting something with the mouse.
For what it's worth, I think the moonlander has the superior layout and removes a lot of the pain points I currently have.

Software

The software is just great, period. ZSA encourages you to use Oryx for managing your layouts, which is basically a web UI for qmk, and a good one. It makes configuring and adapting layouts easy and keeps a list of revisions of a layout for. Up until this point, I've adapted my layout 15 time to arrive at my current layout.

The Oryx web UI

For flashing the firmware onto the board, you just download wally, choose the file and press a button on the board. It's actually so easy and fast to do that I changed my layout today in the middle of writing a commit message without leaving insert mode.

I think having this great software is one of the main reasons that make the board so worthwile. Switching to it means a lot of changes for the most people. First, you have the split layout. If you're not typing with a clean 10 finger system already, this probably means you will hit the air a lot. Then you have the thumb cluster and in general alternate layout, which makes you think a lot about where a certain key is. And then you have the ortholinear layout, which will likely cause you to hit the wrong keys a lot in the beginning.
So not having to worry about customizing the layout and making it easy to flash the board removes a hughe potential pain point from the process of getting used to it. Most of the times, I just have my layout in a pinned tab so I can reference and change it quickly.

Misc

  • Getting one in Europe is possible, but it takes a while to arrive and you have to deal with taxes and customs. I don't know about you, but I don't like dealing with taxes and customs. That's why I took the easy route and set up an alert on Germanys equivalent of Craigslist for people selling the Ergodox. I got lucky one evening and ordered one for 275€.
    From others around the internet, I read that customs and taxes will be about 60€ to 90€, so the total price might settle somewhere around 400€.
  • I do not have any problems using other keyboard layouts. I do prefer a ortho split layout, but switching to my MacBook keyboard is seamless.
  • If I were to get an Ergodox again now, I would choose the shine version (with LEDs on the back of the board instead of under the switches) over the the glow.
  • In the future, I plan to swap out the switches to something fancy and do some mods to the board to make it thocc. This should be easy, since it has hotswap sockets.
  • I'm thinking a lot about making my layout a little smarter currently. Probably not down to 36 keys, but I defenitely feel like I don't want to use all keys on the board.
9th Jun, 2022

Updates on this site

I used the day to make some updates to the site that I wanted to do for a while now.

No more webfonts

I removed all webfonts from the site. It now uses Trebuchet MS for almost all texts (except for code lines, which are set in Courier New).

I thought about this for a while now. Currently, I try to simplify my life in a lot of areas, both digital and analog. Having no webfonts on this site sounded like a good idea in terms of simplicity. I still have this thought in the back of my head though, that a website with a good design has to be fancy. But I think you can also look at design this way: Good design provides the best outcome based on the restrictions it has. So for this site, the restriction is no webfonts. And for that, I think the design works well.

This also has the nice effect that I now have a score of 100 on Pagespeed insights.

So, except for utteranc.es that I installed as a test, this site uses no external resources.
Well, that's not the whole truth.

A thousands words is a lot of words

I (finally) set up a system to use images in here. I'm using an S3 Bucket for storage with a CloudFront distribution on top. I'm curious how much I'll have to pay up at the end of the month. Also, I still do not like the experience of the AWS console.

6th Jun, 2022

Getting into Rust

Got into the Rust programming language over the last few weeks. Since I mostly work with dynamic typed languages, it's a steep learning curve to get into a static typed language again. I enjoy it a lot though, always liked working with typescript in the past.
Started with reading the The Rust Programming Language which was pretty theoratical. Did not make it all the way through as I wanted to have something more hands on. Will probably consult it from time to time in the future when I stumble across things I don't understand.

For now, started with https://bfnightly.bracketproductions.com/ which is a lot more practical. Also peaked into game dev a few times over the past year, so this is something that really interests me. Repo

11th Feb, 2022

Kill your darlings

Some time ago, William Faulkner said that "In writing, you must kill your darlings". You can make of the quote what you want, but I interpret it like this: There are times, in writing, when you have to kill a passage (or a character) you love, if it does not help to develop the story. Removing parts, even if you've grown attached to them, will make a better end product in that case.
I think the same is true for the development of a software project.

Earlier this week, I had to implement a new feature in one of our projects: For some entities, there should be a map displayed, showing where the entity is located1. My solution was to get the physical address of these entities from an external API, parsing them to geo coordinates and saving them to the database so we would be able to center the map on the correct point. It involved a service object that used dependency injection, a task to update existing locations, a modification to our current API calls and a good amount of new tests to keep the coverage up. I think it was a solid pice of software and to be honest, I was a little proud of it.

All of this decision making happened when the rest of the project team was on holiday. When they came back, I opened a Pull Request and waited for their feedback to come in. While the code seemed to be okay, in the midst of the review, the question every developer hates to hear came up: "Why do we need all of this, though?"
So we started discussing my solution and in the process it became obvious that, indeed, we did not need large parts of what I had written. There was a much simpler approach to the problem (that I had not seen on my own). It provided a better experience for the end user, was a closer fit for the customers needs and the code for it was a lot less complex.

I could have started arguing - and to be honest, I was tempted - so that the code I had written would go to production2. I liked what I had done after all and I had put a considerable amount of work into it up to this point. Going back to the problem would mean to to spend more time on the development of this feature, in addition to deleting huge parts of my work.
But trying to hold on to my solution because of my ego would have been wrong: The new solution was better for all stakeholders, so it would improve the whole product in comparison to my approach.

There I was: I had to kill my darling. And I did so, because I knew it was the right thing. It did not feel good. At all. But after implementing the new solution, after seeing the simpler code, after using the feature myself and after showing it to the customer, it's clear that it was the right call. I'm glad I did it.

I think this is an important lesson. You should never take your work personal and get attached to it on an emotional level, as it is hard to stay objective in that situation. Always allow the mere existence of it to be questioned.
If you think it is the objectively better solution, argue for it, hell, fight for it. But always ask yourself if you just like it because it is something you crafted. And if that is the case, be ready to let it go.

Footnotes

  1. I'm Sorry if I'm not really concrete here, but I haven't asked for permission to write about the project, so this what we'll have to work with.

  2. I'm sure that my team would not have let this happen. They're great and I'm positive they would have called me out on that.

8th Sep, 2019

On using Feature Flags

Imagine working on on a redesign inside an existing product. Maybe it's just a small feature that needs an overhaul, or maybe it's a complete redesign of something that may takes months to finish.
Knee deep into it, with many changes done and halfway through it, you and your team notice that gnarly bug in production that is costing the product lots of money. It needs to be fixed as soon as possible.
This is where things get tricky. It's not an unsolvable problem, but chances are that the are rollbacks involved or the bug fix cannot be tested on your staging environment because the half-finished redesign is deployed there. Things get confusing for the team.
Maybe this does not sound like a problem to you, but I get sweaty palms doing things like these. Now you have a lot of internal knowledge that has to be passed between team members: Which branch is deployed on production? Which one on staging? And what has to be done in order to deploy to either of the environments? How do we make sure that nothing is lost or gets corrupted in this process?

Enter: Feature Flags. To get a grasp of what they are, I suggest you read this article by Martin Fowler, which explains it in detail, but in a Nutshell: Feature flags are small code snippets that regulate who can see which feature under what circumstances. For example, only admins can see the new feature. Or only the user with the ID 5. Or just every 10th visitor.

We started working with Feature Flags in the late summer of 2017, while doing a complete redesign of an online shop that was getting a good amount of traffic and needed to stay maintainable while we were working on the redesign. When I first used Feature Flags, I wasn't a big fan. There were a couple of reasons for it.

First, using Feature Flags was adding an additional layer of complexity to the project that I was feeling was not bringing us closer to our goal. The fact that I never worked with the concept and it took me a while to wrap my head around it may have had some influence on that perception. But it is a fact that this is extra code in your project you need to maintain and think about.

Second, I no longer had the feeling that our code was deployed from a single source of truth. Before, there was the master branch, and what was in the master branch was visible to the public, period. Now, there was techbically still only the master branch, but what it revealed to the public was out of the direct control of the code I wrote. It was dynamic, and that was making me a little nervous.

However, we have now been working with Feature Flags for about a year and I have gotten attached to the concept since. I only started to notice a lot of the benefits after using them for a while, so I now have a different view on the concept:

What I thought about the single source of truth was actually wrong. Coming back to the example above, there is no single source of truth anymore once you start to deploy different branches on different environments. Feature Flags allow you to always deploy master, no matter what. Couple that with a good CI and this feels really stable.

It is also awesome for testing, especially for testing with production data. You can set up your staging environment with a production database dump and get the environment to mimic production very closely, but with a Feature Flags, you could deploy to production, only make the feature available to yourself and test with real data.
It's also great for letting customers test things. No need for remembering two credentials for two environments, just clear the customers account for the feature.

What I like most is that a change can be deployed immediately. Even if it is not available to all users right away (or to none at all), there is no need to worry about a "Big Bang" deploy from staging to production on day X and hoping that nothing breaks. You just change a flag from "some users" to "all users" and you are done.
If things get nasty, you just disable the feature again and everything is fine. No need for someone sitting in front of a laptop on a Saturday, trying to roll back a broken feature with sweat on their forehead. Depending on how you set it up, you can just disable the feature from your mobile phone.

Right now, I'm at a point where I'd rather have no staging environment at all and just flip all the features. This is something past me from two years ago would have hit me in the face for. But what does that guy know, anyways?

26th Jun, 2019

Getting lost

It can be helpful in life to have a goal in mind and decide what you do based on the contribution that thing makes towards reaching that goal. This is, by nature, very limiting, which is exactly what you want. It helps you only do the meaningful things. But this will also bear the danger of not letting change happen.

From time to time, it is nice to just get lost. When you read something, and that sparks an Idea in your head, just explore that idea further. Get into the topic, find another interesting thing and then start exploring that. Just enjoy the process of not knowing what you are doing and why. Enjoy wondering and learning things and the joy of experiencing how many things are out there.

Just don't forget to go back on the path you were on before, and focus on what is essential to reach you goal. Also, challange that goal every now and then.

15th Jun, 2019
X AccountGithub AccountLinkedin Account
© 2025 Chris Jarling - 87778bf