1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
---
title: "Update April 29, 2026"
date: "2026-04-29"
tags: ["update"]
---
## What have I been up to?
Miracle v0.9.0 is released: https://github.com/miracle-wm-org/miracle-wm/releases/tag/v0.9.0 🪐!
This release was a long, long time in the making, so I am very excited to
finally get it out the door. It introduces the new WebAssembly-based plugin
system for window management, configuration and more. I daily drive Miracle and
feel entirely at home inside of it, and I hope you do too!
On the Mir side of things, I have been busy rewriting our dependency on
libwayland in [wayland-rs](https://github.com/Smithay/wayland-rs) instead. This
has been an *absolute whirlwhind* of an exercise, and I'm sure it's something
that the team will want write about officially later on. https://cxx.rs/ has
been amazing in the meantime, but the interactions between C++ and Rust -
especially in terms of lifetime managemen and standard library coherence - are
quite difficult to deal with.
In Flutter land, all is moving smoothly. The multi-window effort is continuing
as expected, and we're even starting to land some windowing concepts in the
Material API, which is exciting. Look out for `showDialog` creating a *true*
dialog window sometime soon!
## AI, AI, AI...
I've finally been swept up in the mass psychosis that is AI in the software
industry. Like everyone else, I'm constantly shifting back and forth between
"Wow, what magic!" and "Why am I trying to coerce this machine into doing
something that I already know how to do". For straighforward things that are not
very "interesting" in the technical sense, it's amazing. For example, I prompted
Claude to convert this website to astro.js in basically a single prompt with a bit
of hand-holding. That's pretty incredible seeing as I wouldn't have been
motivated to do that prior to this. On the other hand, Claude has been next to
useless for my work migrating parts of Mir from C++ to Rust. I am probably one
of a handful of people in the world doing that on a large product, so it is
hardly represented in the data set. As a result, Claude takes forever to
reason about even simple things, and it even tends to get those wrong.
Especially when it comes to metaprogramming, it tends to fall apart as that
involves a lot of higher level, abstract thinking.
All this goes to say: AI is generally useful, but I expect to find gainful employment
for the forseeable future. I think that certain areas of software development
that are particularly well-represented in the training set will be largely
automateable. If you've noticed, everybody and their parents are busy building
new "dashboards" for just about every piece of data under the sun. I don't think
that this is an accident. Dashboards are probably the most well-represented and
most straightforward problem to solve in computing currently. Data goes in, it
gets shown, and maybe it gets compared to other data. That's about it. On the
other hand, I don't think we'll be seeing any AI-generated MMORPGs anytime soon.
That being said, I'll keep using Claude to find the edges of its capability, but
I'll keep using my ol' noggin to do the interesting stuff that requires
second-order thinking.
## One final point: AI Design
I understand that it is tempting to accept the initial design that the AI gives
you, but it's really starting to bug me. Here are some hallmarks of the design:
- Gradient text with letter-spacing changed
- Animated Hero with some tech-y feel
- Gradient box shadow
- Solid color text on a background of the same color but with opacity
- Traffic light fake toolbars to make it look like a MacOS app
That probably sums it up poorly, but I know it when I see it. It's turning into
the Ikea desing of websites: it's not bad, but it makes me think that you're not
that invested in the long-term quality of your site.
|