Question for people who vibe-code full apps, especially blind people, as I believe that covers most of my followers who do this: What would it take for you to be comfortable coding directly in a programming language without an LLM? A high-level programming language with better tutorials and quickstart templates than are currently available, particularly for writing real apps? Or do you believe that having an LLM generate the code is the only way you could practically do what you do?

en

Replying to @⁨jscholes@dragonscave.space⁩

@matt I should also acknowledge that this tendency applies beyond syntax.

People (myself included) agonise over whether or not to use a relational database, and then which one to use, and then how to abstract it away so they can agonise about it again in the future...

... And then put 100 records in it. Who cares! You could've used a text file at that point.

@nick

Replying to @⁨jscholes@dragonscave.space⁩

@matt I believe this is one of the reasons why "SaaS in a box" services (like Cloudflare or Netlify) that give you hosting, API endpoints, a database, somewhere to put files, automated deployment, and so on all in one place have proven so popular.

It's not because people like Cloudflare. It's because people hate decisional fatigue and the acquisition of knowledge when it feels like it has a poor return on investment.

In some circles, the response to this shift has overwhelmingly been admonishment for encouraging vendor lock-in—even though superbly abstracted code was supposed to avoid that in the first place and everybody's writing that, right?—along with an unconvincing insistence that learning to administer a Fedora server is really really worth it. @nick

Replying to @⁨ToniBarth@troet.cafe⁩

@jonathan859 @matt I don't fear it as in, oh no, don't take it away from me, but as in, so many people already depend on it now and are happy with it, and they'll get stripped from their favourite toy and feel the lack of ability and knowledge to start something new or even maintain the stuff they already created. Sounds like something you don't want to experience in general. And I believe it'll happen at a pretty big scale.

Replying to @⁨matt@toot.cafe⁩

@menelion @matt as someone who actually knows how to do this already i'd say it's really just the overwhelming amount of broken that stops me from hand-making everything. The code an AI spits out is generally pretty awful quality-wise, and you do have to run around the watercooler with it a few times now and again, but particularly for static tooling that doesn't change, the speed it creates fixes with is difficult to eat

Replying to @⁨zersiax@cupoftea.social⁩

@zersiax @menelion @matt So much this, and everything out there is piles and piles of complexity which I guess I could learn about if it was actually something I needed regularly but as a one-off it's more a waste of time than anything. I just integrated Android's Activity Recognition API into another project which, from what I remember of my research years back, involves lots of Google Play Services-specific RPC incantations for setting up the connection. Once that's done, I'm not going to need that knowledge again, and while the time I spent learning things for a one-off task is arguably not wasted, it's time I can never get back. That plus the brokenness of everything are probably my biggest struggles, and I can't imagine being new to this and eventually hitting those.

Also, the speed at which Claude takes 2 multi-megabyte log files and constructs abstract shell pipelines to extract just what it needs is dizzying. That's something I gather sighted folks have always been able to do way more quickly by skimming a usually ANSI-color-coded log. Even if its logic and process makes perfect sense to me, I'm not capable of slinging enough awk and sed to point at a log and identify all app-specific activity around crashes or RPC failures between this and that timestamp.

All that is to say, as someone who also knows how to do this, it feels like a larger hill to climb for blind folks because we never really had great accessible tooling for ourselves in the first place. Expecting someone to learn development and eventually grapple with a huge pile of logs or some multi-billion-dollar megacorp's bespoke pile of shit to do a thing feels like a larger ask than ever before.

That said, I don't know where this leaves us. I don't know if it's just a matter of providing one set of specific language tooling, though. Also not a particularly big fan of the solution being bellowing at my tooling several times a day because it wrote War and Peace in the doc comments again...

Replying to @⁨wronglang@bayes.club⁩

@wronglang @fastfinge @matt @nolan @zersiax I'll transcribe for you *one* line of logs, so you understand. Remember: one. line.
Left bracket, two thousand twenty-six dash zero seven dash twenty-eight T sixteen colon forty-seven colon fourteen point five hundred fifty-three thousand two hundred three plus zero zero colon zero zero, right bracket, doctrine.INFO colon Disconnecting left bracket right bracket left bracket right bracket
Notes:
1. It's an extremely primitive line of logs. Here it is in notation for normal people:
[2026-07-28T16:47:14.553203+00:00] doctrine.INFO: Disconnecting [] []
2. Punctuation symbols are in fact shortened for me, but I cannot turn them of because you know, a single semicolon in programming matters.
3. It would be super mega nice to be able to turn off timestamps, since, as you can see, it's the main pain in the bottom. However, they are not useless because sometimes you need to know when exactly this or that happened. Of course, I could set up several loggers, one with times, another without, and sometimes I do that (especially in Serilog-powered .NET apps). but still, if you need to sift through hundreds of kilobytes of them… you get it.

