Saturday 17 March 2012

"Fabric theory": talking about cultural and computational diversity with the same words

In recent months, I have been pondering a lot about certain similarities between human languages, cultures, programming languages and computing platforms: they are all abstract constructs capable of giving a unique form or flavor to anything that is made with them or stems from them. Different human languages encourage different types of ideas, ways of expression, metaphors and poetry while discouraging others. Different programming languages encourage different programming paradigms, design philosophies and algorithms while discouraging others. The different characteristics of different computing platforms, musical instruments, human cultures, ideologies, religions or subcultural groups all similarly lead to specific "built-in" preferences in expression.

I'm sure this sounds quite meta, vague or superficial when explained this way, but I'm convinced that the similarities are far more profound than most people assume. In order to bring these concepts together, I've chosen to use the English word "fabric" to refer to the set of form-giving characteristics of languages, computers or just about anything. I've picked this word partly because of its dual meaning, i.e. you can consider a fabric a separate, underlying, form-giving framework just as well as an actual material from which the different artifacts are made. You may suggest a better word if you find one.

Fabrics

The fabric of a human language stems (primarily) from its grammar and vocabulary. The principle of lingustic relativity, also known as the Sapir-Whorf hypothesis, suggests that language defines a lot about how our ways of thinking end up being like, and there is even a bunch of experimental support for this idea. The stronger, classical version of the hypothesis, stating that languages build hard barriers that actually restrict what kind of ideas are possible, is very probably false, however. I believe that all human languages are "human-complete", i.e. they are all able to express the same complete range of human thoughts, although the expression may become very cumbersome in some cases. In most Indo-European languages, for example, it is very difficult to talk about people without mentioning their real or assumed genders all the time, and it may be very challenging to communicate mathematical ideas in an Aboriginal language that has a very rudimentary number system.

Many programmers seem to believe that the Sapir-Whorf hypothesis also works with programming languages. Edsger Dijkstra, for example, was definitely quite Whorfian when stating that teaching BASIC programming to students made them "mentally mutilated beyond hope of regeneration". The fabric of a programming language stems from its abstract structure, not much unlike those of natural languages, although a major difference is that the fabrics of programming languages tend to be much "purer" and more clear-cut, as they are typically geared towards specific application areas, computation paradigms and software development philosophies.

Beyond programming languages there are computer platforms. In the context of audiovisual computer art, the fabric of a hardware platform stems both from its "general-purpose" computational capabilities and the characteristics of its special-purpose circuitry, especially the video and sound hardware. The effects of the fabric tend to be the clearest in the most restricted platforms, such as 8-bit home computers and video game consoles. The different fabrics ("limitations") of different platforms are something that demoscene artists have traditionally been concerned about. Nowadays, there is even an academic discipline with an expanding series of books, "Platform Studies", that asks how video games and other forms of computer art have been shaped by the fabrics of the platforms they've been made for.

The fabric of a human culture stems from a wide memetic mess including things like taboos, traditions, codes of conduct, and, of course, language. In modern societies, a lot stems from bureaucratic, economic and regulatory mechanisms. Behavior-shaping mechanisms are also very prominent in things like video games, user interfaces and interactive websites, where they form a major part of the fabric. The fabric of a musical instrument stems partly from its user interface and partly from its different acoustic ranges and other "limitations". It is indeed possible to extend the "fabric theory" to quite a wide variety of concepts, even though it may get a little bit far-fetched at times.

Noticing one's own box

In many cases, a fabric can become transparent or even invisible. Those who only speak one language can find it difficult to think beyond its fabric. Likewise, those who only know about one culture, one worldview, one programming language, one technique for a specific task or one just-about-anything need some considerable effort to even notice the fabric, let alone expand their horizons beyond it. History shows that this kind of mental poverty leads even some very capable minds into quite disastrous thoughts, ranging from general narrow-mindedness and false sense of objectivity to straightforward religious dogmatism and racism.

