• 1 Post
  • 253 Comments
Joined 1 year ago
cake
Cake day: June 29th, 2023

help-circle
  • That’s because we’re using it wrong. It’s not a genie you go to for answers to your problems, it’s mighty putty. You could build a house out of it, but it’s wildly expensive and not at all worth it. But if you want to stick a glass bottle to a tree, or fix a broken plastic shell back together, it’s great

    For example, you can have it do a web search, read through the results to see if it actually contains what you’re looking for, then summarize what it found and let you jump right there to evaluate yourself. You could have it listen to your podcasts and tag them by topic. You could write a normal program to generate a name and traits of a game character, then have the AI write flavor text and dialog trees for quest chains

    Those are some projects I’ve used AI for - specifically, local AI running on my old computer. I’m looking to build a new one

    I also use chat gpt to write simple but tedious code on a weekly basis for my normal job - things like “build a class to represent this db object”. I don’t trust it to do anything that’s not straightforward - I don’t trust myself to do anything tedious

    The AI is not an expert, I am. The AI is happy to do busy work, every second of it increases my stress level. AI is tireless, it can work while I sleep. AI is not efficient, but it’s flexible. My code is efficient, but it is not flexible

    As a part of a system, AI is the link between unstructured data and code, which needs structure. It let’s you do things that would have required a 24/7 team of dozens of employees. It also is unable to replace a single human - just like a computer

    That’s my philosophy at least, after approaching LLMs as a new type of tool and studying them as a developer. Like anything else, I ran it on my own computer and poked and prodded it until I saw the patterns. I learned what it could do, and what it struggled to do. I learned how to use it, I developed methodologies. I learned how to detect and undo “rampancy”, a number of different failure states where it degrades into nonsense. And I learned how to use it as another tool in my toolbox, and I pride myself on using the right tool for the job

    This is a useful tool - I repeatedly have used it to do things I couldn’t have done without it. This is a new tool - artisans don’t know how to use it yet. I can build incredible things with this tool with what I know now, and other people are developing their own techniques to great effect. We will learn how to use this tool, even in its current state. It will take time, its use may not be obvious, but this is a very useful tool



  • Why do you think C is the one true language? It’s a tool.

    There’s a single very simple answer to “what tool should I use?”. Use the best tool for the job

    The job is the objective - what are you trying to accomplish? What are your priorities? What compromise is best between time, cost, and quality? What are your abilities? What’s in your toolbox right now, and what could you obtain within the time frame?

    For you, the best tool might always be C. I don’t know how you’ve specialized or what you do, but C is powerful. Maybe you have an orderly thought process code meticulously, maybe you struggle to learn new languages. Maybe there’s just no better option for the jobs you take on

    For me, C is rarely the answer. Not never, but outside of school I can count on one hand how many times I’ve chosen it. I code intuitively and feel how the code fits together, I can pick up languages on the spot and switch even more easily. But I’m not meticulous, it’s against my nature. I make mistakes frequently - but I learn by doing, and I don’t need to understand to start doing

    All that said, why do we keep making languages and frameworks? Because as programmers, we build the tools. We can also share them without losing them. The perfect tool for one job won’t be the same for any other job, but a pretty good tool for many jobs is a valuable tool

    The trade-off with our tools is between power, versatility, and cost (generally being time). We all want powerful and versatile tools - but our time is limited, and so we can’t afford the cost

    Ultimately, I think you’ve correctly spotted a recurring problem but misidentified the cause. The cause isn’t the tools, it’s the fact that the cost is someone else’s time. And the fact we have no way to translate money into their time

    A corporation can fund a team to continuously develop a tool they rely on. An individual can’t - we could chip in a few bucks here and there, but we use a lot of tools. We don’t know good tools from bad ones until we use them, we don’t know what tools are used to build the ones we need either.

    So everyone and their mom wants to build a service to fund work on their tools. I hate services, I don’t want to give them my data or my money - I want tools that will work on my devices, not because I don’t want to deny them pay for their work, but because I pick up, drop, and modify tools all the time

    That’s the real problem - if I could donate x dollars a month to support the tools I use, I would. If I could choose for us all to pay more taxes to support the tools we all use, I would take that deal. Hell, I’d go through the effort to generalize my personal tools

    Instead, the only real profit to be had in OSS comes from companies, because they can afford to fund them directly, or services, which individuals tend to hate but companies barely notice. The tools aren’t the problem - the economics are the problem






  • NASA doesn’t have effective control of their budget anymore. Congress holds the purse strings and uses them like a harness

    NASA gets funding to do something - like go to the moon, or track CO2 emissions. But it comes with strings - sometimes you have to build a certain component in a certain congressional district, sometimes Congress chooses the design you have to use

    It’s a problem of politics and corruption. When the public supports NASA, they have more autonomy. When NASA gets a blank check, they do more with it - reusable rockets aren’t a new idea, and when they cancelled the shuttle program NASA had brain drain. Some of those people founded spaceX - Elon didn’t start it, he came in when they were getting off the ground, just like with Tesla








  • It just makes too much sense… The only way to get past electron is a better electron. Or just fix electron

    We’ve been going after this concept for decades now. That’s what java swing was supposed to be, what python gtlk was supposed to be, and I’m sure there were others before that and there’s been a hell of a lot since then

    It’s all trade-offs between flexibility, ease of use, and performance. Also between maintenance cost, portability, and existing library support

    Electron is a good compromise. The execution could be better, but it’s come a long way. There is no one size fits all solution, but there are some decent options that handle that compromise differently


  • I mean, they kinda don’t. Companies are entities made out of policies guiding how people split up objectives into smaller parts. The more people involved and the more indirect it is, the less coherent it gets

    Legal says you need one popup for compliance. Marketing or analytics say you need more users to log in. Elon wants to remind people to call it Twitter.

    By the time it filters through managers to the devs, they probably know it’ll be a horrible experience, but what are they going to do? It’s not their job. They’ll get brushed off. There might even be a compelling reason to do it in this way - with this in particular, annoying and intrusive popups are malicious compliance with the EU cookie laws. But everyone seems to be doing it this way - that’s probably what legal is going to recommend rather than interpreting the law themselves

    So the problem is the structure. If you want a hierarchy of obedient replaceable cogs, you’ve made sure no one sees the full picture