Replying to @⁨wronglang@bayes.club⁩

@wronglang @fastfinge @matt @nolan @zersiax It's my greatest pleasure to answer questions, so keep asking. Answer to your one is yes and no. Yes in the sense that we have dictionaries for the cases when TTS mispronounce something like a proper name (for example, a married couple of great people I know have last name Toews, but it's pronounced "Taves", to rhyme with "waves") — for such cases dictionary exists. Also, in JAWS there is a symbol descriptions file for various mathematical characters, emojis, additional letters, it stands just before the TTS, after all processing. However, more difficult hooks like you describe would have one destructive consequence — latency. Latency is the demon we fight at all costs when developing screen readers and TTS engines. Because it's like your latency when text is output to the screen. Imagine having *perceivable* latency between you typing a letter and it appearing on your monitor — it's not simply irritating, it's devastating for a working person.

Replying to @⁨wronglang@bayes.club⁩

@wronglang @menelion @matt @nolan @zersiax Yes. But this smells like a problem that requires AI to solve. Or every program ever to write better logs. As it is, how do I accessibly reconcile my web server logs, my database logs, and my storage activity, so I can track all the symptoms of an issue? Sighted people get graphs with colored lines from stuff like grifana or whatever. Blind people get four log dumps in four different formats, without even colored lines to help us, and told to just listen to every line read out.

Replying to @⁨wronglang@bayes.club⁩

@wronglang @menelion @matt @nolan @zersiax You’re correct as far as that goes. But audibly representing large amounts of graphical data is still an unresolved research problem. If there was one true proven solution to that part of it, I’d already be pushing hard for the tools to implement it. Whereas AI skips the problem entirely (when it’s not just making things up) by pinpointing and describing the small slices around the problem exactly (“Whenever anyone hits endpoint X, database Y freezes for X time because storage array W is overloaded”).

Replying to @⁨wronglang@bayes.club⁩

@wronglang @menelion @matt @nolan @zersiax Even something as simple as reading logs, establishing what normal values are, then collating and describing periods of time where values go outside of normal could help. Just knowing quickly that at the exact time this one endpoint is called disc io goes way up and database response time goes way down but cpu and ram stay within there normal ranges could help a blind human pinpoint where to start looking.

Replying to @⁨fastfinge@interfree.ca⁩

@fastfinge @menelion @matt @nolan @zersiax right, and log text has a simple structure with meaningful lines located in time with repeating glue text that has changing values attached so it's really structured data for analysis as a vector of words with a small vocabulary and (some) meaningful punctuation...

Uh, I'll poke/ask around if this is something that's been a target for model training and whether I can find anybody who has done it from this angle.

Replying to @⁨wronglang@bayes.club⁩

@wronglang @fastfinge @menelion @matt @nolan I'm halfway noodling around with making a video editor thats actually useful and THAT may honestly have to wait for a decent local model, like ... I can make an existing video editor more accessible, and I will, but to actually know what you're editing visually would take a lot more work and I don't think even ML can really help there

Replying to @⁨matt@toot.cafe⁩

@matt I think the best analog I can give for this is something like Suno. I love music but I'm only a fair musician. At this point in my life, that's not likely to change. that said, I have strong opinions about what sounds good to me. Same goes for coding. I've used computers for 40 years and I know what I like, what UI's work for me. I have great respect for people who can code well. At this point, I know realistically I'll never be one of them. So I'll vibe code.

Replying to @⁨matt@toot.cafe⁩

@matt I'm particularly interested in this question, and the related psychological effects, in relation to those who legitimately cannot read or write code for themselves.

I have a hunch that such people have a view of software development velocity and practice that we would find skewed, and that they would likewise struggle to accept just how slow and involved the process really is when an LLM isn't in the mix.

Replying to @⁨matt@toot.cafe⁩

@matt @jaybird110127 Really good, accessible tutorials and like, tool-assisted learning? Something like BT Code but not $4000. And it'd have to be as good or better than Python or Ruby. But also, like, I'm not a coder at all. And I have been able to make my Android phone almost a full computer with AI and Termux. That's not saying it's as nice to use as Windows, but like if I spent enough time on it, I think I could get there. iOS, with UTM maybe, is next. :) But it's not just the coding, it's the coding mindset that the LLM does way better than me. I bring the ideas and initiative, it does the rest.