In the world of computing, difficult-to-notice fabrics come out as standards, de-facto standards and "best practices". Jaron Lanier warns about "lock-ins", restrictive standards that are difficult to outthink. MIDI, for example, enforces a specific, finite formalization of musical notes, effectively narrowing the expressive range of a lot of music. A major concern risen by "You are not a gadget" is that technological lock-ins of on-line communication (e.g. those prominent in Facebook) may end up trivializing humanity in a way similar to how MIDI trivializes music.

Of course, there's nothing wrong with standards per se. Standards, also including constructs such as lingua francas and social norms, can be very helpful or even vital to humanity. However, when a standard becomes an unquestionable dogma, there's a good chance for something evil to happen. In order to avoid this, we always need individuals who challenge and deconstruct the standards, keeping people aware of the alternatives. Before we can think outside the box, we must first realize that we are in a box in the first place.

Constraints

In order to make a fabric more visible and tangible, it is often useful to introduce artificial constraints to "tighten it up". In a human language, for example, one can adopt a form of constrained writing, such as a type of poetry, to bring up some otherwise-invisible aspects of the linguistic fabric. In normal, everyday prose, words are little more than arbitrary sequences of symbols, but when working under tight constraints, their elementary structures and mutual relationships become important. This is very similar to what happens when programming in a constrained environment: previously irrelevant aspects, such as machine code instruction lengths, suddenly become relevant.

Constrained programming has long traditions in a multitude of hacker subcultures, including the demoscene, where it has obtained a very prominent role. Perhaps the most popular type of constraint in all hacker subcultures in general is the program length constraint, which sets an upper limit to the size of either the source code or the executable. It seems to be a general rule that working with ever smaller program sizes brings the programmer ever closer to the underlying fabric: in larger programs, it is possible to abstract away a lot of it, but under tight constraints, the programmer-artist must learn to avoid abstraction and embrace the fabric the way it is. In the smallest size classes, even such details as the ordering of sound and video registers in the I/O space become form-giving, as seen in the sub-32-byte C-64 demos by 4mat of Ate Bit, for example.

Mind-benders

Sometimes a language or a platform feels tight enough even without any additional constraints. A lot of this feeling is subjective, caused by the inability to express oneself in the previously learned way. When learning a new human language that is completely different to one's mother tongue, one may feel restricted when there's no counterpart for a specific word or grammatical cosntruct. When encountering such a "boundary", the learner needs to rethink the idea in a way that goes around it. This often requires some mind-bending. The same phenomenon can be encountered when learning different programming languages, e.g. learning a declarative language after only knowing imperative ones.

Among both human and programming languages, there are experimental languages that have been deliberately constructed as "mind-benders", having the kind of features and limitations that force the user to rethink a lot of things when trying to express an idea. Among constructed human languages, a good example is Sonja Elen Kisa's minimalistic "Toki Pona" that builds everything from just over 120 basic words. Among programming languages, the mind-bending experiments are called "esoteric programming languages", with the likes of Brainfuck and Befunge often mentioned as examples.

In computer platforms, there's also a lot of variance in "objective tightness". Large amounts of general-purpose computing resources make it possible to accurately emulate smaller computers; that is, a looser fabric may sometimes completely engulf a tighter one. Because of this, the experience of learning a "bigger" platform after a "smaller" one is not usually very mind-bending compared to the opposite direction.

Nothing is neutral

Now, would it be possible to create a language or a computer that would be totally neutral, objective and universal? I don't think so. Trying to create something that lacks fabric is like trying to sculpt thin air, and fabrics are always built from arbitrarities. Whenever something feels neutral, the feeling is usually deceptive.

Popular fabrics are often perceived as neutral, although they are just as arbitrary and biased as the other ones. A tribe that doesn't have very much contact with other tribes typically regards its own language and culture as "the right one" and everyone else as strange and deviant. When several tribes come together, they may choose one language as their supposedly neutral lingua franca, and a sufficiently advanced group of tribes may even construct a simplified, bland mix-up of all of its member languages, an "Esperanto". But even in this case, the language is by no means universal; the fabric that is common between the source languages is still very much present. Even if the language is based on logical principles, i.e. a "Lojban", the chosen set of principles is arbitrary, not to mention all the choices made when implementing those principles.

