How would you program this? (philosophical topic)

Started by KyriakosCH, Tue 31/07/2018 08:41:02

Previous topic - Next topic

KyriakosCH

As a metaphor for the mind, an ongoing (and expanding) code is generally as good as any, in my view. So, if you had a code that apparently had as one of its core ends to keep being seamless/not visible, how would you program it?

For example imagine a program that does various stuff, but a major goal of the programmer is to keep those secret. So if some other coder opens the program, they should have great difficulty in moving past the surface. On the surface (again presenting a metaphor here) the program might just seem to mirror parts of the room the person who runs it has in their sight.

Of course there is another catch in this parallelism: the only actual "second" programer who would try to find what the program is, is the person whose mind the program is a metaphor of.

Anyway, in my view there always are ways to go beneath the surface, when a vast process is running it can remain invisible for only so long. :)
This is the Way - A dark allegory. My Twitter!  My Youtube!

Mandle

#1
The coder should use only random strings of characters for variable names and have like 100,000 variables in the code, most of which do nothing except lead the investigating coder in large, useless loops.

Like you said, this would only delay the process of understanding the code but is also quite a good metaphor for the mind, with its so many random, meaningless impulses hiding its deeper (maybe darker), and more important secrets.

It's also pretty much the way I used to code, just hugely exaggerated. (laugh)

KyriakosCH

Quote from: Mandle on Tue 31/07/2018 09:07:13
The coder should use only random strings of characters for variable names and have like 100,000 variables in the code, most of which do nothing except lead the investigating coder in large, useless loops.

Like you said, this would only delay the process of understanding the code but is also quite a good metaphor for the mind, with its so many random, meaningless impulses hiding its deeper (maybe darker), and more important secrets.

It's also pretty much the way I used to code, just hugely exaggerated. (laugh)

(laugh)
(laugh)
(laugh)

Gaps in the code, allowing for (sudden and scary) freefall are one of the main themes in my story writing :D
This is the Way - A dark allegory. My Twitter!  My Youtube!

Snarky

In most cases you can't hide the existence of code (though there are exceptions): you can just obfuscate its effects.

There's a famous coding contest, The Underhanded C Contest, which is all about writing code that looks fine, but actually hides undesired behavior (bugs, backdoors, etc.).

As for ways to achieve this, I think one key thing is that people won't examine something too closely if they think they already know it. If something looks familiar and straightforward, they may easily miss the slight detail that hides the trick.

Then you have all the magician's other devices: misdirection, distraction, playing on expectation, disguising when the trick is done by pretending it's yet to happen, etc.

You also have the typical debating trick of shifting definitions halfway through: by naming something in an ambiguous way, you can write code that looks perfectly correct in isolation, and use it in a way that looks perfectly correct in isolation, but doesn't actually do what you expect it to do.

And finally there's the con-man trick of making your mark think that they're in on it: if they're thinking that they're tricking someone else (or you), they're more likely to go along with stuff that should be raising red flags.

Of course there's a lot of psychology to this, but honestly, I don't think code is that great a metaphor for the human mind in the first place, and the idea that it reflects the mind of a particular person strikes me as far-fetched and not very incisive.

KyriakosCH

No parallelism stands to scrutiny, past some point. And there isn't any reason to expect that arguably the most complicated object a human can examine (their own brain) would be very open to parallelism in the first place. That said, one doesn't have to place great barriers in presenting something which inherently they are already tied to; pretty much any point of start will do when the object to examine includes everything one can think of, by definition.
This is the Way - A dark allegory. My Twitter!  My Youtube!

Danvzare

Quote from: KyriakosCH on Tue 31/07/2018 08:41:02
As a metaphor for the mind, an ongoing (and expanding) code is generally as good as any, in my view. So, if you had a code that apparently had as one of its core ends to keep being seamless/not visible, how would you program it?
Hmm, if I had to try and program something like that, my first attempt would probably involve me trying to make the program re-write itself. The core functionality doesn't need to change, but it does need to move the code around, change the way the code is written, and add and delete useless parts. Unfortunately it would only be able to do this re-writing when its running, fortunately you can only attempt to check out what a part of the code does by running it, and when you do that, the part you were testing will mysteriously vanish due to the rest of the code.

KyriakosCH

^ :)

Imo it is very likely that humans (or ancestors of humans) in the depth of prehistory were still somewhat less cut-out (so to speak) from the gaps generated by the ongoing workings of their mind. In art this motif is examined by a number of important writers, eg notably by Franz Kafka in his short stories.
It also has been a main theme in philosophy, since the presocratics :) (my own uni degree is - sadly := not much of a work prospect - in philosophy)
This is the Way - A dark allegory. My Twitter!  My Youtube!

SMF spam blocked by CleanTalk