As an aside, chunksize is an easily-set integer arg to Python's pool function.Anything > 1 slows my app down, simply because the cycles performed in a typical large-job worker loop (into the billions) far exceed the frequency at which the loop returns a result, which is once, at the end.The problem I've got is while multi loops run fast, they tend to slow over time to about 50% of their startup speed. The end result is 4 cores vs. 1 cuts job time only ~50% vs. the expected 75% at job start.
comments
@simeon It does not seem sane to allow the bad-guys bullets while the good guys aren't allowed even shields.And AI is already pointed at code more than the "many eyes" of early open source days.There are a torrent of bugs. It can not be right to turn the fixes down?
@pre I’m trying to find a workable balance between generate all the code and have no idea how it works, and do have an idea how it works. Yes, there’s a lot of boiler plate that we can gen. But I also notice that the gen slope is covered in soap, and the more I gen, the less I read, all the way beyond the boiler plate, all the way to someone asking “why did you implement it like that” and I have to answer “let me ask my agent” which, I hope you agree, is unworkable?
@simeon Is that a good line though?There is so much boiler-plate. A huge amount of programming is basically copying and pasting anyway.How AI does your AI have to be to not just be writing the boiler-plate?As a union drawing a line at which we withdraw work it's a good line.But it will mean lots of fairly pointless minor editing of boilerplate which could otherwise be automated.
@pre How about drawing the line at read-only genAI use.That is, analyze my code, and tell me what to fix, fine. But don’t gen or drive anything, because that’s a can o’ all kinds of worms.
But the maintenance workload really has increased here.These machines are producing a torrent of exploits, some fraction of which are real and serious.Certainly eyes-on every one of them, but if they are short, obvious, correct, and exactly what you'd have done anyway?🤷 What do you want me as a maintainer to do? Change the variable names? Leave the exploit?Or automate the copy-and-paste, so I don't even check it?I am not in favor of that last one, but I can't defend the idea that programmers should leave their users vulnerable because it was a machine that found the bug.
They really are talking about piping claude directly into root access on the prod servers so it can run the upgrades though.Apparently adding "Oh, and really important: don't do anything bad without asking" to the prompt is a safe-guard!It'll ask before it deletes the database I guess, so no need to worry! Nice.And you know what?That would probably mostly be okay. It might even do it better than me, I am a barely adequate system-administrator.Until it doesn't.
I might be in favor of an AI strike, but I don't really understand what the proponents wants us to do?That machine is finding security bugs that matter, and you can't run a repo that refuses those patches.What are you going to do?Just let your users /by default/ refuse those security patches? Just because they were discovered by a machine?That ain't the right answer.I don't understand what people who want an absolute strike against AI want from the workforce? Is it literally to let security patches go un-merged?I would sooner support a full-stop to all programming work than that I think.#ai #strike
@albertcardona Conversation isn’t a technology abstraction interface, as it’s not precise & specific- infrastructure requirement. It evolves at social & cultural level, influenced by trends over time.For example, creating app in:1990s technology “de jour”(TdJ)-Windows 3.x client & server application written in C, Fortran, pascal with Visual Basic UI.2000s TdJ- web applications with Browsers & web servers2010s TdJ- JavaScript apps2020s TdJ- “Chat”!
@TonyVladusich And rather than reuse there are now nountains of duplicated code. A reckoning indeed.arxiv.org/abs/2410.20274
@albertcardona A narrow helper with an obvious name can outlast a much more elaborate abstraction. I still notice that when I revisit old UI code.
@albertcardona Indeed. The folks shoving Claude down engineering teams’ throats don’t actually code, or at least not well. There will be a reckoning.
@witt You probably want to be searching for something that is "to ANSI half block", or similar. Mine was knocked up with some half-assed throwaway Python code that used PIL. A very quick search suggests github.com/eliukblau/pixterm would be a more serious tool for this sort of thing.
@davep I like the bitmapped(?) version of your profile pic in the screenshot. I've been looking for a way to do this but have been struggling to find resources because I don't actually know what that conversion process is called lol.Do you?
@harrysintonen Most of my career has been as the indispensable engineer in the IT department, making things work. One day I determined that the product engineers were shipping native code libraries for a Java project and had never bothered to use even thread-safe libraries.* They didn’t want to hear it from “the IT guy” so I went through their code, built it with the right libraries and calls and the “intermittent crashing problem”* went away. I cited the official Sun guide to native code libraries so this was a week-long exercise of RTFM to a team short on that deep platform knowledge of how things work. Junior coders masquerading as senior engineers. * Threads and other forms of concurrency can result in two different flows of execution using the same memory so unless steps are taken to mitigate it, an algorithm could assume the zero it stored would still be a zero when it came time to read it and depend on that fact unaware the other flow changed it to one.Java could be written as if it was a single flow of execution but it would, unasked, use just such a second flow of execution to clean up the memory allocated by the main program, so all code needed to be thread-safe. Many historical C libraries had routines which were unsafe because it was impossible to mitigate the risk described above.And “intermittent crashing” is precisely the type of problem that is caused by some unsafe code failing due to circumstances (threads concurrently using the same memory) more likely to happen in long production sessions under high loads that the developer desktop tests.They needed a minimum amount of platform knowledge for this product and their customers were right to complain until an IT manager asked me
@harrysintonen "Programming is the act of bugging". Those bugs did not write themselves!
@harrysintonen and now you have a better understanding of the code and the experience that will let you debug a similar issue in no time.
I should also add that I added the very bug myself years before. That kind of dampened by joy of root cause discovery. 😆
@harrysintonen Indeed. And I bet your mental model of the code was improved by the process.
I'm sure that some LLM could have been thrown at the issue, too, and after some prompt massaging, the root cause might have been found, eventually.But what's the fun in that? Would I have felt as accomplished with my witty prompt massaging vs actually using my wetware to work the issue itself?
Fix is in: github.com/mchehab/rasdaemon/c#bugfix
@remixtures How about infants? Can human beings at the point of their birth own copyrights?
@su_liam While I agree that prompts per se don’t have absolutely any market value, I think there’s a market for people whose prompts are proven to be in general more effective when compared to the ones provided by others to achieve the same tasks. But here we’re talking a service and not so much a product. And I suspect that some companies may have already started to try to patent some specific prompts :o)
@remixtures If your prompt was so good, try selling that.
@aral lies believed by test coverage tools #578, line numbers are meaningful.