Powerful computers can usually emulate many less powerful ones, but this does not make them any less arbitrary. On the contrary, modern IBM PC compatibles are full of arbitrary desgin choices stacked on one another, forming a complex spaghetti of historical trials and errors that would make no sense at all if designed from scratch. The modern IBM PC platform therefore has a very prominent fabric, and the main reason why it feels so neutral is its popularity. Another reason is that the other platforms have many a lot of the same design choices, making today's computer platforms much less diverse than what they were a couple of decades ago. For example, how many modern platforms can you name that use something other than RGB as their primary colorspace, or something other than a power of two as their word length?

Diversity is diminishing in many other areas as well. In countries with an astounding diversity, like Papua-New-Guinea, many groups are abandoning their unique native languages and cultures in favor of bigger and more prestigious ones. I see some of that even in my own country, where many young and intelligent people take pride in "thinking in English", erroreusnly assuming that second-language English would be somehow more expressive for them than their mother tongue. In a dystopian vision, the diversity of millennia-old languages and cultures is getting replaced by a global English-language monoculture where all the diversity is subcultural at best.

Conclusion

It indeed seems to be possible to talk about human languages, cultures, programming languages, computing platforms and many other things with similar concepts. These concepts also seem so useful at times that I'm probably going to use them in subsequent articles as well. I also hope that this article, despite its length, gives some food for thought to someone.

Now, go to the world and embrace the mind-bending diversity!

29 comments:

goto08 said...

I'd just like to lift the idea of a basic humanity in all this. After all, a bat or an octopus have a very different way of describing the world - due to their senses and bodies. Some animals use frequencies that we cannot perceive, and that's probably just the tip of the ice berg. Humans have developed our own understaing of the world, and it's not arbitrary - it comes from our brains, bodies, societies, histories, etc. And now we've developed computers which serve to perpetuate those ideas. Or at best make it a little bit less antropocentric.

All things we know are contrained and restricted, right? Perhaps there are unlimited potentials out there, but it's impossible for us to grasp that I guess. So while I understand that concepts such as "constrained programming", "restricted platforms" etc, are simplifications - I still don't really like them. Lately I've been thinking if this tendency to talk about restrictions is a christian heritage. The world of people who are just crap compared to god and heaven and jesus and all that.

viznut said...

I had actually planned to mention the "human fabric" at some point and emphasize that everything we do and experience gets filtered by it, but it seems I couldn't fit it nicely anywhere so I dropped it. Anyway, the philosophical history of "false sense of universality" has a lot of cases where the human fabric has been ignored altogether. Music, for example, is supposed to be a "lingua univeralis", but despite its mathematical beauty and all that it is always "human-only software", i.e. geared towards the human neural system and the quirks therein.

One of the major reasons why I'm trying to introduce new vocabulary (such as "fabric") is precisely that I too dislike the constraint/limitation discourse. The main issue for me personally is that it reduces platforms to simple featureless points on a linear scale where the "less restricted" ones are supposed to be universally better than the "more restricted" ones. I want to use words that emphasize the multidimensional diversity of the possibility space instead of serving the "bigger is better" mentality.

I. Read said...
This comment has been removed by the author.
I. Read said...
This comment has been removed by the author.
I. Read said...

My apologies for clumsily deleting and editing these comments in the previous posts!

This is a very expansive concept when pursued to the fullest extent. Using this terminology, for example, one might say that the constants and properties of physics collude to create the fabric of reality itself. On a smaller scale, programming languages are sufficiently rich fabrics to study the thought forms that emerge from their use, however. Although I am not a programmer, I would find it very interesting to review some analysis on the types of thinking that are encouraged by the paradigms of object oriented programming vs. functional programming, alternatively. These two distinctly different methods of problem solving seem like they would cultivate vastly different internal hierarchies and techniques in those devoted to their branch of choice.

