AI is invading every space and it’s annoying the heck out of me.

Google gives me AI-generated slop instead of search results. Recipe searches result in AI-generated nonsense. Discussion threads get AI-generated replies. Customer support queries get useless AI-generated replies.

The administrator at my knitting club uses AI-generated banner images for the group’s Facebook events. Workshop participants turn to ChatGPT for generating creative ideas.

The other day I was co-interviewing a candidate for a role as a software developer in our team. Part of the interview was a pair coding exercise. We had turned off AI assistance in the code editor, and the candidate was completely helpless without it. Before diving into live coding, he had told us about all the problems he had solved and projects he had architected and completed. And yet, when given a keyboard and a text editor, he couldn’t do anything. He couldn’t initialize an array. Couldn’t loop through one, either. Couldn’t explain any of the choices he had made in past projects – everything ended in “I’d have to ask Google or ChatGPT about that”. We concluded that we need to update the job requirements to clearly specify that candidates are expected to be able to code without AI assistance.

Some people are literally losing their ability for thinking. They’re outsourcing not just the boring tasks, but even the fun and creative stuff. And they even seem proud of it.

My new new not-new computer arrived. This one has no problems with the keyboard so I’m working on the assumption that I’m keeping it. Going through the whole exercise of installing tools, downloading my files, etc.

It’s a Lenovo Thinkpad, which I selected for its build quality, according to the collective wisdom of the internet. It’s not shiny and beautiful like my Macbook Pro was, but it seems pretty solid.

I like its keyboard even better than the one on the Macbook. It already feels really good to type on.

The trackpad is not yet agreeing with me. It’s not at all as responsive as I’m used to. I have to press harder than I think I should, and when I forget and use the light touch I’m used to, it doesn’t move the pointer or doesn’t scroll. That’s going to take some getting used to.

The screen doesn’t seem small but somehow feels small anyway. It feels like I could fit so much more on the Macbook screen, especially when editing photos. I’ve fiddled with the zoom level (Windows is much more flexible about the screen zoom level than Mac OS) but somehow no setting feels quite right. I guess it’s just a matter of getting used to it.

For this past year I’ve been keeping track of my costs again. We did the same in the 2000s but then stopped at some point. Now I’m starting it up again.

The first couple of months were very tight. Then my financial situation improved for several reasons (including moving my mortgage to a different bank) but I kept going with the records. A couple of months’ worth of data is better than nothing, but many costs are unevenly spread through the year – a full year gives a much better picture of where the money goes.

By far the largest item is the mortgage interest, at 20% of the total. Electricity, homeowner’s insurance, water and sanitation together make up another 10%, so that’s a total of 30% on housing. Almost all of that is fixed in the short term. Even with the electricity costs, over half is a fixed fee.

Food 15%, the children 7%, and those few categories together already account for half of all my costs. The average Swedish household spends 13% of their income on food; I’m comparing to total costs and not total income so it’s not quite the same, but close enough.

Fees at 6% was a one-off fee this year for repatriating my British retirement account. I could have postponed it, I guess, but it’s got to be done sooner or later. It was fine as long as the UK was in the EU but now I run increasing risks of administrative fees, double taxation, currency swings, etc etc. Got to be done: a known expense now is better than decades of mess later when I’m retired.

Car ownership is an expensive habit. Repairs, insurance, inspection, new winter tires, fuel, parking. On average it costs me 100 kr (just under 9 EUR) per day. Do I get 100 kr of value out of it on most days? No, absolutely not. But on the days when we do need it, there is often no alternative. Even just the bi-weekly rides when the kids move with all their things from here to Eric’s apartment – how would we manage those without a car?

Still I feel like I could do so much more fun things for that money. For less than the cost of car ownership, I’ve paid for four vacations, including both travel and lodging, some of them for several people. Two weeks in Estonia for the three of us, an archipelago ramble for me and Ingrid, a long weekend in London for myself and Adrian, and an upcoming two-week trip for me (that I’m doing together with Ingrid but she’s paying her own share). I will definitely revisit the question of car ownership in the future: Ingrid is about to start on 15 months of military service, and that will change our collective driving habits quite a lot.

