The hackerism of codicalism

In the computing world, “[a] hacker is one who enjoys the intellectual challenge of creatively overcoming and circumventing limitations of programming systems and who tries to extend their capabilities.” (Wikipedia)   A hacker wants to get the job done and is not driven by theoretical piety.

Here a hacker is motivated to accomplish good, productive things, not bad, destructive things (in current news usage of the term). Hackerism has played a significant role in the history of computing.

In the progression

   instrumentalism → (linguistic) pragmatism → codicalism

hackerism seems to fit with codicalism in the following sense: Its adherents are concerned about “what works in the real world” over about “what’s platonically true”.

Take the challenge from critics: “The brain does not work computationally.”

While there is some scientific indication that it may not work Turing-computationally, still it is thought that it does work bio-computationally. (cf. Bio-steps beyond Turing)

This would be the pragmatist’s approach to computation, not trapped-in by a fixed, platonist’s definition of “computation”. As Prof. S. Barry Cooper has said, we do not know yet the complete physical nature of computation.

A second challenge: “A Turing Machine can’t be conscious.”

Natural-bio-computationalists say that the Church-Turing thesis is ready for retirement: “The historical roots of Turing-Church computation remind us that the theory exists in a frame of relevance, which is not well suited to natural computation, nanocomputation, and other new application domains.” (Super-Turing or Non-Turing? Extending the Concept of Computation)

Think of two compilers: a compiler C for a standard computer (CPU+GPU+RAM), and a biocompiler B. C and B produce different objects of a source program p: C(p) lights up pixels on my Macbook Pro, while B(p) — composed of the same biomolecules that make up human brains — can be enlightened.

Substrate matters.

Expressed another way: The codicalist-hackerist knows the difference between a computer simulation and a biochemical assembly:

1. Pick a biological programming language: Programming languages for biological assemblies.
2. Write a bioprogram p.
3.a. Compile to a computer simulation C(p) (runs on standard computer).
3.b. Compile to a biochemical assembly B(p) (using a biocompiler).
4.a. C(p) can only light up pixels on a screen (and maybe make noises via the speaker).
4.b. B(p) can be injected into a human body or other real-world environment and do real work.

A simulation is not an assembly.


“We recursion theorists were busy doing our sums while the natural world around us computed in mysterious and wondrous ways.”
— S. Barry Cooper


Philip Thrift


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s