Meanwhile, in the world of music, the limitations of MIDI are a symptom of the widespread cultural indoctrination and adoption of the twelve tone system of music. The alternative, microtonal music, is maligned by popular culture, instrument manufacturers and virtual instrument programmers. Our addiction to the twelve tone scale is an example of a inherently limiting cultural fabric. In the West we have become so accustomed to our musical expression occurring using only twelve notes in an octave that we have unwittingly created an echo chamber that serves to constrain music to this bland and confining set of assumptions in pitch. However, there is something that may be learned of fabrics from the twelve tone system: it might be said that this particular fabric, despite its limitations, has become popular because of its deep resonance with the human psyche for whatever reason. In other words, music being what it is, if microtonal music was more compelling to the average person, it wouldn't be eschewed popularly in favor of a much less robust fabric.

If there would be any hope of creating or, perhaps more appropriately, experiencing a neutral and universal fabric, it would have to be one that fully reconciles divergent and convergent thought between the individual and the collective. I am more inclined to believe this will not take place without a fully developed AI acting as a translator and buffer between individuals. In the meantime, I think it is a worthy thing to experience and evaluate unique fabrics helping us to recontextualize our cognitive processes and greater realize our mental freedom. In my opinion, the best kinds of fabrics are ones which, for whatever reason, encourage transcendent thought. If we can learn to finely and objectively quantify fabrics and the mentalities they encourage, we will have made a broad inroads into the future of communication.

viznut said...

I guess the deceptive feeling of pseudo-universality of the twelve tone system comes from the fact that it forms a rather symmetric and "full" network of integer-ratio intervals with a relatively small set of fixed pitches. It is still a compromise, however, trying to maximize expressivity while minimizing the complexity of physical implementation. Even if we choose to stick with the usual pitch ratios Western people are most familiar with (2:1, 3:2, 4:3, 9:8, etc.), we may find out that a denser tone system (such as 72-tone equal temperament) could express them more purely. We just haven't gone with a denser system because it would make physical instruments unnecessarily cumbersome. I therefore think the twelve-tone system stems from practical constraints and traditional forms, not from any kind of profound compatibility with human mind.

In computers, available scales are not limited by physical constraints but merely by how wide counter registers can be used. Some pioneering composers of computer music back in the fifties and sixties realized this and made some experimental compositions with unusual tone systems and the like. Sadly, this path didn't lead to a totally new framework of musical expression it could have, and when computer music became commercial, it adopted a rather rigid interpretation of the traditional twelve-tone equal temperament, effectively giving every virtual instrument a kind of virtualized pipe organ fabric. This constraint is also difficult to overcome because most of us lack the theoretical language for it. It is very difficult to find musical theory textbooks that generalize beyond the Western tradition (even treatment of "microtonality" is terminologally centered around the perceived neutrality of the Western 12-tone system). When I self-studied musical theory, I had to come up with some of my own math to reach a sufficient level of general understanding. Breaking the boundaries of MIDI or tracker music can be done purely in software, so it should be technically easy, but in order to write that software, one needs to first choose an alternative theoretical framework that fits the purpose. I once did some preliminary experiments but not much more.

I personally don't believe that neutral or universal fabrics are possible anywhere. It may be possible to get subjective glimpses of something more profound by adopting a lot of point-of-views and transcending them, but once you try to express this glimpse, the expression gets a specific fabric of its own. I therefore think it is more intellectually honest to embrace the diversity of different points-of-view, even at the risk of increased complexity, than to strive for neutrality that ends up being mere pseudo-neutrality in any case.

One idea related to fabrics of computer art I've been planning to experiment with is the difference of binary and ternary fabrics. When experimenting with simple boolean logic functions in an audiovisual context one can approach the esthetic essence of binarity, but in order to really grasp the binary fabric, I feel we need something to contrast it against, e.g. ternary (base-3) and analog-computer fabrics. I'll probably write an experimentation tool for this at some point of time.