Media is another category of costs that I am very conscious of. A newspaper, several magazines, a streaming service, Spotify, altogether over 1200 SEK every month on average. While I could do without them, I would really miss every single one. Except for the streaming service, that’s really only for Adrian’s and Ingrid’s sake, but that’s not a very large part. Really, everything below “Car” has been well worth the money.

The smaller categories that are bundled up in “Other” in the chart are many and varied. I’ve somehow managed to spend almost 6500 SEK on kitchen equipment and utensils, and roughly the same amount on knitting stuff. There shouldn’t be so much need for more kitchen equipment in the future, I would think, but the spending on knitting will continue.

I’ve bought fancy chocolate for 2000 kr and clothes for 1300 kr. How’s that for priorities? Although that’s perhaps a bit misleading because that doesn’t include shoes for 2800 kr.

Other fun things include museum tickets for 2900 kr, potted plants for 1000 kr and birdseed for 427 kr.

Zeitgeist: The theme of this year is AI.

(Also: the war in Ukraine, the war in Gaza, and the demented paedophile at the helm of the United States. But those are mostly too far away to directly affect me, or for me to affect them.)

Everyone is talking about AI, and AI is infesting everything. Especially the tech sector of course: AI tooling to assist coding, AI assistants in every other application, AI-generated images in every article and presentation and blog post.

Some of it is useful. Getting an AI assistant to review my code changes, or asking ChatGPT a technical question that I can’t get any solid hits for from Google – absolutely a win.

Some of it is annoying. Any time I see yet another bland, soulless AI-generated image in a Powerpoint presentation – because the speaker thought the slide looked dull without an image and couldn’t be bothered to do more than write a generic prompt – my respect for the speaker goes down several notches.

Some of it is worrying. Far too many people ascribe intelligence to something that is simply a statistical process for chaining together a likely-looking string of words. When your prime minister says that he uses chat bots as sounding boards for his ideas… yeah. Not good.

On the corporate side, everyone is scrambling to get on board the AI train. Very much putting the cart before the horse, in many cases, asking themselves “Where can we use AI in our business” rather than “These are the challenges ahead of us, what is the best solution?” Everyone has been given a shiny hammer and is now desperately looking for anything that even remotely resembles a nail, because god forbid the market believes that they’re not swinging their hammer as fast as everybody else.

Giant corporations burning billions of dollars, ever faster, on stealing everybody’s work, in order to create content that is sometimes useful and other times utterly destructive. What could go wrong?

Visited Ahhaa science centre with a bunch of friends of various ages. Their interactive exhibits captured everyone’s attention for hours.

The current temporary exhibition was AI-themed. We got to try out AI attempting to deduce our emotions, recognize images, drive a toy car, etc. Very well done.

The exhibition also included a kind of a poll about visitors’ views on AI. Would you trust an AI diagnosis? Fly an AI-piloted flight? Would you be more inclined to forgive a human or an AI for a mistake they made?

I’ve got mixed feelings about this. It’s easy to be distracted by LLMs and other generative AI, and forget about all the other kinds of AI out there, doing more workmanlike tasks. I rather like AI analysing X-ray images and sifting through tons of data to find anomalies.

The statement I was most positive about was “I can imagine AI teaching me”. And I absolutely can. An AI-curated, individually adjusted learning path, instead of listening to pre-prepared hour-long videos where I find myself skipping half – yes please. Then I thought about AI teaching children, especially at a younger age, and my immediate reaction was a visceral “no”.

In the evening we gathered and played “Bang”, which has for many years been our go-to game for large groups. I might be growing just a little bit tired of it, but we only play it for a few evenings each summer, and it’s become a firm tradition by now.

Went to Swetugg, a .NET-themed conference. AI is the dominant theme, like last year, but now it was less about the foundations of how it works and more about how you can design a solution that incorporates AI, or the things you need to be concerned with when shipping it to production.

