Regular readers will know I’ve had a long fascination for the Yamaha DX7–after all, besides getting a Reface DX quite some time ago, I also built a MiniDexed box and accumulated more software instruments than I have time to use, as well as an embarrassing amount of other physical gear that brands me as a victim of Gear Acquisition Syndrome.
The FM-1 in DX7 livery, running Sloop firmware.
I can only manage to dabble in music occasionally, but I’ve been interested in FM synthesis since the heady days of the 80s, so the M-VAVE FM-1 was like catnip to me because it was billed as a pocketable DX7: six operators, a little keyboard and a speaker packed into a battery-powered box, with both USB and BluetoothMIDI.
Disclaimer:M-VAVE provided me with an FM-1 review unit free of charge, and as usual this article follows my review policy.
But you just know a synth is becoming a cultural phenomenon when it floods all your feeds–including your GitHub watch list. Like the Xteink X4, the FM-1 has become a hackers’ paradise–but unlike it, it has blossomed into a music platform with literally dozens of open source firmware alternatives (some of which have online emulators).
And that is a completely different thing indeed, possibly with profound implications for conventional synth manufacturers. And if you’re in the synth scene, well… Just this week, it starred on a Bad Gear episode.
From what I’ve been seeing (and I’ve compiled quite an extensive list of resources so far), the popularity of the FM-1 is due to a pretty straightforward combination of factors:
It is quite cheap (less than $70 depending on where you live)
It has a unique combination of size, hardware features (a nice screen, battery, USB audio, Bluetooth and TRS MIDI) and various knob controls
It is very hackable
Say what you want about the keyboard (which is a little inconsistent and likely not very long-lasting), we are talking about $70 for a device that can do both audio and Bluetooth MIDI and have a usable compact screen, features that stupefyingly expensive high-end gear has effectively never shipped together (well, statistically).
The specs are reasonably straightforward, so we’ll go through them right away:
161.5 × 96.5 × 28.6mm, approximately 250g.
27 silicone keys, colour TFT
USB-C MIDI, BLE MIDI, 3.5mm MIDI IN
3.5mm audio jack and a tiny built-in speaker on the underside
2000mAh battery (~12 hours play time)
It also comes in a range of colours–I picked the black-and-green version because it reminded me of the original DX7, and I don’t regret my lack of imagination one bit despite it not really being a rational choice–but it was an easy one.
When I decided to get the Reface DX many years ago, I wanted something I could mess about with without a DAW or computer. I liked its speakers and keyboard, but wished it had better connectivity and the DX7’s six operators rather than four, and effects were practically non-existent.
Well, the FM-1 has six sine-wave operators, 32 algorithms and 12-voice polyphony, accepts DX7 SysEx banks directly, and adds six effects (filtering, chorus, phaser, distortion, delay and reverb), an arpeggiator with half a dozen different modes and a sequencer, which are described succinctly (but adequately) in the little handbook it ships with.
By pocket synth standards this already is a veritable cornucopia, but more to the point, the default firmware packs in sane operator editing (well, much saner than the DX7, which was effectively a brick wall, and nicer than my Reface DX).
Here, patch editing is much easier: the display shows the algorithm, and you get a series of keyboard shortcuts for selecting operators and other parameters that can be directly tuned via the knobs.
And patch compatibility is surprisingly decent. Most people I’ve seen reviewing it seem to stick to the factory stock sounds (which are similar to some originals, but often with the FM-1 effects turned up to 11), but I loaded up the DX7 US factory ROM, which has most of the trademark sounds people associate with the DX7 (largely because most musicians couldn’t really figure out how to edit patches).
I compared it to my MiniDexed build and Dexed, and although there were a few differences in timbre, most sounds were very, very close.
And that’s where you start understanding how easy this thing is to tweak–all you need to have is a browser that supports WebMidi (which, of course, Apple still refuses to support in Safari), pop over to something like fm1-editor.com, and it will merrily send SysEx commands to your FM-1:
A very nice web-based FM-1 browser patch editor for the stock firmware.
This is flabbergasting, because it is a far cry from, say, building a MiniDexed – that might be a bit more powerful, sure, but only in the sense that I can theoretically run eight parallel DX7 engines in it. And yes, this editor almost works with it (mine needs a software upgrade). And of course we’ve been able to do the same on various iPad apps, but it doesn’t feel the same.
Audio quality was… OK, I guess. I used mine mostly through my aggressively non-audiophile Logitech desktop speakers and random headphones, and of course the USB audio is purely digital.
Even if you don’t want to edit anything, the little colour TFT and clever control mapping make it really easy to navigate presets (you get 128 of them, by the way), and about as easy to edit presets as, well, any FM synth would be–again, much better than the Reface DX, although most people will just get Dexed and edit them that way.
I initially thought this to be based on a more modern microcontroller, but as it turns out the FM-1 is based on the JieLi AC791N/WL82, which I had never heard of before but seems to be a SoC that includes a fairly popular pi32v2 microcontroller associated with the Blackfin family.
And yes, a lot of the analysis and firmwares rely on AI, but having a relatively open toolchain available and decently clean references (plus plenty of code being shared between different firmwares) has definitely lowered the barrier to entry, both in terms of reducing the work of building new variants and integrating things from other existing instruments–there are emerging ports of other “classic” open-source synths in the works, and of course someone already has it running Doom…
But that’s not relevant to regular people. What is relevant is that WebMidi SysEx patch transfer was just the tip of the iceberg: the entire firmware image can be transferred that way, which makes it trivial for anyone to distribute (and use) different firmware versions–so to join the fun, all you need is an FM-1, a USB-C cable and a browser.
I think the best way to understand how popular and diverse this thing is is to dive into Reddit, where you’ll find there are already enough firmware variants for people to be ranking them in multi-page Google Sheets:
The community FM-1 firmware comparison sheet.
If that’s not your thing, there are also quite a few marquee sites popping up all over the place, like this one, which provide you with the ability to instantly download and install a bunch of popular firmware variants:
I decided to go with Sloop, because it has a certain feel about it–in short, it reminds me a lot of how I expected the OP-1 to be like, and it feels like it was influenced by it to some degree (there are quite a few whimsical visualizations in there), besides having an absolutely kickass sequencer and web editor; this is becoming a staple feature in most custom firmwares, but I liked this one and am sticking with it:
The Sloop browser editor.
But the genius part of Sloop (and a few of the other firmwares I’ve tried) is how they make use of the hardware: You typically push and hold to switch into a different mode, and knobs, buttons and keys change functionality: the same controls can edit operators, trigger drums or operate a sequencer.
As someone who owns a Roland Aira S-1 (that I don’t think I ever wrote about), the core workflow and mode switching is familiar–but the screen makes one heck of a difference, since the S-1 has a puny LED segment display and no way to visualise anything:
The FM-1 and the S-1 side by side.
In short, the experience of the FM-1, even with stock firmware, is better than the Roland. But with custom firmware, the gap is tremendous. OneFM-1 can, at least theoretically, do everything the entire Roland Aira range does, in one box.
The effects are decent enough that you also don’t need pedals (or a Norns like I built a few years ago), or string together a bunch of boxes. Plug in a MIDI controller (or a companion synth like the ESI Xsynth, which is a great match), and you’re set.
The way I see it (and even though M-VAVE certainly wasn’t planning this), the FM-1 might well become a cult device, because in complete contrast to just about everything else in the same form factor–Volcas, Behringer’s zillion clones, etc., it has effectively become a platform.
I can’t wait to see what people like David Hilowitz might make of it (if he ever decides to do his own take on firmware, of course).
This was a bit of a mixed bag, but mostly because of my expectations towards Bluetooth MIDI. BLE has always been very high on my list of “must have” features because it’s a pain to deal with wires when you’re trying to juggle an iPad and other gear on a couch, and I am happy to report that the stock firmware works with BLE and my iPad.
However, very few of the custom firmwares do, partly because they’re GPL 3 and partly because Bluetooth support relies on a rather bulky proprietary firmware blob that takes up a fair amount of resources on the FM-1, so all Felucca-based variants (like Sloop) omit it, which is sad to say the least.
But all firmwares support USB audio and MIDI, and those just work with AUM, so at least I only need the one cable (even if the iPad is, as usual, confused as to how to use an extra audio interface, a situation which has only slightly improved with iOS 27).
I haven’t tried plugging both the FM-1 and the Xsynth to my iPad yet (solely because of lack of time), but I can’t see why it wouldn’t work, and will update this post when I do.
I love this thing, and will be looking out for the SMK-37 Elite because the Pro variant seems to run on a similar platform and it might be just a matter of time until people figure out how to port FM-1 firmware to it. There’s no guarantee at this point, and the price point is quite likely to be much higher, but one can hope…
Regardless, I think that M-VAVE should lean into the homebrew firmware momentum and make some of this firmware bonanza official–the traditional synth industry very much enjoys churning out not just endless variations on the same theme, but also tiny portable devices that do much less and are much harder to use, and this is clearly an opportunity.
After all, even if I wanted an unapologetic clone of a classic synth like the Behringer JT Mini, why would I spend the same for something that will never be as customisable or configurable?
Again, as someone who owns a Roland Aira S-1 and is constantly disappointed by the utterly stupid menus and clunky interface that is being sold for roughly three times the cost of an FM-1, I hope people take notice not just of how much value you can deliver at the price point (the hardware combo is very nice, even if you just use stock firmware), but also how much better the custom firmware experience is when compared to “normal” instruments.
For quite a few years now, there has never been a good reason why digital synths needed to be single-purpose devices, and this is a very decent proof point.
If you have a significant other in your life that likes synths and sequencers, get them one for Xmas. Period.
Oct 11th 2026 · 3 min read
·
#ai #go #hardware #life #notes #rust #virtualization #weekly
Sometimes I feel like I am only really alive on weekends. Sadly, that only seems to happen part-way through Sunday afternoons, which speaks to my utter lack of timing of late.
The struggle against general entropy across work, life and the requisite bits of fiction required to keep myself motivated raged on throughout the week. Things started settling on Friday afternoon, and at least now I have a plan, most of which revolves around simplifying things and attempting to do less.
Which my brain completely torpedoed this morning by wondering, “What if I built a small Inferno-like system to run inside Legion?”
I can’t seem to give myself a break, so here’s a screenshot of it working already:
Still, there are things I can do to save myself some aggravation in my personal projects, even if they go against the broader industry trends.
I’ve ranted a bit online about how Rust is so complex, slow and resource-hungry to build that it sucks the joy out of developing with it (yes, I know this is an unpopular opinion). I have a couple more reasons to give it up: I’m not getting any younger, and one of my Go projects can compile, test, vet, fuzz, link and cross-compile to Linux, Mac and Windows (Intel and ARM where applicable) in slightly less time than a single-platform Rust build. That’s massively more productive. I’m also running out of disk space everywhere, and Rust is a glutton for it.
Seriously now, I cannot begin to count the number of times I’ve reset my sandboxes because a Rust build ran amok. I just don’t have the resources to develop more than one or two things in it (like wrdp, which is likely to be the one Rust project I maintain going forward).
The GPU trouble continues–I tried Strata on borg this week and was extremely impressed with the results on my RTX 3060 (it was very usable for routine coding tasks), but the card keeps crashing after a few minutes.
I’ve tried three NVIDIA driver versions, limited power consumption to 100W (from 170W), set a 65°C target temperature (steady state is now 75°C), capped the clocks at 405–1500 MHz (which seemed to help temperatures most), and changed the VM type from i440FX to Q35.
That last change completely altered the PCI configuration, but hey, at least we have AI now, and I was spared the indignity of dealing with netplan myself:
Unintended consequences
Upgrading the Proxmox VE host kernel made no difference either: the GPU keeps dropping off the bus with Xid 79, followed by “Node Reboot Required”, so I’m still looking for a solution. This was happening during PTX kernel testing, before I tried Strata, so I suspect this might just be burnout.
Either way, Qwen 3.8 Flash Next on this thing is unbelievable (well, compared to where we were a year ago). With a better card (in all regards), it might be “good enough” for slow-paced agentic workflows. Between GPU crashes, it was more than capable of simple code changes and running prebuilt test and release pipelines, and was able to report problems it ran into, including filing comprehensive GitHub issues:
Not bad at all for a local model
The only caveat is that, paraphrasing Douglas Adams, it steers like a cow: prefill/generation is ~850/60 t/s, which is not bad, but it takes minutes to do basic things that gpt-6-luna replies to instantly.
Regardless of my pains, this is pretty awesome from a technical perspective. Strata’s disk-streaming and MoE-management tricks are not new, but they’re very finely tuned, and it kind of justifies all the time I’ve spent on go-pherence, even if I can’t do any NVIDIA work on it now.
Finally, the work-life balance update: I actually managed to spend a good while going through Embassytown, which in good China Mieville form can be both dense and engrossing, and playing a bit of Hades 2. I might have a life someday…
Oct 10th 2026 · 5 min read
·
#agents #ai #coding #obsidian #tools #writing
I’m feeling the edges of burnout creep in, and having gone through that before, I’m pulling the brakes on anything that is neither immediately useful nor satisfactory.
To begin with, I’ve decided to take it a lot slower with piclaw. I’ve been a bit frustrated for a while about the overhead of maintaining it while pi upstream churns through three releases a week, but most importantly, maintaining it burns through credits I need for other things, so I’m calling it “stable” and moving to a monthly release cadence.
In practice, I’m stepping off the harness rat race since however exciting it is, and no matter how many nice tailored features I have, I also have the maintenance overhead that comes with addressing any of them.
But I also think there is a lot more to be done regarding AI and agents. Just not in the code-editor-cum-harness space, which is over-saturated, nor in the consumer space, which is just bonkers insane if you take Claude, Meta’s Muse and OpenAI’s Dots announcements as any indication of how far down the “let’s monetize agents” rabbit hole companies are sliding into.
I am also stopping work on rs-ai and swift-ai, as well as a bunch of other things I’ve been doing that were minor reinventions of the wheel, and taking a hard look at what I actually need right now.
I need to have a decent way to write, take notes and express myself
I need to have a cross-platform, cloud-ready coding environment
I need to have a personal agent I control (but that can manage infrastructure and automate things, increasingly hardware-related).
A way to write. A coding environment. A personal agent.
Can you see it yet?
Unlike Steve Jobs’ famous tirade, these are not the same thing. I thought it made sense to turn piclaw into that one thing, but I think there’s a reason why people both like Swiss Army knives and yet get specialised tools.
First, writing. I need to do it every day to preserve my sanity, and it needs to be as frictionless as possible.
Over the past two or three weeks, I’ve been using Writing Workshop to manage all of my drafts, for three reasons:
I wanted to stop futzing about with Obsidian and using SyncThing for syncing vaults, since the writing experience on the Lenovo Chromebook was physically excellent.
I could access it from literally anywhere with a browser.
I really liked parts of the editorial suggestions I was getting from Writing Workshop: the annotations, the sidebar, the fact that it made zero attempts at rewriting my text, etc.
But maintaining what was turning out to be a ProseMirror wrapper (and there are much better takes on that, Dinkus being a phenomenal example of how to build a proper Markdown editor atop it), a dedicated storage back-end and a single-purpose pi-durable agent doesn’t make an iota of sense, and this effectively boils down to a few practical concerns:
I have a love-hate relationship with Obsidian. Always have, always will, but the fact is that it works and is a known quantity.
I don’t want to sync the entirety of my private Obsidian vault to my Windows machines (but I do want to pop in and do minor edits)
So I forked Markport (which lets me run Obsidian in a browser from anywhere) and fixed a bunch of little annoyances before adding a pi-durable agent inside it that can run the exact same skills as Writing Workshop (and much more).
I am also whipping bouncer into shape to proxy tunnels to it (because anywhere really has to be anywhere), but in the meantime I’m focusing on the agent UX inside Obsidian:
The same writing skills, now running inside Obsidian.
This works far better than it has any right to, and being based on pi-durable has a lot less exposure to upstream churn than building an entirely new agent.
I do suspect I will be going down the rabbit hole of writing a highly custom Obsidian plugin, but right now my writing workflow stays more or less the same, except that the revision process goes (temporarily) back to the agent adding editorial block quotes to the text instead of highlights (and a bit less of them, too, now that I’ve learned what was useful feedback from Writing Workshop).
I was really excited when I came across Agents In The Cloud, because it does some of what I have been trying to get to with agentbox, webterm and piclaw very, very neatly:
It supports containerised sandboxes
It has an absolutely killer web experience (at least on desktop) that not only includes embedded VS Code (something I stopped short of doing in piclaw) but also has a very nice, usable layout for desktop use that is arguably better than mine for using, well, things like VS Code inside it.
It makes it easy to bootstrap new workspaces from templates
Serendipitously, it ships very usable speech-to-text using the very same Nemotron model I have been optimising for Intel iGPUs over the past week or so.
However, it lacks a few critical features that I need; some that I baked in to piclaw from the start, and some that I think are essential to managing it sanely:
A keychain (there are now shared workspace secrets since I raised that issue)
A plug-in/extension mechanism
Support for ARM builds
Support for hosts that don’t have EROFS enabled in the kernel (I added support for that in pve-microvm, but I can`t add support for it on many prebuilt ARM kernels, so cross-platform work is completely out the window)
A management API with things like workspace management, token revocation and the like (ssh to the host to manage it is not good enough)
Better networking
The huge blocker for me right now is that it was designed for a single developer working on a single box remotely, consuming only public services, and it shows: it defaults to being accessed via Tailscale and letting sandboxes access the Internet, but I can’t reach Gitea on my LAN or any of my private MCP servers, which makes doing serious work on it a non-starter for me.
Since the maintainer is still trying to figure out how to accept contributions, I decided to fork it and invest a little bit of my time in baking in some essentials:
A draw.io editor/previewer (because I can’t really design anything if I can’t diagram it)
A first cut of a management API that aligns with how I manage Proxmox, Portainer, Azure services and even KVM hardware now
A way for me to have my own dedicated upgrade channel (for both the ARM containers and my customisations)
I called the result kintsugi (look up the philosophy if you’re not familiar with it) and will be tweaking it just enough until I figure out if it fits my workflow and if there is a way I can contribute to the original project, which I think is a thing of beauty in its own right, but still needs room to grow.
The kintsugi “repaired oriental ceramic bowl” logo, with my usual whimsy.
It’s not going to be a hard fork (I will contribute whatever I’m allowed to) and it’s also not going to replace piclaw, but if I manage to sort out the networking issues this weekend it might significantly lessen both my token expenditure and my time investment in maintaining things like the recent code review extension I built for piclaw.
This is the trickiest bit. piclaw is very much the one thing I work in everywhere (including a version I use at work, integrating with Copilot/Cowork and all the other $DAYJOB paraphernalia), and, again, I don’t intend to replace it.
I do need to let the agentic rat race settle a bit and figure out how to maintain it sanely instead of trying to keep up with Earendil’s breakneck pace of releases, and, above all, use it instead of burning tokens on it–hence the immediate move to end-of-month releases unless there’s a hotfix/bug I need to get out.
But I do think I need to evaluate ways out of the churn (and if you’ve read any of the Expanse books, you’ll know “churn” is a pretty loaded word).
So I’ve been looking at other agents, and leveraging them as much as I can:
This doesn’t really break my disclaimer, I think: I’ve been porting most of my work skills and some custom tools to M365 Copilot
I’ve been using Codex a lot more on my Macs (it is the only exception to “absolutely no agents on my local machine” that I allow)
This last bit is relevant because I need a portable pi flavour that isn’t based in TypeScript and yet can provide a TUI and web UI within a hair of the basics that pi and piclaw currently deliver, both because I want to have some control over my tooling and because nothing else out there fits.
In particular, I need something more RAM-efficient than pi that will run anywhere (including RISC-V), and since I also miss doing LISP, using go-joker as a runtime for extensions is something I want to try–especially now it can now compile a few more things to native code via WASM, and even do FFI to SDL.
But I just found out PiG is a thing, so I will probably have to reassess that in a few months.
Either way, piclaw will keep being the thing I rely on for keeping all of my other stuff together, including kintsugi until it can deploy itself reliably.
And for that, I’ve also started changing my model choices a bit to save on tokens. I’ve been relying on gpt-6.1-sol for most of my coding and gpt-6-luna for everything else (terra is both not smart enough and too expensive as a default), but I’ve actually disabled both Astra and Opus and keep exploring cheaper alternatives.
You don’t need to burn money, patience and time (and by time I actually mean lifetime) to use AI productively, you just have to have common sense…
Oct 8th 2026 · 1 min read
·
#music #op-1 #synths #teenage-engineering
This was not on my bingo card for… well, this decade, given the relative success of their more recent gear like the KO II.
Sure, there are some really strange things in the line-up, like the medieval flavour, and their UX can stray well beyond quirky into cuckoo land. But they’ve always been a source of whimsy and musical creativity–my OP-1 being a case in point.
Then again, things like the M-VAVE FM-1 are vastly cheaper these days (and arguably have better hardware features). They’re hackable, too, with an active ecosystem–which I suspect will dictate the success of future music hardware.
Oct 6th 2026 · 1 min read
·
#ai #europe #llm #mistral #open-weight
At last, Mistral has shipped a model that, judging by the model card, seems to compete with Chinese open-weight models–on paper, at least. It’s available via their API now, with the weights promised for the end of the month.
Now they need to demonstrate that the EU can do this consistently. There are scattered labs in Prague and Germany (which never seem to make it to Hacker News, for some reason), but the perception of AI work in Europe is still pretty poor–something I’ve ranted about before, including Mistral’s sovereignty pitch, which is at least backed up by their own European datacentres (the 3,800 Grace Blackwell GPUs used to train this model are relatively modest compared with hyperscaler clusters, but they did build out the infrastructure, and that deserves recognition).
Oct 6th 2026 · 1 min read
·
#android #arm #google #googlebooks #intel
Google acknowledging that some Android apps don’t run well on Intel Googlebooks is about what I’d expected. One of Android’s hidden catches is that Google has been neglecting it on Intel for a long time, and there isn’t a polished ARM-to-x86 translation layer to make up for it.
The main reason the Lenovo Chromebook I tested had such a seamless Android app experience was its MediaTek processor, and I really think the best Googlebooks are going to be the ARM ones.
Update: There is a fly in the ointment here that has me worried a bit, though. Googlebooks seem to absolutely require a Google login for activation (like Chromebooks), which makes it a little harder for me to consider them–you can use an Apple device (and a regular Android device) without an account, but if Google enforces this for Googlebooks and then they decide to arbitrarily nuke your account (as they’ve been known to do on occasion to people doing off-label things, even normal development), you’re completely hosed.
Oct 4th 2026 · 17 min read
·
#android #arm #chromebook #chromeos #lenovo #review
A few months ago, around the time Googlebooks were announced, I became really interested in Chromebooks again, partly because I’d completely lost touch and partly because I heard good things about the new ARM chipsets, namely the MediaTek Kompanio Ultra. But Chromebooks are not a common thing in my neck of the woods.
And, even then, there aren’t a lot of manufacturers that ship interesting hardware in this field. I’ve been seeing ARM laptops slowly take over the lower tiers of the Windows laptop market, but I was very curious about the current value proposition of either Googlebooks or vanilla Chromebooks.
Disclaimer:Lenovo sent me this review unit as a time-bound review trial, and this article follows my review policy.
For years now, the elephant in the room has been that both Googlebooks and Chromebooks are Google creatures first and foremost as far as user experience and software are concerned–and despite OEMs trying to figure out how to sell laptops that shipped palatable alternatives to Windows, it’s never been very clear if ChromeOS is a viable alternative outside of education.
I think that overshadows what the actual hardware can do, especially now that the ARM variants are becoming really good.
Another question is what the Chromebook experience is like from a software perspective–not technically, but in terms of actual usability and productivity in a world where the web has pretty much “won” (even if you don’t like that idea).
And yes, both flavours of “-books” share Google’s lack of consumer product focus and inability to coherently segment their offerings. Googlebooks are meant to be a premium tier when compared to today’s Chromebooks, yet both platforms run Android apps in a desktop context–which is actually one of the things I wanted to experience properly after years of various hacks.
The 14-inch OLED panel and full keyboard make for a comfortable writing machine.
The machine I was sent is the Lenovo Chrome 14M9610, which in typical Lenovo fashion is not a single model but a platform reference they unfold into multiple retail configurations. Having recently bought a brand-new Lenovo Yoga for my eldest’s college work, I can tell you it is very hard to pin down exact specs from PSREFs… But I digress.
The PSREF covers several regional combinations, but I got Lenovo’s UK 12GB/128GB configuration:
MediaTek Kompanio Ultra 910 (eight cores: one Cortex-X925 at 3.63GHz, three Cortex-X4 at 2.8GHz and four Cortex-A720 at 2.1GHz), with an Arm Immortalis-G925 MC11 GPU
MediaTek NPU 890, rated at up to 50 TOPS
12GB of soldered LPDDR5X-8533 RAM and 128GB of soldered UFS 3.1 storage (the upper tier has 16GB and 256GB UFS 4.0)
14-inch 1920x1200 60Hz OLED display (non-touch), rated at 400 nits and 100% DCI-P3
5-megapixel webcam (with the classic Lenovo privacy shutter)
60Wh battery (charging via USB-C, of course, and I got the 45W power adapter)
On unpacking the machine, I immediately noticed how light it feels compared to its size and metallic finish (I suppose Apple and Microsoft have conditioned me to expect meaty, weighty slabs of aluminium). Lenovo build quality for low- and mid-range machines has always been one of the reasons I favoured them (I have an IdeaPad Flex 5, which was a great investment), and the fit and finish do not disappoint.
The overall feeling is somewhat like a MacBook Air, although at 314.2 x 219.1 x 15.79mm this non-touch configuration is roughly one centimetre wider and deeper than the 2022 13-inch Air, even as it is a little lighter–one of the reasons for that is that the lid is aluminium but the bottom is ridged PC-ABS, which also gives it a good grip:
The ridged plastic base keeps the weight down and gives fingers something to grip.
One thing I liked immediately (especially considering my recent experience with the Surface Laptop) is that the small lip above the webcam makes the lid easy to open by feel alone (and yes, it passes the one-finger opening test). This serves the same purpose as the MacBook’s classic under-trackpad bevel, although it is a little annoying considering it sticks out just enough to cause friction when sliding the laptop into a bag.
Connectivity is basic but sensibly laid out:
A 5Gbps USB-C port on either side (both supporting charging and DisplayPort 1.4)
An additional 5Gbps USB-A port on the left (next to a charging LED) and a 3.5mm audio jack on the right
There is no HDMI socket or card reader, but being able to charge from either side is definitely useful, and the Chrome reminded me of how plain nice it is to have a charging LED. Seems like a feature Apple would value, right?
I got a machine with a UK keyboard layout, which has been amusing because I had forgotten how awkward it is to use some common symbols on it (which I mostly fixed by switching to a US international layout).
Accessibility and Dictation each get a dedicated key, the latter being uncomfortably close to the power button.
The keyboard itself is simultaneously classic Lenovo (slight bottom-edge rounding, tactile and bouncy) and classic Chromebook (with a Google logo “G” key and the Caps Lock key optionally doubling as an “action” key for emojis, search, etc.). It is also backlit, although at a single (dim) brightness level.
Sadly, this model (being the lowest in the range, as far as I can tell) does not have a fingerprint reader or any other biometrics, which meant some awkward moments when I kept reaching for the power button to log in.
The trackpad is a generously sized 120 x 75mm glass-like Mylar surface. It is smooth and accurate enough that I did not reach for a mouse during normal use, although the mechanical click is more conspicuous than the rest of the machine (I’m a tap-to-click person, so I never really pressed it).
Curiously, I initially thought pinch-to-zoom was not supported, but after a ChromeOS update it suddenly started working.
The same update also made three-finger overview and four-finger desktop switching more responsive, which is why I remember it distinctly.
The display is, in a word, gorgeous, and I didn’t expect it to be this good. It’s a very crisp, 14-inch 1920x1200 OLED panel, with the slightly taller 16:10 aspect ratio I prefer and thin bezels, at the top of which is mounted the 5 MP webcam:
A physical privacy shutter for the webcam, and a raised lip that makes the lid easier to open.
Lenovo rates the display at 400 nits and 100% of DCI-P3, and the combination of deep blacks and vivid colour is immediately obvious without looking at a specification sheet. The great contrast and legibility are something I’ve taken for granted on MacBooks, and it’s been one of the main reasons I kept picking up this machine for writing.
The only drawback I can see is that the lack of touch support makes it somewhat awkward to interact with Android applications, but I’m perfectly fine with that (the higher-specced models do seem to have touchscreens, though).
As to external monitors, Lenovo claims support for the built-in panel plus two external displays, but in practice I could only try one, and that would “only” go up to 3840x2160 on the Kuycon P20–which is pretty good for an ARM device (although my Surface can achieve more, this is likely enough for most people).
The speakers were one of the most enjoyable (and unexpected) parts of using the machine. There is a Dolby Atmos logo right under the left Ctrl key, and the speakers sounded unusually full for a Chromebook–music has enough warmth and stereo separation that it was a pleasure to listen to, and the bass was, if not MacBook-grade, at least serviceable for the eclectic mix of jazz and baroque that I favour these days while writing.
The speakers fire upwards through the grilles beside the keyboard, but there are two discreet bottom slots as well, which helps explain why they sound larger (and weightier) than the machine would lead you to believe. And since the Chrome is completely fanless (one of the nice perks of modern ARM machines), there was no fan noise to spoil the effect.
The Chrome worked seamlessly with my Wi-Fi 6 network, reporting nearly 1Gbps on the 5GHz band, confirmed both by my internal OpenSpeedTest instance and the OpenWrt stats:
OpenSpeedTest over the home LAN: 912.6Mbps down, 1022.6Mbps up and a 2ms ping.
Steam Link, which is particularly finicky with network bandwidth on Android, worked perfectly–and the game streaming experience was excellent, with very low latency and good video quality. In fact, I ended up playing Control and Hades 2 over Xbox Cloud Gaming a couple of evenings as well, which was a delight on this screen.
The Kompanio Ultra 910 is the interesting part of this machine, and was the reason I sought out this particular model. It is marketed as a very power-efficient eight-core ARM SoC with an Immortalis-G925 MC11 GPU and a 50 TOPS NPU. In ordinary use it feels very snappy even with multiple tabs, Android applications and several virtual desktops open. And given my hatred of fan noise, I was quite pleased to see that the whole package is passively cooled–there is no fan whatsoever, even if the underside gets a bit warm when running Linux.
The 60Wh battery turned out to be another benefit of pairing ChromeOS with ARM. Curiously, the diagnostics page initially showed that my unit had already accumulated 21 charge cycles and was at 97% battery health:
Battery health was still at 97% with the cycle count up to 33.
I thought that was due to it being in storage, but after a few weeks of my using it, the figures are consistent with this sample having been in use for a while. In practice, though, the battery has been excellent.
The first time I used the machine, straight out of the packaging and after minimal charging (reporting 100% full, but really just a top-up), the Lenovo Chrome lasted me easily two days of partial use (roughly 3-4h a day) before I started using developer features.
Over one weekend I charged it late on Sunday evening; over another I charged it on Monday–and both times it took under an hour to top up. And then I realised I could turn on battery optimisation (i.e., “low power mode”), which nearly doubled the machine’s runtime for writing and research.
This means that I was able to get nearly two full working days from this (3/4 of that if I used any Linux apps, and around a day of intense local development).
This is where Lenovo hands over to Google, and where things were a little stranger.
It’s been a while since I set up a Chromebook, but I noticed that you are now asked during setup whether you need Microsoft 365 support, which effectively enables OneDrive access.
However, I decided not to cross the streams and connect OneDrive directly. The consent screen grants the ChromeOS “Connect OneDrive” extension full access to read, create, update and delete my files, as well as ongoing access when I am not using it, and… I just don’t want that to happen:
Full read and write access to OneDrive, including when the app isn’t in use, was more than I wanted to grant.
It’s not clear how the connection is handled, who owns the keys or whether anything running in Google’s cloud can access OneDrive, so I skipped it.
This kind of integration is, sadly, something nobody seems able to get right–or make understandable enough for regular people to use, let alone people like me…
I was, however, able to use Windows App (the new name for the Android Remote Desktop app) to connect to my workplace resources just as I do on the Mac–including passkey support, via a QR code that I could scan with my iPhone. This, and the fact that Teams was able to use the onboard camera even when running from Azure Virtual Desktop, instantly promoted the Lenovo to the category of something I can reliably take with me on trips.
Even though I am not a big fan of the relatively plain look of ChromeOS window decorations (it feels like Openbox), I can’t argue against their utilitarian usability, or complain that there aren’t up-to-date creature comforts like multiple desktops and split window management:
Browser windows, Android apps and a Linux terminal share the same desktop overview.
In fact, I found the desktop experience (such as it is) very much in line with what I use daily on Windows, even down to the little layout helpers when you hover your mouse over the maximise button:
Equal and unequal splits are available alongside full-screen and floating layouts.
Gemini works OK, but I just had to do the pelican stunt…
Yes, Gemini is bundled in. Yes, I am entitled to a year’s worth of Pro usage if I put in my credit card information. No, I did not do anything with the offer–as you’d expect, given I roll my own AI assistant, I did not feel like committing to it. But I did use the built-in Gemini Notebook application (which is a web view into NotebookLM) for quite a few things, and I did try all the Chrome-baked assistance for searching, editing, etc., even though it could get pretty intrusive–I would get one of these every time I clicked in an input field, for instance:
Writing and image-generation prompts kept appearing where I just wanted to type.
Then there were the things I expected to work but just didn’t, like translations:
Help me read couldn’t handle the selected Chinese text.
But what I found most useful, given my penchant for testing accessibility features, were camera-based head tracking to move the mouse cursor (which worked very well indeed) and dictation support, which was instantly available everywhere by hitting Google+D or the dedicated key right next to the power button. That placement led to some finger fumbling, and I occasionally suspended the laptop by mistake…
Dictation worked consistently better than what I get on my iPad–it doesn’t have the new Rambler AI-powered post-dictation clean-up, but the speed of recognition itself and tolerance for pauses and changes in inflection were impressive.
From what little I tried in the various bundled apps, I’d say that if you’re committed to Google, you’ll find the Gemini experience useful, even if I ended up installing the Android versions of both Copilot and ChatGPT for my personal workflows.
One of the first things I did was to install Syncthing, Obsidian and Tailscale, as well as a few other staples:
Syncthing, Obsidian and Tailscale sit alongside Google’s defaults in the launcher.
Tailscale was immediately recognised as a valid VPN app and seamlessly integrated into the system (something I didn’t know Chromebooks could do):
The Android version of Tailscale integrates with ChromeOS’s own VPN controls.
However, after a while, I realised I needed to sideload apps to take full advantage of Android–ChromeOS Developer Mode requires you to completely wipe the device, but enabling ADB debugging is a separate option that doesn’t require Developer Mode. What I eventually did was to enable ADB debugging and use the Linux environment to install apps locally–that works perfectly, but still plasters a red warning under the login screen that reads This device may contain apps that haven't been verified by Google.
Things have improved tremendously since the days of my Acer C720, when I first installed crouton and eventually replaced ChromeOS entirely, dealing with assorted hardware tweaks along the way.
The built-in Terminal has its own profiles, themes and SSH settings.
Enabling Linux development support is now trivial, and it creates a Debian-based Crostini VM that is, for all intents and purposes, a “normal” Linux environment–the Terminal application is integrated with ChromeOS (you can mount any folder on the system into it) and has its own appearance, keyboard, mouse and SSH settings, while the VM exposes the usual command-line tools and package management, as well as an interesting assortment of virtualised devices:
An ARM64 Linux environment, with Virtio devices handling storage, networking and sound.
Sadly, that does not include Vulkan graphics acceleration. It is still perfectly usable, although I did not push it to the limit–my goal was to try the regular Chromebook experience rather than turn this into another Linux laptop, but all of the basics worked, including setting up and running VS Code:
The Linux version of VS Code runs locally alongside ChromeOS applications.
In fact, I ended up doing a fair amount of development on this, mostly to prove to myself that I could take it on a trip and have all the essentials:
VS Code for full-stack development (and a full copy of this site, including all the Go back-end and rendering code)
Enough of the Android SDK to build, deploy and debug an Android app completely locally, even on this relatively low-powered machine–something that is still impossible on an iPad.
I am currently developing gi (my new TUI harness) on it, because it’s more than fast enough for it–again, something that was most definitely not on my bingo card.
I should mention that despite some of the bundled apps being games, the MediaTek chipset does have one drawback: there is native graphics acceleration for Android games, but most emulators and off-label gaming hacks currently swear by Qualcomm’s Adreno GPUs, and most of the “alternative” GPU drivers you’d normally rely on for Vulkan graphics acceleration are not compatible. This meant that currently trendy hacks like GameNative and DroidDeck would simply not work, although to be honest that is a very niche thing indeed.
However, like I pointed out above, Steam Link and Xbox Cloud Gaming work perfectly fine, allowing you to play more demanding games via streaming rather than relying on the local GPU–and considering that you can probably do that for a long time with this combination of battery life and lightweight hardware, that’s a perfectly viable way to enjoy gaming on this device.
But that only makes me quite curious about how Googlebooks will fare in this regard, since there is a pretty big market for mobile gaming on Android devices right now, largely driven by emulation and the availability of decent performance GPUs in relatively affordable devices (plus FEX and Proton on ARM are evolving very quickly).
Android apps update automatically via the Play Store, but ChromeOS is also frequently updated (I’ve gone through at least three updates in roughly two months), and even though things like trackpad responsiveness were definitely a part of the experience, the last few release notes were almost exclusively about new AI features:
The release notes give Lens shopping searches more prominence than everyday usability fixes.
Surprisingly, I have very few, and they’re mostly related to the somewhat visible gaps in this combination of ChromeOS, Android and a desktop system. Some Android apps didn’t like being used in a desktop environment (not really news for anyone playing with Samsung DeX routinely). There are two Settings apps (one for the embedded Android, which will pop up when you are doing vaguely off-label things like developing on it), and there is a clear lack of unified visuals–Android was never the most consistent thing visually, but throw in a “normal” desktop Chrome and you have yet another UX flavour adding to the dissonance.
And yet, all the slightly weird basics I tried worked: Japanese input, mouse scrolling, dragging, etc. It’s arguably better than a GNOME desktop simply because I could seamlessly copy/paste text, rich text and even images across Chrome and Android.
File management is still a pain, though, so even though I could sync my Obsidian drafts using Syncthing and resort to VS Code, I had to struggle with the somewhat awkward Android-ish-but-not-quite filesystem arrangement.
But by far the biggest annoyance for me has been the somewhat arbitrary choice of things that the built-in Chrome browser refuses to download by default–SVG images, ZIP files from my LAN machines, the occasional (seemingly random) plaintext source file, etc. It seems to be fixable via security settings, and when I find out exactly how I’ll update this post.
Even considering it’s designed to a cost and unapologetically plastic, I think this is a great machine, and Lenovo has executed it very well. Although I prefer the 3:2 display ratio of the Surface Laptop I have been using for a couple of months now in parallel, I invariably reached for the Lenovo at the end of the day instead of my iPad because of the larger OLED display, full keyboard and overall lightness.
In fact, I think the best thing I can say about this laptop is that I literally had to force myself not to reach for it.
Although it is true that I am in a fairly unique position these days since the vast majority of my tooling only requires a browser or a terminal and (thanks to my preference for using an iPad) I moved all the specialist apps like Blender, OrcaSlicer, etc. to remote VMs over the years, this is a great writing machine–to the point where I ended up creating a web-based writing workshop to get around the need to sync my drafts to it.
Writing Workshop keeps the formatted draft and editorial suggestions side by side, entirely inside Chrome.
Yes, Writing Workshop was created because I wanted to have a proper WYSIWYG experience inside Chrome that was as close as possible to what the device was intended to do (and use AI to improve my writing, not generate it wholesale). I might have gone a bit overboard here, but I regret nothing.
As to committing to Google… No, I did not move my personal e-mail onto the device (well, I do have one Google account I regularly use, but it’s not my primary), and no, I could not quite commit to Gemini, but being productive on this machine was far less hassle than I expected: everything Android that I really needed worked. Even if the UX polish wasn’t there, the basics worked: I could sync my files to it, use Android equivalents of a few iOS apps, run VS Code, and even connect to corporate resources with… zero hassle really.
And it must be said that I was able to do some of those uniquely because Google, unlike Apple, lets me develop and install my own apps locally and gives me a perfectly usable Linux sandbox. What a novel concept, to be able to develop applications for your hardware… on your hardware.
As an Apple (and primarily iPad) user, the overall experience was… sobering. Yes, Apple has (temporarily, at least) gone “down-market” with the MacBook Neo to address the low-end laptop market, and I know that Googlebooks have a lot of challenges to overcome (with Google itself probably the biggest one), but I now find the prospect of them tantalising, as long as I am still able to install and run what I want.
I definitely want to try a Googlebook as soon as possible. There’s a there there for sure, and no matter how people feel about it (and Google), I think it has the potential to be a genuinely compelling device for my workflow.
Oct 3rd 2026 · 2 min read
·
#ai #dev #gherkin #life #tdd
This week was a bit different. For starters, it rained. And I visited the local office. And I consciously set aside hours to catch up on my writing instead of herding AI or doomscrolling, and again, failed at a bunch of that because–well, I lied.
Work has been… odd, discouraging and, above all, draining, so I’ll just get that out of the way: Every time there is a reorganization, a bunch of wheels are reinvented. That is fine; it’s part of the transition process. But the kind of wheels that people focus on during those transition periods is, I think, the most telling signal of whether that reorganization actually needed to happen.
That said, after a late-night stint last Friday pouring a bit of my soul into an internal project that might actually be fun but ultimately pushed the “buffer zone” between work and real life into the red, the week was finally over and I could sit down and focus.
I’ve been trying a new tactic for doing small projects, which is to have AI take my SPEC.md, generate a set of Gherkin files (which I then revise) and then develop the code from there–either as pure TDD or using the feature files as oracles for the actual tests.
And guess what? It’s mostly worked (I have three or four working examples, and I’m actually writing this on one of them), although retrofitting it to an existing project can be quite messy. As an extreme example, I took my Python MCP server for office files and my Go OOXML library, moved all the fixtures and test cases to a separate repo, and left a few agents to hash it out with the current test cases as grounding. They are still at it.
However, I see great potential in doing this for real TDD:
Humans take literally forever to agree on what a user story should be.
Gherkin gives me a compact, almost Python-like and formulaic take on the desired outcome(s) for a feature, action, etc. In short, it makes things a lot more deterministic and predictable.
I can match each feature to a part of the SPEC.md without losing the opportunity to refine it (and break it down if needed) in a machine-readable format.
And the LLMs do not need to reinterpret the features. They can help draft them, but once Gherkin scenarios are wired to tests, you can stop spending tokens reinterpreting them and just… run the tests.
Looking back, I am starting to realize that most of my hacks for herding AI are actually about removing it from the equation–my MCP designs bake in workflow guidance, my original development approach tried to set things on rails from the start, and now I’m just putting blinders on it.
As a way to sneak some minimalism back into my computing, I’ve gone “back” to TUIs and spent a little while working on gi, which is now more pleasurable to use and much more pi-like (same commands, same UX, mostly because I very much like its minimalism and you can’t go wrong with that).
Oct 2nd 2026 · 1 min read
·
#apple #macos #photography #raw
Redlamp was developed by one of the most talented Mac developers I’ve worked with in the past, and I’m very happy to see it–especially considering the way Apple completely neglected Aperture, and the shambles Photos still is if you have an inkling about real photography workflows.
It’s a native RAW editor for Apple Silicon, written in Swift and Metal, that opens folders directly and keeps edits in sidecar files. RAW development, masks and local adjustments, reusable Recipes and film looks are already there–although it’s still pre-alpha, with crop, healing and lens corrections on the roadmap.
Library management is further down the road too, so it isn’t a full Aperture replacement yet. I’ve added an app page with a screenshot and a few notes, and I look forward to using it from now on.
Oct 2nd 2026 · 1 min read
·
#apple #exchange #macos #mail #microsoft #outlook
The writing has been on the wall for EWS in Exchange Online for ages, and Apple’s promised Graph support still hasn’t shipped; M365 can temporarily keep EWS enabled until April 2027, but right now some tenants may effectively kick out Apple Mail/Calendar, which is just stupid because it is definitely not Microsoft’s fault that EWS is being phased out in favor of a better, much more flexible approach.
I have zero idea about why it’s taking Apple this long to get their act together, since EWS has been feature-frozen since 2018 and Graph has been meat and potatoes stuff for ages. Even though I do run Outlook locally for my (very rare now) consulting/advisory work, I am not looking forward to being locked out of my accounts just because Apple effectively stopped maintaining its cloud account integrations and has been phoning it in for the last 3 or 4 macOS releases–not to mention that, as I’ve found over the past couple of years while trying to automate stuff, it is effectively impossible to have a unified local API for contacts, calendars and to-dos that actually works, let alone e-mail…
So I guess it’s a moderately good thing I’ve been using Graph wrappers for years now to get around Apple’s inability to maintain things, no?
I’ve been watching the launch of Meta’s Muse and OpenAI’s Dots somewhat… bemusedly, if you will. Being a regular Verge reader/listener, I am partial to Nilay Patel’s take that Silicon Valley’s “software brain” mentality has obscured both a lot of the actually practical uses of AI, and the unvarnished truth that the vast majority of people simply don’t care—or that they do care about the privacy and productivity impacts.
Being too close to the coding agent madness (I am still poking at various agent harnesses, and feeling guilty about spending too much time yak shaving rather than actually using them for achieving more in other domains), I think that we’re at a weird plateau where:
We definitely have far too many interpretations of what an agent harness is
There is zero standardization on workflows (skills and MCP servers are still duking it out at both ends of the extensibility spectrum, but every user ends up creating their microcosm of weird little agent integrations)
I feel we’re coming to another plateau of decreasing returns, because even as models keep getting (arguably) smarter, what you can do with them beyond flashy demos hasn’t really gelled into useful outcomes yet.
Or maybe there are now just too many useful outcomes lost in the noise—it’s actually hard to tell. But if you thought we had far too many note taking apps (and workflows) in the world, this continued Cambrian explosion of agent-related things will seem very familiar.
However, unlike coding agents and all the hustle currently pervading the startup world, mainstream consumer agents target the way you go about managing your life—which may or may not involve note taking, but is quite likely a very personal, somewhat inconsistent and occasionally messy process–just like note taking.
And I think AI is not going to be much help with that, other than remove toil (yes, it will sort out your inbox for you and research your travel itinerary). But I keep seeing funky lifestyle demos, agents that shop online (why the heck would anyone trust an agent to buy clothes for them?) and other fairly contrived examples that I (and I suspect most people) would never delegate to another person, let alone an AI that would love to have access to my credit card number and tell advertisers I would love to know more about their products.
Somehow, I don’t think there is a good fit here. I think there’s a pretty decent chance that the idea of a Her-like assistant, however seductive, neither fits the way most people think about AI nor the sales and advertising business models that I can glimpse just underneath the surface.
I’ve come across most of these, but I’m still stuck on the papercuts I wrote about a few months ago. I have other priorities these days, and repeated exposure to Apple’s lapses in UX and QA judgement has somewhat dulled my senses.
iPadOS, meanwhile, still has weird bugs involving Spotlight and external keyboards, and those have been driving me nuts constantly.
Work was gruelling this week, with the rather unwelcome result that I didn’t exercise at all. I also fell asleep on the couch most afternoons/evenings just after closing shop–which ought to give you some idea of how much energy I had left for anything else.
I managed to, somewhat on autopilot, do a few updates on various projects (or yell at AI to do so, depending on the level of guidance required), but I’m late with a bunch of reviews and need to take some time to rest and do nothing even vaguely productive, so this is about as deep as this week’s update gets.
As an encore, the ageing RTX 3060 in borg has been repeatedly acting up at the worst possible time, and dropped off the bus for the third time this week just as I was drafting this. If anyone has a spare DGX Spark they want to get rid of (ha!), now would be a very good time.
I do have a very nice ARM64 workstation that I haven’t yet found time to add to my cluster, but I probably need to burn a heap of money on a Mac mini or a DGX clone as a Christmas present to myself, so I’m saving up. If you’d like to chip in, it would be much appreciated.
For now, I’d just like to get through the rest of the weekend without finding something else to fix…
Update: If you’re a fan of SuperGiant or their Hades games, this concert recording of their music is an excellent way to spend an hour or so. These people deserve every single bit of the success they achieved.
In Nilay Patel’s Decoder conversation with Mark Gurman about John Ternus and Apple’s next big thing, Gurman describes something camera-equipped AirPods might eventually do: look at an email on your computer screen and help add an event to your calendar. And that was when he lost me.
It’s a bit insane that we’re past mid-September and my living room is still sitting at 29oC at 7AM, but such is life in the late Holocene, I guess. Regardless, the shift towards Autumn is starting to show, and I’ve had a couple of days where I suddenly realized I was working “late” into the evening and the lights started coming on automatically (never a good sign unless you’re having fun).
Still very much in line with the overall return to work mood of the past few weeks, I thought I’d post some notes about work gear.
You see, I have been using a “Surface Laptop for Business 13in 1st Ed with Snapdragon” (I kid you not, that is what it is called) for a couple of months now.
As my AI policy points out, I do revise my posts with AI, but until now, I’ve resorted to post-draft LLM passes that take a bunch of SKILL.md files and either fix outright typos and misspellings or add editorial blockquotes to my drafts. The entire process feels needlessly technical in the sense that doing it inside vim or VS Code (typically as I bring stuff together for a final draft) detracts–or, rather, distracts me–from the writing experience too much, and sometimes automated replacements slip through.
This is kind of huge, considering that I’ve always wanted an actual M8 (and built a headless one into a TrackerKB with its own keypad), but the hardware is extremely expensive. Having an iPad version that works as intuitively as you’d expect with an iPad keyboard is a very welcome surprise, and I’ll be trying out Bluetooth gamepads as well ASAP.
It feels good to have something like this pop out of nowhere and grant you some respite from depressing industry hype and even more depressing work stuff… Especially since it sounds amazing on the iPad Pro speakers.
Given how much time I’ve been spending on small native apps and my swift-app-template, Swift Build becoming the default in SwiftPM is probably the bit of this release I will adopt soonest. Having the same build system on macOS, Linux and Windows is welcome, as is Subprocess finally reaching 1.0–I still have plenty of uses for Swift outside SwiftUI. Being able to await inside defer and shield cleanup from task cancellation also sounds useful for the sort of audio and background work I’ve been doing in swift-smart-prompter, but to be honest that’s the kind of thing that I would prefer to do in other languages without weird idioms.
The WebAssembly and Embedded Swift improvements are tempting, though. The WASM SDK is now available directly from Swift.org, JavaScriptKit’s safe bridging is apparently up to 40 times faster than the older dynamic approach, and microcontrollers get more flexible types and error handling. None of this fixes my complaints about SwiftUI, but I would quite like to use more Swift without having to drag Apple’s frameworks along with it…
Following up on my testing of the LattePanda Mu and IOTA, this time I’m looking at the Sigma, which (as is becoming the norm with my recent pieces) I actually got before summer break.
Even though my personal calendar is now filled with a smattering of fresh events, I am quite happy about the ones that don’t involve health, legal and tax annoyances. My back and other ailments seem to be stabilizing thanks to daily exercise and my having dedicated some time to cooking my own meals, which, besides being cheaper (a concern I’ve been having of late), also forces me to stand and move about, not to mention giving me an excuse for handling very sharp knives in very satisfactory ways.
Besides the showmanship demonstrated by the keynote opening (nice touches there, Tim) and the visual effect when you open it, the iPhone Duo is… strangely familiar, and yet, somehow just strange as well:
Only yesterday I was discussing Mistral off-work and pondering what they might be up to, given both their EU lobbying – which fits rather neatly with the European AI pitch I wrote about in April – and the fact that they haven’t been doing a lot of actual model releases (in practice, nothing really new, or at the same pace as other labs).
I guess that they are positioning themselves squarely in the sovereignty arena, where a few other European companies have already started providing generic open-weight models for privacy- and US-sceptic customers that don’t want to be dependent on the whims of non-EU administrations. It’s a decent market to be in in Europe, but feels too regional, and I hope they get back to improving their own models, which are substantially lagging behind by any benchmark (if you care about benchmarks).
My LG TVs are too old/dumb to fall into this lot, fortunately, but what I want for my next TV is a huge, dumb monitor, and reports like this are why. Gamers Nexus and Level1Techs apparently found LG TVs recording audio with the screen off and storing it for later upload, besides snooping on other devices on the local network. I don’t know how much of this applies to European models (the article doesn’t establish that), but I would very much like someone to check rather than assume GDPR has taken care of it.
I’ve been complaining about TVs spying on their owners since 2012, and about the lack of EU scrutiny in 2024 and 2025, so this is getting a little tiresome. The European Commission keeps harping on Apple, and I suspect that has rather a lot to do with it being a much more recognisable brand–going after Apple has immediate political impact, whereas investigating what LG and the other TV manufacturers collect inside people’s homes seems to be nobody’s priority.
The desire to own an Apple Studio Display has probably been hanging over most Mac desktop users since time immemorial (well, since 1998 at least, but most people are more familiar with the “modern” 2022-era look) for two reasons:
As many people have remarked, the moat between ideas and technical execution is narrower than ever, and that has a number of consequences–both when it comes to investment (in this case, personal, although I am collecting war stories…) and focus.
And I think I need to be more selective about what gets my evenings, since I am back at work and already spending too much of my free time building things on a computer.
I have a long and somewhat embarrassing history with LISP that goes back to the years when it was fading from academia and LISP machines were giving way to Macs and DECstations (a transition that should be familiar to anyone who read the UNIX-HATERS Handbook), so I got properly hooked on Clojure when it came out.
This is indeed the end of an era. As I wrote when the transition was announced, Cook built Apple into what is probably the most formidable product manufacturing and logistics organisation on the planet (I remember when Nokia was considered the same, albeit only for mobile phones), and Patrick McGee’s Apple in China makes the sheer scale–and strategic cost–of that achievement painfully clear.
But Cook was never a product person, in my view, and that showed in the decline of overall software quality over the years. Contrast that with the tremendous growth in services and the sheer volume of the App Store–run by Phil Schiller, who is also changing roles today–and the lasting impression is one of relentless efficiency, perhaps a tad lacking in soul.
Everyone has high hopes for Ternus as his successor, particularly around QA and actual product focus. Cook will stick around as executive chairman to deal with politics (his understated main focus these days), but I am going to reserve judgement for a year or so…
Aug 30th 2026 · 3 min read
·
#eink #productivity #readers #supernote #xteink
I’m now back to work and already embroiled in far too much, so I’m going through my infinite set of mental checklists and trying to relax by offloading some of the stuff I never got around to writing down.
While I was on vacation, one of the things I did was tune out (as much as possible), which meant relying more on my e-ink devices.