Danyil said...

In the 1982 book De Re Atari game developer Chris Crawford introduced a related concept with regard to computer hardware, which he later expanded on in The Art of Computer Game Design. In both books he urged the game developer to "work with the grain of the machine", not against it.

Tasty Destination said...

Very great information, thanks for sharing. fabric world

keanna said...

Core Java designers are in extreme interest because of the congesting appropriation of Core Java. In addition, Core Java is at present garnish the undertaking back-end advertise and the Android portable application improvement showcase.

For More Info:- Core Java Training in Gurgaon

Nolarich said...

update พริตตี้ ปี 2020
sexy Thailand 2020

IAHIA said...

"ซิมิคาส บินด่วนถึง เมอร์ซี่ไซด์>> ข่าวฟุตบอล "

Nolarich said...

update new item skincare
how to

No Name said...

Selling USA FRESH SSN Leads/Fullz, along with Driving License/ID Number with good connectivity.

**Price for One SSN lead 2$**

All SSN's are Tested & Verified. Fresh spammed data.

**DETAILS IN LEADS/FULLZ**

->FULL NAME
->SSN
->DATE OF BIRTH
->DRIVING LICENSE NUMBER
->ADDRESS WITH ZIP
->PHONE NUMBER, EMAIL
->EMPLOYEE DETAILS

->Bulk order negotiable
->Hope for the long term business
->You can asked for specific states too

**Contact 24/7**

Whatsapp > +923172721122

Email > leads.sellers1212@gmail.com

Telegram > @leadsupplier

ICQ > 752822040

No Name said...

Selling USA FRESH SSN Leads/Fullz, along with Driving License/ID Number with good connectivity.

**Price for One SSN lead 2$**

All SSN's are Tested & Verified. Fresh spammed data.

**DETAILS IN LEADS/FULLZ**

->FULL NAME
->SSN
->DATE OF BIRTH
->DRIVING LICENSE NUMBER
->ADDRESS WITH ZIP
->PHONE NUMBER, EMAIL
->EMPLOYEE DETAILS

->Bulk order negotiable
->Hope for the long term business
->You can asked for specific states too

**Contact 24/7**

Whatsapp > +923172721122

Email > leads.sellers1212@gmail.com

Telegram > @leadsupplier

ICQ > 752822040

IAHIA said...

ypofkazakhstan.com
sslcert11.com

No Name said...

Selling USA FRESH SPAMMED SSN Leads/Fullz, along with Driving License/ID Number with EXCELLENT connectivity.

**PRICE**
>>2$ FOR EACH LEAD/FULLZ/PROFILE
>>5$ FOR EACH PREMIUM LEAD/FULLZ/PROFILE

>All Leads are Tested & Verified.
>Invalid info found, will be replaced.
>Serious buyers will be welcome & will give discounts to them.
>Fresh spammed data of USA Credit Bureau
>Good credit Scores, 700 minimum scores.

Email > leads.sellers1212@gmail.com
Telegram > @leadsupplier
ICQ > 752822040

**DETAILS IN EACH LEAD/FULLZ**

->FULL NAME
->SSN
->DATE OF BIRTH
->DRIVING LICENSE NUMBER WITH EXPIRY DATE
->ADDRESS WITH ZIP
->PHONE NUMBER, EMAIL, I.P ADDRESS
->EMPLOYEE DETAILS
->REALTIONSHIP DETAILS
->MORTGAGE INFO
->BANK ACCOUNT DETAILS

->Bulk order will be preferable
->Minimum order 25 to 30 leads/fullz
->Hope for the long term business
->You can asked for specific states & zips
->You can demand for samples if you want to test
->Data will be given with in few mins after payment received
->Payment mode BTC, PAYPAL & PERFECT MONEY

**Contact 24/7**

Email > leads.sellers1212@gmail.com
Telegram > @leadsupplier
ICQ > 752822040

No Name said...

**SELLING SSN+DOB FULLZ**

