5 ms·
Max is Max/MSP, where: * MSP is an engine for generating/synthesizing/analyzing realtime audio which the user builds as a diagram in a GUI. The backend automat
by jancsika 7y ago
Max is Max/MSP, where:
* MSP is an engine for generating/synthesizing/analyzing realtime audio which the user builds as a diagram in a GUI. The backend automatically sorts the diagram into a graph and generates the audio as the user builds the program. So by the end, the programmer has used their ears to measure whether the program can indeed compute audio for the diagram in realtime. (And the corresponding classes for signal computation are designed with soft realtime scheduling in mind.)
* Max is a general purpose programming language where the user creates and connects various branches of different Rube Goldberg machines together in a GUI. This appears superficially similar to DSP diagrams above. But each object in the chain can do anything from simple realtime appropriate math to doing file i/o while allocating large chunks of memory. There's no easy way to tell which of these Rube Goldberg objects are realtime safe. Plus one can iterate infinitely and recurse into already recursive chains of calls with ease. (The MSP engine prohibits recursion.)
Due to lack of constant aural feedback for Max diagrams, users typically keep a separate, erroneous mental model of all the Rube Goldberg machines in their short-term memory. In fact, most users practice a novel form of cryptography I call "Fresco-based write protection": the user keeps drawing and connecting more Rube Goldberg machines atop one another until their short-term memory becomes the only private key that can decode them. Given about 30 minutes for the frescoes to "dry," this technique is proven secure even against rubber hose attacks.
For maximum frustration, Max/MSP has objects which let the user hook Rube Goldberg machines up to a DSP graph, and vice versa. And I mean maximum frustration: while such inter-diagram connections give users functionality they wouldn't otherwise have, they also give users the false-confidence necessary to schedule a performance that ends up with that user staring at a silent laptop and muttering, "I don't understand, this worked fine on Tuesday."
Edit: clarification
- spacechild1 7y agoHow much of your critique of Max/MSP does apply to Pd? ;-)
- miillkk 7y agoI teach Max at a college level currently. The Rube Goldberg machines you speak of result from over engineering and the weird philosophy Cycling 74 has of always having new versions of Max be backwards compatible. However after you spend a good amount of time you start to be able to avoid these higher-level over engineered mini libraries and be able to use lower level operators to achieve exactly what you want and nothing more. After you build up your own library of modules all is well. But I do agree with your point. I've even been creating my own counters lately because even simple things like the counter "object" in Max are so bloated.
- pier25 7y ago> Fresco-based write protection LOL ain't that the truth. Max projects can become spaghetti monsters very easily even if you create custom objects and such.
- floatrock 7y ago> users typically keep a separate, erroneous mental model of all the Rube Goldberg machines in their short-term memory... the user keeps drawing and connecting more Rube Goldberg machines atop one another until their short-term memory becomes the only private key that can decode them. It really was a cute rant (we've all been there where we've hated using something that much!), but honestly this bit describes every piece of sufficiently complex software I've worked on. Not sure about you, but I poke my coworkers all the time to ask "hey, can you explain what this bit of business logic does again? I think I need to reuse it for this new feature..." Maybe Max just needs a unit testing framework.
- AndrewUnmuted 7y agolol unit testing? Max/MSP objects are just enormous json blobs. They have much bigger problems with that language than unit testing. People interested in musical programming should investigate SuperCollider and completely bypass Max/MSP. It’s terrible software.
- qmmmur 7y agoThe object connections are described in json but the objects themselves are c++.
- rectang 7y agoIn Pure Data, the file format describes a directed graph of objects. It's not just freeform. Here's part of a presentation on "Dataflow Programming" talking through that graph: https://www.youtube.com/watch?v=aPh4Z3SioB8&t=29m25s https://www.youtube.com/watch?v=aPh4Z3SioB8&t=29m25s Is Max/MSP different? Pure Data is Dataflow-ish programming language. It's fine for Dataflow nodes to be written in another language so long as the node is self contained — that's the essence of "Hybrid Dataflow". Pd has some global state so it's not pure Dataflow, but from what I can tell that state is not what the rant earlier is complaining about in the context of Max/MSP.
- AndrewUnmuted 7y ago
- DonHopkins 7y agoBravo! 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) 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 https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d >NATO.0+55+3d was an application software for realtime video and graphics, released by 0f0003 Maschinenkunst and the Netochka Nezvanova collective in 1999 for the classic Mac OS operating system. Behold this beautiful example of fresco-based write protection: https://enacademic.com/pictures/enwiki/78/Nato.0%2B55%2B3d.png https://enacademic.com/pictures/enwiki/78/Nato.0%2B55%2B3d.p... http://www.skynoise.net/2005/10/06/solu-dot-org-vj-interview/ http://www.skynoise.net/2005/10/06/solu-dot-org-vj-interview... >>>What’s your connection with the notorious ‘nato’ software? >Nato was the first software that gave me the push to start exploring the live visual world.. before that I did video art making analogue video, and imposing graphics with amiga. Then multimedia and internet projects seemed to offer more possibilities and not until finding Nato did I return to pure video. Fiftyfifty.org was distributing Nato in the beginning, and invited Netoschka Nezvanova various times to Barcelona, my connection with Nato was quite close but now I’m using the “enemy” software Jitter and sometimes Isadora. Jitter is far more complicated and more made for engineers/programmers than Nato, which was basically a video object library for max/msp, and more fun – it seemed always so fragile, and easy to lose. https://news.ycombinator.com/item?id=8418703 https://news.ycombinator.com/item?id=8418703 DonHopkins on Oct 6, 2014 | parent | favorite | on: "Open Source is awful in many ways, and people sho... Does anybody remember the nettime mailing list, and the amazing ascii graphics code-poetry performance art trolling (and excellent personalized customer support) by Netochka Nezvanova aka NN aka antiorp aka integer aka =cw4t7abs aka m2zk!n3nkunzt aka punktprotokol aka 0f0003, the brilliant yet sociopathic developer of nato.0+55+3d for Max? Now THAT was some spectacular trolling (and spectacular software). https://en.wikipedia.org/wiki/Netochka_Nezvanova_(author) https://en.wikipedia.org/wiki/Netochka_Nezvanova_(author) https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d http://jodi.org/ http://jodi.org/ http://www.salon.com/2002/03/01/netochka/ http://www.salon.com/2002/03/01/netochka/ The most feared woman on the Internet 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.wdka.hro.nl/mdr/research/fcramer/wordsmadeflesh/07-chapter_4/ https://web.archive.org/web/20070215185215/http://pzwart.wdk... Empire = body. hensz nn - simply.SUPERIOR per chansz auss! ‘reazon‘ nn = regardz geert lovink + h!z !lk az ultra outdatd + p!t!fl pre.90.z ueztern kap!tal!zt buffoonz ent!tl!ng u korporat fasc!ztz = haz b!n 01 error ov zortz on m! part. [ma!z ! = z!mpl! ador faz!on] geert lovink + ekxtra 1 d!menz!onl kr!!!!ketz [e.g. dze ultra unevntfl \ borrrrrrr!ng andreas broeckmann. alex galloway etc] = do not dze konzt!tuz!on pozez 2 komput dze teor!e much elsz akt!vat 01 lf+ !nundaz!e. jetzt ! = return 2 z!p!ng tea + !zolat!ng m! celllz 4rom ur funerl. vr!!endl!.nn ventuze.nn /_/ / \ \/ i should like to be a human plant \/ _{ _{/ i will shed leaves in the shade \_\ because i like stepping on bugs https://anthology.rhizome.org/m9ndfukc-0-99 https://anthology.rhizome.org/m9ndfukc-0-99 Netochka Nezvanova was a massively influential online entity at the turn of the millennium. An evolution of various internet monikers, among them m2zk!n3nkunzt, inte.ger, and antiorp, Nezvanova has collectively been credited for writing a number of early real-time audiovisual and graphics applications. She was also a prolific and divisive presence on email lists, employing trolling as a form of propaganda and as a tool for creative disruption—though, at times, users adopting the moniker also engaged in harassment and other destructive behaviors. Among her most well-known pieces of software are the data visualization application m9ndfukc.0+99, which runs within a custom browser created for the app, and the realtime audiovisual manipulation tool, NATO.0+55+3d (which would later be repurposed as Jitter by Cycling ’74). Using data as raw material, these applications mined the artistic potential of noise, randomness, and the unexpected. In spite of (or perhaps in service to) the many pieces of software attributed to this anonymous online entity, the singular lasting impression of Nezvanova has been rooted in her seriously anarchic attitude—in the elusive, yet public, persona that she carefully crafted as a hybrid, internet-based act of performance art. Whether trailing code poetry across nettime mailing lists and online forums, or distributing software licenses at contentious fees to academics, Nezvanova was using information architecture itself as a medium. Often times, she would forgo the legibility of clean software design to produce unpredictable outcomes, and even reveal discrete truths. "I have not been thrown off a mailing list. I have been illegally transformed into a yellow flower. A young girl one day found me, and with half closed eyes whispered: Perfection, Today you've peered in my direction." —Netochka Nezvanova https://www.nettime.org/ https://www.nettime.org/ https://www.nettime.org/Lists-Archives/nettime-bold-0101/msg00028.html https://www.nettime.org/Lists-Archives/nettime-bold-0101/msg...