Free software people: A major goal of free software is for individuals to be able to cause software to behave in the way they want it toLLMs: (enable that)Free software people: Oh no not like that
-
@dekkzz78 Safety critical and security critical software should always have an appropriately skilled human in the loop
its all to easy to taint known good code, on sharepoint now everything has sprouted a co-pilot button tagged as "made available by your org tech team"
a totally false statement that suggest your employer wants you to use it
that's why all the programmers had an all hands teams telling them in no uncertain terms no AI code was to be created & would be deemed as instant dismissal offence
-
@radex See I fundamentally don't believe that code should be copyrightable and also me 30 years ago did not produce code that was suitable for professional use but it fixed my problems anyway
-
@p If you're doing something other than
var++
then you're doing something wrong. Code is instructions to a machine. The description of what that code does may be creative, if the actual implementation is then you are almost certainly in a bad place.
@mjg59 If you measure prose by looking at corporate emails and VCR manuals, then you come to the same conclusion.
When I write prose, I'm putting my thoughts into English. When I write code, I'm telling my thoughts to a machine.
Even a little script, I'm teaching the machine how I want to talk to it. I put it in ~/bin and I've taught the computer a word. I build up my little environment where the machine and I understand each other. Dick Gabriel, the "Worse is Better" author, said:
> I'm always delighted by the light touch and stillness of early programming languages. Not much text; a lot gets done. Old programs read like quiet conversations between a well-spoken research worker and a well-studied mechanical colleague, not as a debate with a compiler. Who'd have guessed sophistication bought such noise?
If style and thoughts couldn't come out through the code, he wouldn't be able to say something like that.
ken, when describing his compiler bug, started off talking about adding '\v' to the C compiler. First he hard-coded the numeric value for '\v': `if(c == 'v') return 11;`. Then, because the C compiler was written in C, he could write `if(c == 'v') return '\v';`. And he said "It is as close to a 'learning' program as I have ever seen." He's taught the machine. A lot of people have read the paper, but you can go read ken's code, a lot of it is out there. (You can download a CD image, mount it, and look at his code: http://9legacy.org/download.html .) You can see a style of thinking, you can see ken in his code. Maybe you can't see someone's personality in a four-page technical manual that comes with your refrigerator, maybe you can't see someone's personality in a webapp at your day job, but that doesn't mean it's impossible to create something beautiful.
Here is a small program:
echo '++++[->++++<]>[-<+++++>>+++++++>++<<]<------.>>+++++.--.+.>.<[-<+>>>+<<]>[--<++>>-<]>---.+++++++++++++.+.<<<.>>>-------.---.<<<--.>.>>+++.-------.++.++[->+<<+>]>++++++.<<.<<.>[-<<->>]<<++++.[>>>--<<<-]>>>+.' | \
sed -E 's/(.)/\1\n/g' | \
awk 'BEGIN{print "BEGIN{p=0;"}END{print "}"}/\./{print "printf \"%c\",a[p]"}/\+/{print "a[p]++"}/-/{print "a[p]--"}/</{print "p--"}/>/{print "p++"}/\[/{print "while(a[p]){"}/\]/{print "}"}' | \
awk -f /dev/fd/0
Every coder I have showed this program to in person has laughed: why did they laugh?
p761-thompson.pdf -
@jenesuispasgoth @raymaccarthy Agreed. From a pure technical sense @mjg59 makes sense. But it ignores the massive ethical and environmental problems and these cannot be decoupled.
The quality of the output is not relevant. It is going to get better. The ethical problems are not. Too many people opposed to LLMs concentrate on the ai-slop problem when they should be shouting about the ethical issues.
-
@raymaccarthy @mjg59 I don't really hate LLMs per se, but they do generate this soulless "enterprisey" code as an artifact of how they're trained. The thing that rubbed me the wrong way about the series of posts was mainly that it's this call to mediocrity.
And then he uses Roast Beef as an example; Roast Beef is severely depressed and has this pathological self-deprecation and also is not a real hacker: he's a drawing of a dog. But one of the reasons Achewood sticks with people is Onstad is brilliant with his use of language and is pretty good at sketching personalities. There are people that say comics are not art, Ebert went to his grave insisting video games cannot be art, this guy is saying to the reader, specifically, that some code can be art but then says "Your code sucks, it's never going to be beautiful" and he uses this guy as an example:
2007-02-02 -
@ignaloidas @mjg59 @david_chisnall @newhinton I think you are misreading what I am saying. That is exactly what I am saying. I never fully trust my code, not a single line of it, partly because every line of my code usually requires billions of lines of code I haven’t written to run. I can apply methods and use my experience to trust it enough to run it.
@mnl @ignaloidas @mjg59 @david_chisnall @newhinton I don't think you are being miss-read. You just stopped making and sense part way into this thread because you started to overload simple words with too much meaning while also bereaving other words of any meaning at all. It is hard to have a meaningful discussion with someone when they keep changing the language as they go or the goalposts keep moving.
-
Look, coders, we are not writers. There's no way to turn "increment this variable" into life changing prose. The creativity exists outside the code. It always has done and it always will do. Let it go.
Maybe it is because I do not write code for a living. But boy are you wrong on so many levels!
I don't even want to demonize LLMs, they have their place _especially_ in coding because this might be one of the very few comparably deterministic fields.
But when I write code I _want_ it to be art, nothing more, nothing less. And I will never let that go
-
@raymaccarthy @mjg59 I don't really hate LLMs per se, but they do generate this soulless "enterprisey" code as an artifact of how they're trained. The thing that rubbed me the wrong way about the series of posts was mainly that it's this call to mediocrity.
And then he uses Roast Beef as an example; Roast Beef is severely depressed and has this pathological self-deprecation and also is not a real hacker: he's a drawing of a dog. But one of the reasons Achewood sticks with people is Onstad is brilliant with his use of language and is pretty good at sketching personalities. There are people that say comics are not art, Ebert went to his grave insisting video games cannot be art, this guy is saying to the reader, specifically, that some code can be art but then says "Your code sucks, it's never going to be beautiful" and he uses this guy as an example:
2007-02-02@p @raymaccarthy @mjg59 There's nothing code can be EXCEPT art. Modern high-level languages have so many different ways to skin a cat that you need a strong dogma just to be able to complete anything more complex than a MySpace page.
A lot of code preference is entirely arbitrary, but the preference itself is required; else, you become The Framework Guy. -
true, but then its down to values & how you prioritise such things
wrt coding specifically companies are worried about skill loss & being dependant plus it ties the seniors into code review all the time
also I know 2 auto companies that have banned them due to creep into safety critical code
@dekkzz78 I agree that there are excellent reasons to prefer hand written code under an extremely wide range of circumstances
-
@mjg59 "sure" as in you're agreeing or disagreeing with me?
@dngrs Agreeing - if you want high quality implementation of a spec there's going to be meaningful human involvement in the process
-
@p @raymaccarthy @mjg59 There's nothing code can be EXCEPT art. Modern high-level languages have so many different ways to skin a cat that you need a strong dogma just to be able to complete anything more complex than a MySpace page.
A lot of code preference is entirely arbitrary, but the preference itself is required; else, you become The Framework Guy.@AGARTHA_NOBLE @mjg59 @raymaccarthy I mean, it takes a lot of discipline to remove the soul from some prose; I think code's not any different. -
@mjg59 strictly local needs, you do you.
If using a giant model like Claude, you might want to consider what remodelling that code will cost the planet in terms of direct carbon output, electricity generation, water pollution, amortised environmental cost of building the Pollution Centres and the ongoing damage to local communities of the Pollution Centres.
If you can live with all that? Sure, use your magic auto complete. Just don't expect others to not judge you for it. Not saying I would, btw, but that's the argument .
@dgold No disagreement whatsoever
-
@mjg59 I think the negativity comes from the fact that a lot of floss developers have other reasons why they work on projects besides scratching their own itch - "meeting the local needs" as you put it.
That is expanding their knowledge and, sometimes even the enjoyment of the programming act itself.
So if you treat open source development as a learning experience and an artistic expression, you're automatically going to balk at something that would take that away.@mariusor I should be clear that I write code by hand and enjoy the process, and also agree that the only way you're going to get high quality human developers is through doing that. But I also think that the world is probably better if more people are able to modify code to meet their needs, even if those people never turn into high quality human developers as a result.
-
They do speak of 'elegance' even 'beauty' when it comes to mathematical proofs.
Aesthetics are not a positivist axiology. Beauty is famously in the eye of the beholder.
Just because you are aware you write ugly code doesn't mean code cannot be beautiful, or that aesthetics are not a legitimate field of assessing information systems.
@MrBerard I agree that code *can* be beautiful, but the overwhelming majority of it is not in a way that is very distinct from, say, literature, where even the most churned out boilerplate nonsense still embodies some level of emotion
-
-
@mjg59 No, I do think you're being honest, I just think your opinion is kinda bad.
@barubary Disagreement, I understand - accusation that it's not a good faith argument, I don't
-
@mjg59 You never realise the original idea could be improved a bit along the way? This probably depends on what's being worked on. Most of the stuff I do is fairly small scale and not particularly well specified (day job is mostly sysadmin, off day jobs are museum installations).
@barnoid Oh yeah, frequently - but the same happens when I'm in the shower or walking to the station. It's the act of thinking about the problem that does it for me, which is kind of incidental to the act of coding.
-
@mjg59 you might be missing a few of people's issues with LLMs. Our programmer standpoint is quite niche.
What happens to people with jobs that are affected by LLMs? They either start using LLMs to match the competition's performance, or get obsoleted... What if they can't actually afford using LLMs to stay competitive?...
And then there's art.
On top of all of that LLMs are energy and resource-hungry, ruining the environment and making everything more expensive...
@petko Yes, I think there's a large number of extremely bad real world outcomes associated with LLMs
-
@mjg59
I can't help but feel this leads to short-term decision making.
On the one hand I get it, people have shit to do and don't want to fight with upstream projects to get their needs met. Software dev culture can be a warzone.
On the other, I see this as creating a bunch of fragile siloed work, everyone solving their own immediate needs in the short term rather than working together to build a more robust long-term solution for most needs. No assumptions challenged in their approach or potential improvements to their workflow, just a "yes boss" and something that may work in the now.
It feels like the seeds of an increasingly insular world, "got mine jack" culture.@strm I think widespread adoption of LLMs in the software industry is likely to result in an overall decrease in the quality of software and the quality of software developers
-
@mjg59 but you are paying the owner of the machine a recurring rent, aren't you? does this not bother you? what this machine does for you will never be yours, you will pay them again and again. you do not own the tools of your trade anymore. If the rent seeking owner denies you access or you can not afford it anymore this is all gone.
@Nfoonf Not inherently, no - local models can be run on reasonably affordable hardware, and produce acceptable outcomes.