Replying to @⁨matt@toot.cafe⁩

@matt I worked as a software engineer full time for eight years for very little pay. I became kind of soured on the process of coding. Honestly agentic coding has helped me REINVIGORATE my interest in making software again. I appreciate that I can explain what I want, get something out, and then ittirate over it and get something better. it's also giving me exposure to languages I'd otherwise not have access to. I honestly never wanted to code in the first place, but in order to get the games and software I wanted for a long time, I had to be a one man shop. Now I can focus on the things I enjoy which are designing concepts. I hope my ramblings make some sort of sense.

Replying to @⁨lerven@tweesecake.social⁩

@lerven
"design vs. actually engineer" what is the difference of those two for you? It confuses me as for me as I understand enginieering as designing but formalized manner that has a reason for every decision made during the process. And under that context, I read your message that you dont want to make reliable things, which may be not what you meant.
@matt

Replying to @⁨matt@toot.cafe⁩

@matt I took programming classes and discovered I get completely lost in the syntax. My brain isn't capable of translating conception into the actual modules and code pieces required, even if I am better than the average person at abstracting - in English - how a system behaves and selecting components that go with it. I genuinely do not believe I will ever be able to properly code.

Replying to @⁨matt@toot.cafe⁩

@matt Programming is a syntactically wanky field.

Do we need 17 templating languages for generating HTML that only differ on the names of the function to uppercase a string and whether you type `{%` or `<%`?

No. We need the research into those 17 syntax styles to determine which is clearly better (by whatever metrics), and to then abandon the rest.

But we don't do that. We all go around learning Twig, and Jinja2, and Liquid, and whatever the heck because one engine is written in Rust so it's faster. And one is only supported by Shopify. And one was already chosen for this project and changing the templating language when fixing a typo is rude and disproportionate.

In short, I think programmers do an absolutely terrible job of separating their academic interests from practical reality. And that's fine; the two are intertwined within many industries and hobbies.

But we shouldn't be surprised when outsiders find all of this completely bananas and invest in the tool that appears to abstract it all away.

@nick

Replying to @⁨jscholes@dragonscave.space⁩

@jscholes I think on some level, people love making things. There's probably a reason things like game maker and unreal's blueprints are so popular. Maybe even VB6 back in the day. Drag some UI around, copy paste or type a little bit of code, and boom. You have an app or game that does things. A lot of apps are gluing existing things together into a new configuration. But even just getting started can be so daunting that it is really difficult to just experiment. Even something as simple as HTML means you have to make sure you save the file correctly, you have to know what to type, etc. vs. just opening an app or game engine which fundamentally abstracts this in a way that the friction of just messing around is removed. You can learn as you go rather than having to invest a lot of effort into something you won't know you enjoy. If you want to make art you can just take any drawing app or paper, and start doing it. I guess this analogy does break down fairly quickly but I do think that just onboarding to development can be difficult and probably scares a lot of people off. @matt @nick

Replying to @⁨matt@toot.cafe⁩

@matt @nick I think LLM coding being a thing among otherwise reasonable people (especially blind and/or non-programmers) are a major symptom of how hostile the dev landscape still is.

I don't necessarily think that this is a language problem primarily, rather a development tools issue. All available IDEs are objectively terrible and could be doing a much better job even with the available static analysis.

If I ever get my own PL project off the ground, it'll be IDE first. With built in linting, refactoring and interactive debugging and AST transforms as major features, not afterthoughts. Big if, obviously.

Basically, there's this ridiculous valley between "read a book first, then come up with the whole architecture and type it in by hand" and "point and click in a severely limited saas tool" that it's no wonder anyone who wants some control over what's happening without making it a career reaches for the third option. Terrible as it is, it does deliver what you want, quickly. Denying that there's a huge demand for that kind of software creation has not been doing us any favors.

Replying to @⁨fastfinge@interfree.ca⁩

@fastfinge I think I agree with you about BGT and Quorum, though I'm friends with Prof. Stefik (the lead developer of Quorum) and appreciate that his team is trying to make CS education more accessible. But I didn't suggest designing another programming language specifically for blind people, just improved programming language design in general. I refuse to believe that the current mainstream languages will be the last popular mainstream languages forevermore.

@nick

Replying to @⁨matt@toot.cafe⁩

