Introduction A longstanding disparity on the cypherpunks list, and in historical computer use in general, is the schism between people who joined without experiencing authoring software, and people who are familiar with authoring software to solve problems. Personally, as somebody who used to write software to solve my problems, the schism has been difficult to navigate. The skills needed to have status in an online developer community take a lifetime to master. The people with skills abstained from social involvement, from going outdoors, from parties, from movies, in order to spend their time learning how to direct computers. However, in modern days, the technology is developing such that anybody can do the kinds of things that it used to be only "elite cypherpunks" could do. AI can now write code for you: although somebody needs to write the code to let you do that, the entry barrier is much lower. And, so long as there is such freedom on the planet, it will keep lowering. I've observed people new to software development don't really understand that a computer can do absolutely anything. They seem to think the limits of computers are somehow bound to what people have told them. I thought I'd write something about that. Code Is Free Action When you get a device, or play a game, or a company markets a product, [apologies, this diatribe is inhibited by my personal issues. I _tried_ to make it cohesive! I needed to make the intro shorter, rather than planning to shorten it later.]
On Sat, Jun 04, 2022 at 10:09:48AM -0400, Karl Semich wrote:
I've observed people new to software development don't really understand that a computer can do absolutely anything.
Why, it's almost like they're stuck in some kind of FRAMEWORK and aren't actually developing software at all. -- . ___ ___ . . ___ . \ / |\ |\ \ . _\_ /__ |-\ |-\ \__
On 6/4/22, Izaac <izaac@setec.org> wrote:
On Sat, Jun 04, 2022 at 10:09:48AM -0400, Karl Semich wrote:
I've observed people new to software development don't really understand that a computer can do absolutely anything.
Why, it's almost like they're stuck in some kind of FRAMEWORK and aren't actually developing software at all.
Nice insight. I don't really know what people are using, it kind of looks like a few big things are making big impacts. I've been spending some time in a community where everybody is using reactjs, although I know under the hood react has way more flexibility than I usually see demonstrated in most products today. I always get surprised when I tell people my skill is compute programming, and they tell me they've done that too, and describe following the instructions in a product configuration manual to program e.g. their TV/
On Sat, Jun 04, 2022 at 10:42:31AM -0400, Undiscussed Horrific Abuse, One Victim of Many wrote:
everybody is using reactjs
This is what I mean. They're not even using an actual language. They're assembling parts. Dewar and Schonberg's discussion of Java is illustrative: "The irresistible beauty of programming consists in the reduction of complex formal processes to a very small set of primitive operations. Java, instead of exposing this beauty, encourages the programmer to approach problem-solving like a plumber in a hardware store: by rummaging through a multitude of drawers (i.e. packages) we will end up finding some gadget (i.e. class) that does roughly what we want. How it does it is not interesting! The result is a student who knows how to put a simple program together, but does not know how to program." https://web.archive.org/web/20190210212517/http://www.crosstalkonline.org/st... -- . ___ ___ . . ___ . \ / |\ |\ \ . _\_ /__ |-\ |-\ \__
everybody is using reactjs
This is what I mean. They're not even using an actual language. They're assembling parts.
Right; I think we're on the same page here. As technology is developing, people look like they're being taught that software development is limited to a provided featureset.
"The irresistible beauty of programming consists in the reduction of complex formal processes to a very small set of primitive operations. Java, instead of exposing this beauty, encourages the programmer to approach problem-solving like a plumber in a hardware store: by rummaging through a multitude of drawers (i.e. packages) we will end up finding some gadget (i.e. class) that does roughly what we want. How it does it is not interesting! The result is a student who knows how to put a simple program together, but does not know how to program."
It's cool to hear a c-like systems programming viewpoint coming through. Been a while. I'm in both camps here, and my personal opinion is that that's inherent and important: high level and low level together. One needs to understand either one of them well to make effective decisions with the other. I personally feel like I've explored other people's java source code to accomplish a task as much as source code in any other language (android being the primary example), but I know that's not the culture of java. I kind of see how the culture of programming at a higher and higher level lends itself toward people being more and more disconnected from the capabilities and workings of the systems in use. I imagine how our systems change languages at different levels doesn't make exploratory inspection easy, either, nor the closedness of much mainstream source code. People will keep trying to look, though :) I remember making repair parts out of found objects before I had even visited a hardware store. They didn't work well, but I developed some mechanical engineering intuition.
Code Is Free Action
When you get a device, or play a game, or a company markets a product, [apologies, this diatribe is inhibited by my personal issues. I _tried_ to make it cohesive! I needed to make the intro shorter, rather than planning to shorten it later.]
it's given with set avenues for how to interact with. Buttons, menus, storyboards of what one screen looks like, and how it leads to another. These things are designed first by user interface designers, and then implemented by programmers, and meeting such specifications is how programmers are often trained. There is no free code in such a work. It isn't what the programmers make for themselves, in the slightest. It is a tool, that's been designed for a use. What a programmer makes for themself, is something they can continuous improve and adjust. Something where the buttons, menus, and storyboards are always in flux, and designed to stay in flux -- so that it can be used for whatever they might need. It seems like a different way of designing -- to write code for repurposability, rather than to a marketing specification, but the two are actually one and the same. Specifications are most cheaply met with flexible code, believe it or not, and good flexibly-written software can easily meet arbitrary specifications. Computer code is called a "language", and this really makes sense. Like a human language, a computer language can express anything: it simply speaks in terms of computer behavior, rather than fact. In our human language, you can say, "I want to sprout wings and fly to see my relative." In computer code, instead of saying this, you produce something that actually does it: if you know the words to do so. You can even say "I want to sprout wings and fly, without investing any money in it, using things from ten years ago," or "I want to sprout wings and fly, and sell a product to millions of people who do the same," or both. In language, complex works are called essays, poems, sonatas, [handling more inhibition]
On Sat, 4 Jun 2022 10:09:48 -0400 Karl Semich <0xloem@gmail.com> wrote:
However, in modern days, the technology is developing such that anybody can do the kinds of things that it used to be only "elite cypherpunks" could do. AI can now write code for you:
Oh look, karl is a technofascsit cop, NSA-silicon-valley agent, telling people to use the most evil, completely backdoored trash one can imagine. No karl, you can't use NSA-backdoored trash to 'write' 'cypherpunk' 'code'. Only a government agent, i.e. you, would propose such 'solution'.
participants (4)
-
Izaac
-
Karl Semich
-
punk
-
Undiscussed Horrific Abuse, One Victim of Many