Given how often I’ve been typing it recently, you would have thought I’d know how to spell “Los Angeles” by now.

Hmm, the folio keyboard I’m using for this iPad is starting to flake out occasionally. Sometimes when I unfold it, the iPad doesn’t recognise it and throws up the on-screen keyboard. Restarting the iPad seems to fix it, so I’m not sure if it’s a battery age thing. 🤔

Got offered a free sample of a “lamington scone” at the bakery I went to today. Tastes pretty much as you’d expect. 😋

Good to see that there’s still room for innovation in scone technology. 😉

Spent all frickin morning in meetings. Hardly got any work done — ironically the type of work the business is hounding me to get finished ASAP.

Going to have some lunch and then I’ll be turning off Slack notifications so I can keep my head down. 👨‍💻

Woke up to my devices being unable to connect to the WiFi. It must have gone out during the night somehow. First time that’s happened in a while.

And yes, turning it off and on again fixed the problem.

End of sprint ceremonies today. Could have gone better.

We failed the sprint quite hard. Not entirely our fault: we actually got a lot done, but we couldn’t deploy them until we got the go ahead from management. This meant we couldn’t mark the tasks as complete and get the points for the work. This bought the mood down somewhat. The retro was also a bit… sombre? Maybe sombre’s not the right word but there was a general feeling of things not going as well as they should.

Mixed this in with some concerns about a feature we are responsible for that was buggy and was blocking a release of another teams that had to go out today. It’s never a good feeling when you had to roll something back. Much less so if that thing is something that no one really has a good grasp on. Lot of trying to work out whether it was even safe to rollback.

This feature has been a huge pain for us for the past several weeks. It’s one of these things that is so fiddly, never quite finished, always getting kicked back to the devs because the QA team has found something else that’s not working quite right. I don’t fully blame the team for this either: it was handed to us from another team with the belief that it would be relatively straightforward to finish, which proved not to be the case. Also not fully appreciated is the amount of time it takes to become familiar with a piece of code that you have had no real hand in developing yourself.

I think me being a little hands off on with this feature was a slight mistake. There were other things that I was focused on — and I’ll be honest: it’s hard for me to keep my focus on something that I felt was less important than the thing I was working on. I thought that letting those in the team most capable with doing the work, and just letting them get onto it, was the best approach. I try to take this approach with most things: I know for myself that I can’t stand having someone breath down my neck while I’m working on something. I don’t know: maybe I should have had more of a finger on the pulse. Just a light one, so that if others need to know what’s going on, I could answer them.

Yeah, I’m loving squad leadership. 🙁

At least the demo went well.

I’ve been finding myself using Day One for general note taking, like ideas, things to remember, etc. I think the reason is because it’s on all my devices, and it feels a bit like a permanent record. Google Keep feels more like a scratch pad. Shopping lists, etc will remain there.

🎙️ No Mercy / No Malice: All Ears

First one of these newsletters that I actually listen to in podcast form, and I really enjoyed it. Happy coincidence that the subject today probably explained the reason why.

🔗 Google loses two execs: one for Messaging and Workspace, another for Payments

Two thoughts I came away with after reading this.

The first is an attempt to understand how Google can think that they can put out anything — the version of US Google Pay app for example — and expect people to flock to it. I no expert, but I’m not sure why the physics of user adoption should be any different if you’re a multi-billion dollar company. People will use your software if it’s good, and they won’t if it’s not. And if you force people to change their habits because you want to completely throw out your existing version for “reasons”, you’re giving users an opportunity to choose whether they want to even continue using your stuff.

It happened to me when they shutdown Inbox. I had the opportunity to change to something else, which I did: Fastmail. Since I was forced to change my habits, I may as well have changed them for the better.

The second — and this is probably obvious — is that the a good indication of the health of one of Google’s app is how often they rebrand it. Since it’s launch, Gmail has always been Gmail. I can’t even name what Google’s messaging app is called now.

I’m personally a bit of a fan of unit tests (at least when it comes to writing code for work — for my own stuff… not so much), but I can see why people are put off by it. Apart from being a little tedious, it really does slow development down.

The amusing thing about turning 37 today is that it felt like I’ve been 37 since maybe September last year, so all in all I don’t feel so bad. Just need to ride that feeling for the next 12 months. 😏

(Not helping is that I missed-type 37 as 38 twice while writing this post).

I’m finding that more and more of daily workload in my job is less software development and more about making sure a team of people can get software develop. I’m guessing that this is a natural shifting of responsibilities from being an “individual contributor”, as they like to say nowadays, to being a team leader of sorts.

I wonder if there’s a way to arrest and reverse this trend.1 🤔


  1. I mean, without completely blowing up my career. [return]

Arriving Late

I’m going to have to tell my boss today that the stuff my squad has been working on is going to arrive late. To much needs to be fixed or reworked, and there is one or two things that have been missed alltogeather.

I think the biggest problem is that the thing we’ve been working on got into testing far too late — only a few days before the deadline — meaning that there was no time left for fixing things. Really, you can draft all the plans and designs you want but you really don’t know how well it will perform until the “working” code has been handed to someone else.