CONTACT
Telegram > @leadsupplier
ICQ > 752822040
Email > leads.sellers1212@gmail.com

>>1$ each without DL/ID number
>>2$ each with DL
>>5$ each for premium (also included relative info)

*Will reduce price if buying in bulk
*Hope for a long term business

FORMAT OF LEADS/FULLZ/PROS

->FULL NAME
->SSN
->DATE OF BIRTH
->DRIVING LICENSE NUMBER WITH EXPIRY DATE
->COMPLETE ADDRESS
->PHONE NUMBER, EMAIL, I.P ADDRESS
->EMPLOYMENT DETAILS
->REALTIONSHIP DETAILS
->MORTGAGE INFO
->BANK ACCOUNT DETAILS

>Fresh Leads for tax returns & w-2 form filling
>Payment mode BTC, ETH, LTC, PayPal, USDT & PERFECT MONEY

''OTHER GADGETS PROVIDING''

>SSN+DOB Fullz
>CC with CVV
>Photo ID's
>Dead Fullz
>Spamming Tutorials
>Carding Tutorials
>Hacking Tutorials
>SMTP Linux Root
>DUMPS with pins track 1 and 2
>Sock Tools
>Server I.P's
>HQ Emails with passwords

Email > leads.sellers1212@gmail.com
Telegram > @leadsupplier
ICQ > 752822040

THANK YOU

shri chakram astro centre said...

Thanks for providing this information. It's very helpful.

SRICHAKRAM ASTROLOGY.Best Astrologer In Mangalore

Vasudeva said...

Great post, thanks
SRIKRISHANA ASTROLOGY.Best Astrologer In Dharwad

pandit sri rajshekar bhat said...

A good website is useful.
visit our website
Vashikaran Astrologer in Basavanagudi

pandit sri rajshekar bhat said...

Suggest good information in this message,
click here.
Best Astrologer in Basavanagudi

Gokul Das said...

Such a great post, thanks for posting this kind of useful information.
Visit Best Astrologer in Nirmal

Arul Raj said...

Thanks for sharing, nice post! Post really provice useful information!
For sofa renovation contact thesofastore they gives best

Arul Raj said...

Thanks for sharing, nice post! Post really provice useful information!
For sofa renovation contact thesofastore they gives best
Sofa Refurbishing in Agara Bangalore

abhiramindia said...

Thank you for your post. This is excellent information

abhiram astrology center. Best indian Astrologer In delta

โรซ่า said...

Hello, we have a game to recommend.

ทางเข้า ufabet
ufabet kick
รูเล็ตสายฟ้า
แทง บอล ผ่าน มือ ถือ
กา บอล

Thank you for your interest."

โรซ่า said...

Hello, we have a game to recommend.

รีวิวเครื่องสำอาง
สูตรบาคาร่า
บอล
เลขเด็ด
jili-เว็บตรง

Thank you for your interest."

Anonymous said...

Hello to all

Fullz with good credit scores are available
CC's with cvv & Dumps
SSN DOB USA Fullz/Pros
EIN Fullz
COmbos/Logs

Legit fullz with guarantee results
Fresh spammed & valid info
-----------------------------------------
ICQ/Telegram @killhacks
WA +92 317 2721122
Email exploit dot tools4u @ gmail dot com
Wickr/Skype @peeterhacks
-----------------------------------------
Tools & tutorials are also available
Hacking Carding Spamming Scripting Stuff
Mailers Senders C-panels
Brutes Crackers

Legit tools & tutorials
Fresh & verified tools

Anonymous said...

قطاعات بي في سي بصفة عامة، تعتبر قطاعات بي في سي اختيارًا ممتازًا للتطبيقات المتعددة نظرًا لمزاياها المتعددة وأداءها الفائق. سواء كنت تبحث عن مواد للبناء والتشييد أو التصنيع الصناعي أو التطبيقات الطبية، فإن قطاعات بي في سي توفر الحلول المثلى بفضل مرونتها ومتانتها ومقاومتها الممتازة.