One of the most interesting and inspiring sessions was by Mads Torgersen, the Program Manager at Microsoft for the C# language (which is what I work with). He talked about possible upcoming new language features and the thinking behind them, as well as some of the trade-offs they’re discussing. How OK is it to break existing code for 1% of language users, in order to deliver the best version of a new feature to 100% of them?

C# has existed for so many years that the changes now can only be relatively small, a bit of sugar on top of the cake we already have. But I’m still rather excited about some of them.

It was also just really interesting to hear about the process, which is very open, with discussion documents available on Github. Designing an entire programming language sounds like such a faraway, impossible thing, distant magic – and here is an entirely normal human being who does just that.

Ingrid building her new computer.

For both Ingrid and Adrian, computer games is their main hobby, so a second gaming computer each was more or less a must-have for their split living situation, on par with a bed, a desk and a wardrobe. You can’t cart gaming computers, monitors etc back and forth every week.

Visited Active Solution, my new employer, today for an intro session and to pick up my equipment. Time reporting, intranet, door tags, here are the office supplies, here’s the printer, etc etc.

My new computer threw a tantrum during the setup phase and got sent back to IT support, so I didn’t actually get access to any of these systems, but I did come home with a new phone. Same brand and series as the old phone, but four years newer and a slightly higher-end model.

It definitely wins over the old one in the “most camera lenses” category – as well as in “fewer smudgy fingerprints”. Samsung appears to have switched to a more sensible material for the phone body.

Reviews say the Samsung Galaxy S24 has a great camera, and I’m hoping that with the four lenses, this phone might replace my pocket camera for everyday use outside the house. (For any planned, more serious photography, I’ll still be using the Olympus, of course.) The little Sony camera I have is nine years old and some bits are starting to wear out. It would be nice if I didn’t have to buy a new one – and a lighter handbag wouldn’t hurt, either. My old phone (four years old) took decent photos in good light, but in low-light conditions the results were pretty horrible, and it had no optical zoom so any attempts at zooming in were likewise atrocious.

Me holding a talk about how to survive when you’re thrown into a super messy code base. With a sample size of two (Urb-it + Sortera) I must surely be an expert, right?

The talk was originally about being thrown into legacy code, but having had an intense philosophical discussion this morning about what actually constitutes legacy code, and not wanting to invite a repeat of that discussion during/before/after my talk, I renamed it.

The talk was well received. As a consultant, your assignments will involve messy legacy code more often than not.

There’s no recording this time, but here’s a very brief summary of my five-step approach:

  1. Learn the code – read it, draw it, play around with it
  2. Clean it up – fix typos, warnings, dead code, etc
  3. Set up a safety net – nullability, types, end-to-end tests
  4. Bigger refactorings – making sure to finish one before starting another, to not leave the code in a worse state than it was before
  5. Don’t forget about the people – talk to your users, celebrate your successes


I have given up entirely on tretton37 – seriously, I wouldn’t be surprised if the company doesn’t survive until the end of the year – so now I’m looking for a new employer. That means phone calls and meetings and interviews – and coding tasks. The first one I did was a small and simple one – I think I banged it out in an hour and a half. The other company I’m in serious discussions with has a bigger task, so basically I’m spending most of today working. I started after a leisurely Saturday breakfast and decided that I will stop when it’s time to cook dinner, and whatever is left undone at that point can stay that way.

It’s a serious time investment, and I might not be willing to do this if I was interviewing with more companies. But I’ve only got three right now that I’m interested in, so I can invest a bit more in each one. And I actually prefer this to the other coding task, which was almost too simple, and for which the feedback I got was roughly “this looks really great!” and that was that. Makes me suspicious. Are they desperate? If my code – admittedly nice but nothing earth-shattering – looked so great to them, what kind of low expectations did they have? They say they’re selective but this coding task wouldn’t winnow out many candidates.

I want to be challenged, and I want colleagues who will challenge me.