Another problem might have been that I didn’t push for more time upfront. It’s been difficult to do this in the place I’m working now. It’s almost like they’re on to me (or at least have their own ideas of when things should be delivered). But I’m guessing it’s still heaps better to shatter expectations by saying something will take longer upfront, then get it delivered early, rather than be optimistic about it and come up against the deadline. “Underpromise and overdeliver,” they say.

I wonder if there’s a way to have two deadlines: one the business knows about, and one for the squad. The first one is quoted to be a respectable amount of time that is significantly larger than what you really it would take to deliver the feature. That would check expectations, and leave enough time for any rework. The second is a more optimistic deadline for the squad to work towards. I think having this second deadline is important, otherwise all the work will pile up near the end of the first one and you’ll deliver late again. It’s all so deceptive though, and the thing is that you almost need to deceive yourself: you know that the second deadline is not the “real” deadline after-all.

I don’t know. I find all this estimation and managing expectations quite difficult and it’s generally not something I like doing.

In any case, we’re going to need more time. I guess I can take solice in the fact that we almost got there, maybe 70-80%. We just need to get that other 80% over the line.

Just got a flu shot. I asked about getting a second COVID-19 booster but I’m not in any priority group so that was a no-go unfortunately. Even so, glad I got the flu shot while they are still free.

Here’s an idea for a competitive sport: a race to see who can first merge two Git branches that have diverged significantly. The difficulty can dictate the number and types of conflicts that need to be resolve. Can also spice it up by breaking or not including unit tests.

Wrong Number

Got called three times this morning by mistake from an old woman in NSW trying to contact her son who had a very similar phone number to mine.

First time I ignored it as I didn’t recognised the number and thought it was spam.

Second time I answered and after trying to understand what she was trying to say, I simply said “I think you got the wrong number, sorry” and hung up.

Third time I answered and after recognising that it was the same person, I figured it was right to work through the problem with her. So I spend some time with her, going through each number slowly, trying to make sure that we understood where the mistake was made. I didn’t hang up until I got the sense that she understood what number she needed to dial. I was trying to be helpful, but I’d be lying if I said that self-interest was not involved. After all, I wasn’t too keen on getting any more wrong numbers.

Four hours have passed and I yet to hear from her again.

Is there a lesson involved? I don’t know: this could have happened to anyone. I guess if there is one, it’s that sometimes you don’t get to choose the types of problems you need to work on, and you just got to do what you can to, if not solve them, help in making them less of a problem than they were before.

A useful command I occasionally use. This will list all Docker containers, and delete each one regardless of whether it’s running or not. Good if you use Docker for dev containers and need to reset your state.

docker ps -a --format '{{.ID}}' | xargs -I{} docker rm -v {}

EDIT: thanks to @sonicrocketman for suggesting another way to do this. Works just as well:

docker ps -aq | xargs -I{} docker rm -vf {}

Idea for a website: you submit two TV shows or movies, and it shows you the cast members that are in both.

One fallout from Google’s terrible messaging situation is not just the fragmentation of all the various messaging “apps”, but the shoddy design and dev work that goes into each one.

Yesterday, I shared a video in Google Photos to my cousin. I wanted the video to be kept in it’s original quality, so I didn’t send it using MMS. I considered sending a link, but when I tapped “Share” to generate one, I saw the option to share it using some form of messaging app that exists in Google Photos (at least, I assumed it’s a messaging app, because what else would Google use).

I thought I’d give this a try, but I didn’t trust that the message would make its way to him. I’d hope at the very least it would send an email, so I naturally sent him an SMS asking whether he received it or not.

Turns out he did. In fact, he actually sent me a reply which… didn’t make its way to me. I got no notification, and I saw no reply in Google Photos. Didn’t even get an email.

Do people sharing photos in iOS have to deal with this?

I’ve been seeing something strange with an Android app I’ve built for myself. When I deploy it to my phone using Android studio; the app launches and I can start using it without any issues. But sometimes, after a few days have passed, the app gets replaced with a previous version, maybe one prior to the last version I built and deployed. I don’t spend a lot of time on this app so I cannot say if this happens regularly, but I have seen it happen two or three times this year already.

I wonder what could be causing this.

Getting spam emails with corrections about previously sent spam emails now. 😒

Here’s another photo of Archie and Ivy from a couple of weeks ago. Ivy’s discovered that the tissue box is the one thing nearby that I wouldn’t try to stop her chewing. Archie’s just curious in what I was using to take the photo.

Ivy at a tissue box and Archie looking at the camera

Ugh, why do I even read the news? 😒

You know that feeling where you just got off on-call, and that evening there was a widespread production outage that you had no idea happened until the next day? That explains how my morning just started.

One thing I must remember: if the options before me are to go for a walk or not, very rarely is not going the better option. Sure, there are times where I can’t go for a walk: I’m busy, or not feeling too well. Those can’t be be helped. But that’s not the same as not feeling like going for a walk.

So when faced with this choice, the default should be to go.
I may feel no improvement.
I definitely won’t feel worse. I’ll usually feel better.
I rarely feel regret.