Hacker News new | ask | show | jobs
by DonHopkins 2272 days ago
Max/MSP struck me like a very opinionated and schizophrenic elderly camel, who's been across the desert many times: it's wonderful and indispensable in certain situations, but it will get mad and spit on you if you don't treat it right, and it's butt-ugly, and some Max programmers have a way of cultivating and celebrating that butt-uglyness. (See any of AntiOrp's Nato.0+55+3d code!)

https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d

The author of Nato.0+55+3d, Netochka Nezvanova, aka "nameless nobody", "=cw4t7abs", "punktprotokol", "0f0003", "maschinenkunst" (preferably spelled "m2zk!n3nkunzt"), "integer", and "antiorp":

https://en.wikipedia.org/wiki/Netochka_Nezvanova_%28author%2...

A typical AntiOrp-style NATO patch:

https://enacademic.com/pictures/enwiki/78/Nato.0%2B55%2B3d.p...

Some neater examples, and an in-depth description of Nato, by Jeremy Bornstein:

http://www.bootsquad.com/old_site/nato/nato00.html

Max has got layers and layers of experience built up over the decades, but no one clear model or consistent way of doing things. It's got so many different opinions, or programming paradigms, that aren't necessarily consistent with each other and don't fit together well. Some people love it, because it happens to have the combination of programming paradigms that they like. But when you're starting out, it's hard to figure out the best way to do anything, because there are so many different competing ways. In that sense, it's extremely un-Pythonic, like visual Perl.

Here's a video that shows some great examples of Max/Nato code. Remember, this was before Cycling '74 created Jitter (which pissed off AntiOrp who considered it a rip-off of Nato). Nato supported many features of QuickTime, including reading and writing live RTP video streams over the network. So Nato "operators" would exchange live QuickTime RTP video streams back and forth over the network (both LAN and Internet) and jam together in live distributed performances, sending the video from one Mac to the other, near and far, mutating and remixing and layering in live video each hop, projecting it on screens, and feeding it back and forth between different "operators" who were writing and editing the code in real time.

Max_MSP_nato.0+55+3d 's_app_run_on_El_Capitan_test 2

https://www.youtube.com/watch?v=X0kQcnetR9M

Here's more about Nato:

https://news.ycombinator.com/item?id=16753758

>Nato.0+55+3d (released in 1999) was an amazing but notorious extension for Max that enabled live programming of real time video manipulation, networking and display. https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d

>"At the time of its release (the summer of 1999), NATO.0+55+3d was in demand as it appeared several years before other similar infrastructures such as GEM and Jitter (released by the makers of Max/MSP in October 2002). Earlier software such as Image/ine developed in 1997 at STEIM was drawing in a similar direction, but the fact that NATO.0+55+3d was operating inside the Max/MSP framework, using its "visual programming" protocol, provided at the same time greater ease of use and more flexibility, allowing the user to create his own applications and tools. It gained popularity among video artists and performers, who were using it for a large variety of purposes, prominently for live performance and interactive installation."

https://news.ycombinator.com/item?id=22352276

>Bravo! If you enjoyed that anti-Max performance art trolling, but thought it wasn't spectacularly hyperbolic and sociopathic enough, I recommend looking up some of the classic flames on the nettime mailing list by Netochka Nezvanova aka "NN" aka "=cw4t7abs", "punktprotokol", "0f0003", "maschinenkunst" (preferably spelled "m2zk!n3nkunzt"), "integer", and "antiorp"! https://en.wikipedia.org/wiki/Netochka_Nezvanova_(author)

>Netochka Nezvanova is the pseudonym used by the author(s) of nato.0+55+3d, a real-time, modular, video and multi-media processing environment. Alternate aliases include "=cw4t7abs", "punktprotokol", "0f0003", "maschinenkunst" (preferably spelled "m2zk!n3nkunzt"), "integer", and "antiorp". The name itself is adopted from the main character of Fyodor Dostoyevsky's first novel Netochka Nezvanova (1849) and translates as "nameless nobody."

>She (or he or they or it) were the author of the NATO.0+55+3d set of extensions for Max, which predated Jitter:

https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d

The most feared woman on the Internet

http://www.salon.com/2002/03/01/netochka/

>Netochka Nezvanova is a software programmer, radical artist and online troublemaker. But is she for real?

>The name Netochka Nezvanova is a pseudonym borrowed from the main character of Fyodor Dostoevski’s first novel; it translates loosely as “nameless nobody.” Her fans, her critics, her customers and her victims alike refer to her as a “being” or an “entity.” The rumors and speculation about her range all over the map. Is she one person with multiple identities? A female New Zealander artist, a male Icelander musician or an Eastern European collective conspiracy? The mystery only propagates her legend.

Cramer, Florian. (2005) "Software dystopia: Netochka Nezvanova - Code as cult" in Words Made Flesh: Code, Culture, Imagination, Chapter 4, Automatisms and Their Constraints. Rotterdam: Piet Zwart Institute.

https://web.archive.org/web/20070215185215/http://pzwart.wdk...

1 comments

I found some great links (which I've archive.orgified) on Jeremy Bornstein's page on Nato:

Here is some of the delightfully stylized "documentation" of some interesting NATO extensions, written with Netochka Nezvanova's poetic simply.SUPERIOR Eastern European Marxist Feminist Punk Hacker ASCII Art Razzle Dazzle.

http://www.bootsquad.com/old_site/nato/nato00.html

If the built-in NATO objects aren't enough for you, you may purchase several `extended` objects for NATO. At the time of this writing, they include:

- 242.wto: video streaming objects

https://web.archive.org/web/20010707090427/http://eusocial.c...

         242.wto + 242.wto2 -  feu!lez de mdl c!t!zn malad!e
         242.wto + 242.wto2 -  nato.0+55.modular objekts

         realtime video streaming 4rom nato.0+55 2 nato.0+55
         i.e. 01 wto global video processing network.
         performance dependent on internet konekzie.
 
         "have tested via ethernet from g4 > g3.
         full framerate, no visible delays.
         video codec works best here.

         320x240 codecq 3 using video
         is my choice at the mom.
         runs stable since three hours" - fm life 4rm.
- 242.parazit: a plug-in host for Image/ine plug-ins

https://web.archive.org/web/20010707090427/http://eusocial.c...

      242.parazit  -  a nato.0+55 plug-in host for steim image\ine plug-ins

      image\ine plug-ins are lovelier in nato.0+55 modular due 2 :
      one may operate them in parallel or sequentially as desired
      + one may instantiate as many kopies as desired
      + due 2 fakt nato.0+55 is much more flexible regarding image resolution
      measures have been taken so that the image\ine plug-ins
      operate in one similar fashion - hence it is not required
      that one restarts the host application in order to modify the output resolution.
      + naturally one may now kontrol image\ine plug-ins via innumerable max routines.

      nato.0+55    - is of course the most superb realtime.non.realtime. 
      m9ndfszp video \ image etcetera etcetera distraktiv kode kontainer.
      juzt 1 kl!k   -  http://membank.org/     juzt ur kl!k 
- 242.fireuire: several FireWire objects, which permit NATO to send various data (image & effects data, DV data, MSP audio data) through your FireWire port

https://web.archive.org/web/20010707090427/http://eusocial.c...

             -    N 4 � �.firewire  :  beauty has its reasons.

    N 4 � �.firewire is a multi klient \ multi application firewire extension.
    permitting multiple applications and klients to simultaneously engage in  
    video + audio firewire aktivity.
    
    klients exist for nato.0+55.modular. image\ine.  msp.
- 242.o204: an internet data transfer (download/upload) object

https://web.archive.org/web/20010707090427/http://eusocial.c...

        242.0+204  -  max c++\c-- objekt primarily konstrukted for utilization 
                              with nato.0+55.  if desired it may be utilized independently as well.

        242.0+204 performs http \ https \ ftp file transfers - 
        automatic compression and decompression [stuffit engine required] 
        of data transferred = feasible.  operations may be sequential. logged. 
        synchronous + asynchronous

        nato.0+55 + 242.0+204 locked in one digital embrace
        may be utilized for timed video and audio data capture + automatik \ programmatik 
        upload of mute+media kapzulz to an internet ftp location. - furdzr unatendd        
        populaz!on=poluz!on ov dze !nternaz!onl b!t ztream = !nev!tabl + !mperat!v

        4 an example - may konsum [>]
- 242.axial: a directory/search engine utility

https://web.archive.org/web/20010707090427/http://eusocial.c...

        242.axial  -  ultra superb avec nato.0+55 modular + non-modular 
        242.axial  -  01 morphology ov 01 direktory zmak routine
      
        ultra elegant _ recursive + infinite search engine
        index the stem + branch into the axial system of a directory strukt.

        nato.0+55 operators may access + only _ juzt 1 klik [>]
- 242.of02: a realtime, recursive multi-layer photoshop file to qt movie converter

https://web.archive.org/web/20010707090427/http://eusocial.c...

        242.0+f02  -  max c++\c-- objekt primarily konstrukted for utilization 
                              with nato.0+55. if desired it may be utilized independently as + well.

        242.0+f02 performs the conversion of multi image or multi layer files - photoshop. tiff. flashpix
        to single track quicktime films. multiple track quicktime films or multiple quicktime films.   

        the film outputted may be sequential - the image files are placed in one track sequentially
        the film outputted may be parallel - the image files are placed in separate film tracks starting at time 0
        the film outputted may be parallel and sequential - [m9ndfukc.macht.fre!.n!chtz+?]
        the image files are placed in separate film tracks starting at sequential times.
        the film outputted may be autonomous films - plural
        the image files are placed in separate films entirely.
- 242.obl!ke: a media preview object

https://web.archive.org/web/20010707090427/http://eusocial.c...

        obl!ke.0+0000  -  max c++\c-- objekt . facilitates previewing of aiff\sd2\film files 
     
        for auto-loading into the buffer~ and sfplay~ msp objekts + movie + nato.0+55 
        max objektz + etc. it may also be utilized as a file path aggregator \ accumulator for   
        convenient access to previously specified \ selected files  -  and if desired for 
        converting formats - such as cd audio for subsequent automatik loading into objekts 
        enumerated.    

        please insert addtl ko!nsz +? [>]
- 242.gl: an OpenGL renderer

https://web.archive.org/web/20010707090427/http://eusocial.c...

        NATO.0+55.GL - brings OpenGL rendering to NATO.0+55 in 01 superb. ultra sanitary fashion.
        NATO.0+55.GL - is totally + totally integrated within NATO.0+55

        NATO.0+55.is a realtime + modular authoring environment 
        comprised of approx 130 objekts [1.22.01] encompassing QT, QTVR, 
        2D + 3D GRAPHIKS, LIVE-VIDEO, FIREWIRE, VIDEO-STREAMING, FLASH, MP3. QTFX etc.

        NATO.0+55.GL facilitates
        realtime 3d model specification. manipulation. texture mapping. lighting. fog. etc.

        Unlike the ultra rigid + centralized 1 track korporat monstrosities sponsored by INTEL 
        \+\ populated by aesthetically + biologically destitute xy computer programmers 
        avec 0+0 imagination and 0+100 percent model citizen predilections - 
        NATO.0+55.GL is kompletely modular + infinitely flexible.

        NATO.0+55.GL permits an infinite number of render sequences.
        NATO.0+55.GL permits an infinite number of render sequences.

                NO treatments. No columns. No windows. 
                NO inhibitors. NO prolonged inkubations. 
                NO korporat translations. 

                PURIFIKATION>
- 242.qtfx: a QuickTime effects host

https://web.archive.org/web/20010707090427/http://eusocial.c...

     -   NATO.0+55.QTFX  :  realtime quicktime effects processing within NATO.0+55 [>]
                                        in 01 superb. ultra sanitary + flexible fashion.

     one may process video + 3d + 2d data via std quicktime effects + 3rd party effects
     in realtime + non-realtime - as desired.  operation = ultra sanitary + flexible evidament.

     one may process video + 3d + 2d data via std quicktime transitions + 3rd party transitions
     in realtime + non-realtime - as desired.  operation = ultra sanitary + flexible evidament.

     2 versions = may be selekted - standard + ultralux. ultralux permits the compilation of standalone applications
     for non-commercial or commercial [during the korporat fascist (r)evolution life forms are presently experiencing
     in which 01 googolplex of iszkrema flavorz are ultra available everything = ist pure komersz - inkluziv of +
     not limited to one's simply genial m9nd kontainer [>] whilst the standard version does not.
     one may selekt as one's status permits _____...    body without borders [want zom +?]    

     si vouz voulez ____...  
            
     just 1 klik \ ur klik     _   http://order.immunology.com/>YES PLEASE+?
- 242.nr+: some non-realtime objects

https://web.archive.org/web/20010707090427/http://eusocial.c...

       242.nr+ - nato.0+55 objekts facilitate realtime \ non-realtime rendering \ processing.
       generally nato.0+55 attempts to operate in realtime. depending on the underlying hardware
       this may restrict the type and \ or number of processes that may be performed.
       the realtime \ non-realtime objekts may be utilized to rekord data in non-realtime 
       thus facilitating high quality rendering and \ or processor intensive tasks.

       likewise 242.nr+ permits operations unfeasible in any other environment.
       i.e. one may render a film in reverse \ randomly \ stochastically \ programmatically.
       e.g. one may specify that only every other frame is to be rendered or that every 10 frames
       a loop should be applied. or that only those frames that fit a certain criteria should
       be rendered.  in other words NATO.0+55 renders korporat fascist kode null + ultra null
       in 01 ultra sanitary \ elegant + ekxpedient fashion.

      komentari

      "the non-realtime objects prove that there is truly 
       nothing you can't do with nato.0+55 -- now i can 
       work in high resolution with full-frame rate results.
       it truly renders all other `nonlinear` editing applications 
       ultra null"

      "ultra lovely :-) "
- 242.rna: NATO to MSP sound manager driver and associated software.

https://web.archive.org/web/20010707090427/http://eusocial.c...

             NATO.0+55.RNA  :  beauty has its reasons.

             NATO.0+55.RNA is a multi klient \ multi application audio library \ patchbay
             permitting multiple applications + klients to simultaneously engage in ___... 
             unilateral global.OS vociferous akkords. da + ultra da.
             
             klik 2 m9ndfukc [>]    klik if u do not own nato.0+55 [>]

             it is the ultra.inauguration of multi.format multi.klient FREE global.OS konverzazie.
             + some 01 in ost europa kontrols the protokol [>] 
             NATO kontra NN +? nn u!zprz - uarm.kompaz!onat.zm!le okz!dent kr!!!!ket.

             klients exist for nato.0+55.modular. msp.
    

             NATO.0+55.RNA  :  01 addtl simply.SUPERIOR + ultra mortal projekt by Netochka Nezvanova. 
             implemented by ___... mmmmmm _

             `must play a game of mother` - i smell baby powder!!!
             _____.... nn cannot play mother!!! nn can play mistress +? da + ultra da.
             apropos. most of your children [ne. make that all]
             arnt very attractive. they must not be yours a +?

             bon. let us play - delicious kouard. firstly however - letz konfuze dzm [>]