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?
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.
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 @svenja@mstdn.games
@matt I also have to add to that, i am way to impatient when it comes to wanting to play that game I currently mod, so tbh its hard to resist going the dirty way I am at.
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.
@matt Absolutely not. I'm a software engineer, I coded before LLMs, and if they go (which I would grief), I'll still code. Five times slower, but I will. Also, without LLMs I wouldn't afford diving deep into languages I consider difficult to read and maintain (like Rust, sorry).
@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 @fastfinge@interfree.ca
@fastfinge @menelion @matt @nolan @zersiax so one thing that would be helpful is a straightforward alternative to sed/awk for finding relevant bits of logs and accessible summaries of graphs?
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 @menelion@dragonscave.space
@menelion @fastfinge @matt @nolan @zersiax yeah that's a great example of why this needs tooling! I cringed just starting to read that!
It always reminds me of this Victor Borge routine: https://youtu.be/NPc0aijY2o4
He was onto something.
YouTubeVictor Borge - Phonetic Punctuation (with Ronald Reagan!)Replying to @wronglang@bayes.club
@wronglang @fastfinge @matt @nolan @zersiax Wooow! Respect for knowing and remembering the great and mighty Victor Borge. BTW, Michel Leeb made a… remake of this in French which, in my opinion, is also very funny. https://www.youtube.com/watch?v=Fj3edfsJgGU
YouTubeMichel Leeb "La ponctuation" | Archive INAReplying to @menelion@dragonscave.space
@menelion @fastfinge @matt @nolan @zersiax that's beautiful, thank you!
Replying to @menelion@dragonscave.space
@menelion @fastfinge @matt @nolan @zersiax maybe a dumb question but do the screen readers have hooks for custom text parsing in the pipeline before it gets read out? At a minimum it should, in a better world, be capable of calling out a timestamp without reading 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
Replying to @fastfinge@interfree.ca
@fastfinge @menelion @matt @nolan @zersiax right and what I'm saying is that the rolling could do a lot better here, you don't get plots without figuring out how to parse logs either, how to summarize information verbally vs visually is a challenge but it's not something (for the tooling, not for an individual, for an individual it's overwhelming)
Replying to @wronglang@bayes.club
Replying to @fastfinge@interfree.ca
@fastfinge @menelion @matt @nolan @zersiax yes and since AI gets that feature from being a specific kind of deep learning method I think this might be a good niche for an established machine learning method that a) burns less electricity and b) doesn't make shit up, you just got me thinking a little about which one that would be.
Replying to @wronglang@bayes.club
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
@matt I know how to code, and yet I sometimes vibe code. It's mostly because something doesn't deserve enough of my time to care, or just to briefly validate some idea I have. My recent explorations were in using .NET to write nibless AppKit apps with a shared cross-platform core for example. I got a decent todo.txt app out of that.
@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.
@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.
@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.
@matt So for me even though I have an engineering background, I enjoy agentic coding because I've always preferred to design vs. actually engineer. I'm burnt out on the actual coding side of things, but I have a lot of ideas I want to make happen. But that's just me so... yeah.
Replying to @lerven@tweesecake.social
@lerven Thanks. I was particularly curious to hear from you, because I know you shipped several games in VB6 and BGT. I'm curious about how you got burnt out on actual coding.
@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.
@lerven I bet @matt is going to hear that one a lot from those who have done this as a job.
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
@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 @nick@hkc.social
@nick I'll be curious to hear what my followers who are into programming language design and psychology (I do have at least one follower in each of those fields) think of this. To me though, it sounds like we still have room for improvement in programming language design. Not that there's much funding for that, with everyone chasing AI.
@matt Perhaps.
I will say this though for your favorite one. Even if the syntax makes my head completely spin, one of the things I love about Rust is that, so far as I know anyway, someone took great care in making sure that at least it tells you what you did wrong in more detail than, say, C++ did in my experience with it.
@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.
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
@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.
@matt I vibecode my accessibility mod, but if I had someone who I could learn from and exchange through the process I'd feel more comfortable gettig into gamedev myself. That been said from a Webdev who mostly struggles with finding people to exchange because of to many bad experiences trying.
@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.
@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.
@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.
@matt I don’t have time to code directly. That’s mainly why I use LLMs, but if I found or made the time, I would need a pretty comprehensive tutorial to feel comfortable coding by hand.
Replying to @fastfinge@interfree.ca
@fastfinge Yep, also this.
In short: this thread explains all the reasons programming is quite bad actually. @menelion @matt
@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 @bscross32@tweesecake.social
@bscross32 @matt I appreciate you might not know what you don't know, but I'd be curious to hear more specifics about what you struggled with.
@matt This short video shows a small part of our three-year ordeal in Gaza. Thank you for watching. ❤️
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@matt I don't vibe code but I like well-written documentation that is easy to read and navigate. Huge bonus if you can quickly switch between commented code and uncommented code. It's a thoughtful inclusion when you're just getting started and haven't quite figured out how to systematically learn.