HNHacker News
TopNewBestAskShowJobs

mwcampbell

11,184 karma · joined February 6, 2013

Note to PR folks: I'm not the InfoQ.com editor named Matt Campbell. Please don't email me about your upcoming press release. If anyone knows a better way to clear up this confusion, please contact me.

I'm a software developer specializing in accessibility for blind and visually impaired people. From mid-2017 to late 2020, I worked for Microsoft on the Windows accessibility team, though my comments were always my own opinion posted on my own initiative.

I'm legally blind myself; I have enough sight to read a desktop computer screen up close with slightly enlarged fonts, but I often use a screen reader when browsing the Web, doing email, and other tasks that don't involve code. (Don't get me wrong; totally blind people can program, but I never got used to doing it that way myself.)

Of course, there's more to me than visual impairment. When it comes to programming, I'm also particularly interested in the challenges of developing cross-platform applications that integrate smoothly with the host platform. Outside of programming, I love music and love to sing. Pre-COVID, I often did karaoke (of course, I memorize the words). And like many nerds, I read science fiction.

Email: mattcampbell@pobox.com

Twitter: @mw_campbell

Blog: http://mwcampbell.us/blog/

Location: Wichita, Kansas, US

[ my public key: https://keybase.io/mwcampbell; my proof: https://keybase.io/mwcampbell/sigs/9sbxkfOoTyW6C8IiDB50bP_ZWa-V73AfbdmvUlfOKe8 ]

submissionscomments
mwcampbell··on You Are No Longer Invited to Dinner
> Something quite deep in the human psyche seems to want desperately to turn off our self-talk and silence our nattering internal monologues by turning up the volume of other characters’ voices.

Over the past few years, rather than seeking to drown out that internal monologue with external entertainment, I've found myself feeding that monologue into Claude to have what I know is an ersatz conversation. And sometimes I work with Claude to write stories around whatever I'm thinking about, basically a form of escapism and sometimes wish fulfillment through personalized fiction. How weird does this make me? Is it inherently unhealthy?

Edit to add: To tie it back to the theme of the article, the result is, of course, the same; I spend more time alone, less time talking with real people.

mwcampbell··on Once Claude can measure something, it can make it faster
I doubt that they could iterate from where they are to an optimal solution though. What would have gotten them there more reliably is a development culture that would have found it disgusting to even consider shipping that much JS in the first place. And I don't buy the "then they never would have shipped at all" argument in this case, because, unlike the case of shipping cross-platform desktop apps before Electron, we did ship plenty of web apps, including interactive chat-shaped apps, before it became easy to unthinkingly ship a JS bundle that big.
mwcampbell··on We built our house for LAN parties (2024)
I'm actually curious about why you didn't spend yours on reviving Sandstorm. If the terms of your employment with Cloudflare prevent you from doing that, then that makes sense. Or do you believe you've been building Sandstorm's true successor at Cloudflare? For a while the Workers platform didn't satisfy the self-hosted part, but I guess workerd addressed that.

For what it's worth, if I had $10 million, I currently think I'd spend it as follows:

1. Developing and bringing to market my dream open, general-purpose pocket computer specifically for blind people: https://toot.cafe/@matt/116788125409771800

2. If there's enough left, buying the ETI-Eloquence text-to-speech engine from whoever owns it now and open-sourcing it.

mwcampbell··on Feeling Sad about AI
I'm still inclined to question whether the agent harness needs to be a million lines, or even a hundred thousand lines, in the first place. I mean, isn't one supposed to just hook up tool calling and let the LLM's intelligence do the rest? At least, that's the way it appears from things like tptacek's post about writing an agent. https://fly.io/blog/everyone-write-an-agent/

Then again, I'm also sympathetic to the idea that the anti-AI backlash has also provoked an unreasonable backlash against development speed and scale themselves.

mwcampbell··on Feeling Sad about AI
I don't actually buy that tweet from Boris Cherny. When the Claude Code source leaked some months ago, there were many posts on Mastodon about how the revealed code was a shit show, a big pile of hacks. I wish now that I had bookmarked some of those posts.
mwcampbell··on Shopify is moving from React Native back to Swift and Kotlin
This is probably biased by the specific multi-platform apps I've worked on, but my default assumption is that sooner or later, any non-trivial multi-platform app will need to reach for something that doesn't already have a KMP library and that, on Android, might require compiling native code via the NDK. Rust has a way bigger library ecosystem than KMP. So I figure one might as well do the cross-platform core in Rust and add that FFI boundary early, but managed by something like uniffi-rs. And, I've seen it work in a few real projects now, with just a little build system friction up front. So in what sense is Rust uncompetitive for this use case?
mwcampbell··on Zig: Pointer Stability for ArrayLists
So, steady-state performance that's about as good as Java or C# on average, but with memory safety, much smaller baseline executable size (yes, even compared to GraalVM Native Image; I haven't checked current .NET AOT), faster startup (yes, I know that's what Native Image does optimize), and lower memory footprint? I'll take that deal, even if there's a substantial gap between safe Rust and C++ or Zig. I badly wanted something like safe Rust when working on desktop applications throughout the 2000s and into the 2010s, and now it's here, with a strong and growing library ecosystem.
mwcampbell··on The internet is kind of a predatory cesspit now
> People don’t get it. I’ve given up trying to explain. Systems thinking isn’t as titillating as conspiracism, doomerism, or misanthropic cynicism I guess.

OK, you've explained it, and I think I buy that explanation. But now what do we do about it? At least the conspiracism gives us an enemy to be angry at and maybe try to fight.

mwcampbell··on Apple caught off guard by AI demand for Mac Mini and Mac Studio
> Their stuff is already better than what nVidia is offering with stuff like the DGX Spark.

How so? In tokens per second when running major open-weights models, or something else?

mwcampbell··on Kubernetes on Oxide: How customer needs shaped our integrations
A heavy way that, as typically used, goes against the grain of the web, particularly for document-centric sites. For example, on the Oxide RFD site, the RFD links don't do a real browser page load, but use JavaScript to fetch the new content and update the page in-place. This breaks the experience of screen-reader users unless the site or framework does some kind of workaround (which, somewhat to my surprise, the Oxide RFD site doesn't do), and even then, it doesn't match the experience of doing a real transition between pages with a screen reader. For something like the Oxide RFD site, I'd be much more inclined to use something like Astro or Marko, with minimal client-side JavaScript and no SPA-style navigation.
mwcampbell··on AI is removing the middle class of software engineering?
The difference is that with software before the rise of giant machine-learning models, the software is derived entirely from human-understandable source, and often a full software stack can be built on a single computer, as anyone who ever ran Gentoo knows. While the source of any non-trivial software stack is too large for any single human to understand in full, a single human can understand any part of it. That's not true of model weights. And my understanding is that even the smallest open-weights models that are remotely in the same class as LLMs require large computing clusters with powerful GPUs to train. That puts training a model, or retraining one from its true source materials (the training data and processes), in an entirely different class than rebuilding Gentoo, even with GNOME, Firefox, LibreOffice, etc., even if the training data and processes are available, which they're usually not. So, we should treat these models as a different kind of thing than the tools that we developers have worked with until now.
mwcampbell··on Ask HN: What are you working on? (August 2026)
> It's just not that hard to link to the system's UI libraries.

Are you concerned that as SwiftUI and Jetpack Compose continue to become the preferred native UI frameworks on Apple and Android respectively, you're going to need to figure out a way to bridge to them from Rust?

mwcampbell··on Ask HN: What are you working on? (August 2026)
Wait, why involve wasm in this?
mwcampbell··on Is it all just vapourware?
I respect the people who still haven't tried. They held a firm line when the rest of us were drawn to the shiny new thing. They're not becoming dependent on yet another centralized service (let's be real, the big centralized models are still way better than the open-weights models that most of us can run, particularly for coding). They can still develop software with nothing but their own computer, and that computer doesn't even have to be particularly new.
mwcampbell··on Kimi-K3 on HuggingFace
To steelman the haters, I think their view is that the industry is so uniquely shitty that it's unconscionable to help the industry at all by using the tech, which is a product of that industry.
mwcampbell··on Python 3.14 compiled to metal – no interpreter
I wonder how you arrived at that number. Is it perhaps a number that we should aspire to, if we want to write high-quality, maintainable code by hand?
mwcampbell··on Jamesob's guide to running SOTA LLMs locally
> once the RAM bottleneck passes

Do we have evidence that this will actually happen? Maybe the belief that it won't pass is what requires evidence, but I think there's a widespread feeling right now that things are just getting permanently worse and this is one example.

mwcampbell··on We need tech news sources which exclude AI
Compiler developers didn't hoover up as much human creative work as they could, legally or not, to evolve a giant inscrutable thing that does what it does probabilistically, with the explicit goal of replacing as much human labor as possible for the enrichment of the already rich. Whatever benefits we get out of generative AI are just a side effect, and one that may not last when the investors stop subsidizing our access to the big models.
mwcampbell··on Apertus – Open Foundation Model for Sovereign AI
Well, the frontier models aren't freely available in the same way that the training data (the public web) is; they're only available as a limited no-cost tier of a paid service.

There are models where the weights are released and you can run them locally, but one counter-argument I've seen is that these aren't really the models that people are excited about and making extraordinary claims about.

mwcampbell··on Ask HN: Will programmers write more efficient code during the memory shortage?
Rust with wxWidgets via wxDragon has recently become a viable option for some kinds of apps. It even has dark mode now. wxWidgets comes with a disappointing amount of bloat though.
mwcampbell··on AI coding at home without going broke
I invested about $4,000 in an NVIDIA DGX Spark several months ago. 128 GB of unified RAM, and the NVIDIA GB10 chip. With the RAM, the several CPU cores, and the 4 TB NVMe SSD, it's a very capable ARM64 Linux computer even without the GPU, and so far I've mostly been using it as such. But I wonder, what's the most capable model, specifically for coding, that can run well on that hardware?
mwcampbell··on Gooey: A GPU-accelerated UI framework for Zig
Have you found evidence that the code is actually low-quality, or is that just an assumption based on the fact that it's evidently largely LLM-generated?
mwcampbell··on Alberta startup sells no-tech tractors for half price
IMO the word "compute" is too generic here. To me, the most valuable thing that personal computers have brought us so far is the ability to communicate smoothly across (dis)abilities through digital text. Think of a blind student writing an assignment that can be read by a sighted teacher, or a sighted student and a blind teacher, with no transcriber mediating between them, and a blind writer being able to know what they're actually writing and correct it (as opposed to, say, using a typewriter blind). We should be able to do that, with a variety of assistive technologies for different disabilities, with far less computing power than we're using now. Edit to add: And indeed we did, decades ago, including in battery-powered devices. But now we're convinced that our "one device" needs to be able to do everything, thus it needs to have as much computing power as modewrn technology allows.

Edit 2 to add: I think it's important to be specific about what the computing is for. If you just need to solve a small number of equations, then yes, you can do that with a slide rule. But in the written communication case above, the computing is only useful when done with at least the speed of an early microcomputer and paired with digital storage and/or networking and a variety of I/O devices. Still, we don't strictly need our modern supercomputers for that use case, except that it's now considered weird and limiting to use anything less. Also, I bring up the written communication use case because there is a rising backlash against allowing personal computers at all in certain contexts, such as education, because of AI-based cheating. I don't want disabled people like me to lose what we've gained from personal computing in the specific use case I described above. Maybe the solution is to normalize using less than a maximally powerful, Internet-connected personal computer in such contexts.

mwcampbell··on ChatGPT Images 2.0
Are there any models that are specifically trained to produce diagrams as SVG? I'd much prefer that to diffusion-based raster image generation models for a few reasons:

- The usual advantages of vector graphics: resolution-independence, zoom without jagged edges, etc.

- As a consequence of the above, vector graphics (particularly SVG) can more easily be converted to useful tactile graphics for blind people.

- Vector graphics can more practically be edited.

mwcampbell··on CRISPR takes important step toward silencing Down syndrome’s extra chromosome
> “A healthy man has many dreams. A sick man has only one.”

I'm partially blind, and I know many fully blind people. None of us have being sighted as our one dream.

mwcampbell··on Are We Idiocracy Yet?
That's fine, if we only care about ourselves. I guess the harder part is convincing everyone else to unplug from mass media and not raise their kids on it.
mwcampbell··on Are We Idiocracy Yet?
Then maybe we need to kill mass media once and for all. Keep the global communication network, but let it be all small-scale communities.
mwcampbell··on Microsoft hasn't had a coherent GUI strategy since Petzold
Your argument presupposes that we should accept escalating baseline hardware requirements as good or even necessary, for a desktop computing world that was, from the user's perspective, doing pretty much the same thing as before. I reject that.
mwcampbell··on Microsoft hasn't had a coherent GUI strategy since Petzold
Yes, text shaping and layout are complex. My point is that the program wasn't doing anything that should have required a GPU, particularly for the resolutions that were common back then.
mwcampbell··on Microsoft hasn't had a coherent GUI strategy since Petzold
> WPF was good

As someone who saw what impact WPF had on average users running average hardware in the late 2000s to early 2010s, I disagree.

In 2011, my brother was in seminary, using an average Windows Vista-era laptop that he had been given in 2008. When he was home for Christmas in 2011, we were talking about his laptop, and he told me that the Logos Bible software ran sluggishly on that laptop. He said something about how, for reasons unknown to him, the current version of Logos required advanced graphics capabilities (I forget exactly how he phrased it, but he had learned that the slowness had something to do with graphics). Bear in mind, this is software that basically just displays text, presumably with some editing for adding notes and such. At the time, I just bought him another laptop.

A few years later, I happened to read that Logos version 4 was built on WPF. Then, remembering my brother, I found this Logos forum thread:

https://community.logos.com/discussion/6200

This shows that Logos users were discussing the performance of Logos on machines with different graphics hardware. For a program that was all about displaying and editing text, it shouldn't have mattered. WPF had made a bet on then-advanced graphics hardware for reasonable performance, and that was bad for these users. And that's just the one example I know about.

Page 1 of 34Next →