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 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.