@matt @nick Ah, got it. I misread you as suggesting yet another accessible programming language. I think the problem with Quorum falls less out of it being accessible, and more out of it being an “educational” language. Educational languages either never escape into the real world to help students do anything useful (scratch, logo) or they do escape into the real world and set everyone back for years (basic).

Replying to @⁨matt@toot.cafe⁩

@matt I've dev'd full-time and am teaching programming to newbies every day, as well as do research in that field. I know my way around the battlefield. However I don't have enough time in my life to put all of my ideas down manually. LLMs allow me to do that whilst doing other things in parallel. I do review manually (which takes way less time than actually writing it), and steer it back on track if it gets off-rails. I will never ask it to write code in languages I don't know myself.

Replying to @⁨matt@toot.cafe⁩

@matt Time and patience and concentration. I think my main issue is, there is just so much. Like, I used to write audio games in NVGT before starting to vibe code and there was one way of doing things. In whatever other lang, I can choose, but then this is not compatible with that and this requires that... I think this is only a mental issue though. I do an apprenticeship as a software dev in germany and I'm surprised how we learn coding. We just like, learn the patterns and stuff, and of course also do actual projects, but I don't think I'll go out of this apprenticeship and say, right, I'm now capable of properly developing a C# app for example. I think the concepts themself are not the problem, it's actually doing the stuff in the way the language I choose does it. And it just rewards you so much faster, what I've done in a week with Claude (which works perfectly fine for me and solved my problem) would've otherwise required me to learn tons of swift and IOS stuff which, I just don't have the time and brain for atm.

Replying to @⁨jonathan859@someplace.social⁩

@jonathan859 @matt Honestly, I kinda fear the day the big companies decide to cut the subscription-based models entirely. They already know they're financially absolutely not worth it, API brings them so much more money. I believe they'll either cut down on the usage plans more and more or just remove subscription-based models entirely, at which point individuals like us will be back at ground zero anyway.

Replying to @⁨matt@toot.cafe⁩

@matt I haven't actually published any vibe coded apps, but I have messed around with it some and done a couple small personal things with it. And the reason is that my brain just doesn't parse code well. I can understand the concept of code, but I just can't wrap my head around the actual syntax no matter what I try. Yes I have tried multiple times in my life. Could I maybe learn given months of struggling with it and fighting my brain, maybe, but to be honest when I've messed with vibe coding it's been for small things that I didn't think it was worth 500 headaches over. So yeah, for me the minor tinkering with vibe coding comes from my brain just seemingly not being structured to understand coding syntax. Feels like how some people are just not good at math, I feel like I'm just not good at code. I know how to describe and imagine what I want in very deep detail, I'm just not a coder. A bit of a ramble but yeah.

Replying to @⁨matt@toot.cafe⁩

@matt @menelion It’s not about the language itself for me. It’s about how inaccessible the tools surrounding it are. Debugging is still awkward and terrible. Designing forms still sucks. Profiling is a pita. We can’t test on the iOS or Android simulator last I checked. We have nothing as clean and easy as unity. All tutorials and cookbooks are incomprehensible YouTube videos, LLM slop, ad covered, or all three. AI allows me to use one interface, with one modality, to do the hard bits.

Replying to @⁨matt@toot.cafe⁩

@matt I've tried off and on over 10 years to learn to code and I just can't. I don't have the aptitude for it. There are blind developers who do, and who have made a career out of it, but I'm not one of them.

If I had the ability to write my own code, I would certainly use LLMs a lot less. I don't like not knowing exactly what the code it spits out does piece by piece. I crave speed and efficiency, and the uncertainty is an issue.

Replying to @⁨matt@toot.cafe⁩

@matt This short video shows a small part of our three-year ordeal in Gaza. Thank you for watching. ❤️

❤️ kafeneio.social/@AmirGaza/1170

kafeneioAmir Gaza 🍉🇵🇸 (@AmirGaza@kafeneio.social)Attached: 1 video For **three years**, this has been our reality My seven-month pregnant wife cooks using **plastic waste** because we have no gas or firewood, while our little daughter waits for a simple meal. No family should have to live like this Please support us through the donation link below, or share our story Every act of kindness matters💔 https://chuffed.org/project/179480-help-mohammad-in-gaza-rebuild-after-unimaginable-loss #gaza #palestine #privacy #painting #paris #usa #HEalth #HAmburg #HA #TRUmp #TRavel #france #ESPeranto #canada #lebanon #freepalestine