Hello, Globe

Monday 25 April 2016, 4:45 pm   ////  

On Saturday, the 400th anniversary of Shakespeare’s death (and, happy birthday, too, Will), I delivered to Twitter, via post-haste dispatch, the following four Commodore 64 BASIC programs, versions of the famous “Hello world” program:

400 ? chr$(147)"hello world":for a=1 to 500:next:? chr$(19)"brave":new:rem #c64

400 ? chr$(144)chr$(79)chr$(84)"hello world":rem #c64

400 ? "hello world"chr$(4^3+(2b or not 2b)):rem #c64

400 for a=0to255:? chr$(147)spc(a)"(QRQ) hello world":next:? chr$(147):rem #c64

Type ’em in to a for-real Commodore 64 or to this Web-based emulator here. No special characters are involved, so entering these programs should be easy; lowercase letters will appear capitalized and the few capital ones will appear as graphical symbols.

Let me know what you think … and if you see the relationship to four of Shakespeare’s plays.

Great Workshop for New Programmers at Babycastles

Monday 25 April 2016, 1:41 pm   ///////  

I had a launch event Saturday afternoon for my new book, Exploratory Programming for the Arts and Humanities. Not a typical reading or book party, but a workshop for people completely new to programming but interested in pursuing it. It was at the excellent gallery and venue, Babycastles, on West 14th Street in Manhattan.

I don’t actually have the list of attendees – I’d like to sent everyone a note, but it will have to wait! – but two people I knew beforehand participated and ten others joined in, with some people from Babycastles also participating and helping out. (Special thanks to Lauren Gardner for hosting!) I was very glad that the group was diverse in terms of gender, race, background, interests … also, pleased that this time around we had more people who were genuinely new to programming. I’ve done similar workshops before, prior to the publication of Exploratory Programming, and often there are folks who have had some programming classes and done some programming projects before. I’m glad to help such people as they re-start work with code, but I tried to make sure this time that there was no crypto-prerequisite suggested; the session really was for those wanting to program but lacking background.

Of course we dealt with programming as culturally situated and meaningful within art, poetry, writing, and inquiry. We used the historical Memory Slam examples that I prepared a few years ago for another event in Lower Manhattan.

Because the book is out and registration for the workshop included a copy of it, I didn’t feel the need to go through particular code examples that are in there. I was able to frame the whole idea of programming and focus on a few early specifics in both JavaScript and Python – showing that code is just editing a text file; that there’s a difference between code and data (and parameters, too); and that error messages can be helpful rather than frustrating. We did work with specific code, but didn’t cover specific code discussions in the book or the exercises in there. The book is for use in a classroom, but also for individual learners, to allow people to continue their work as programmers formally and informally.

Many people introducing a new book will have book parties, with or without readings, that draw a much larger crowd that this event did. But, as Brian Eno said about the Velvet Underground’s first album, not many people bought it but all the people who did started a band. I hope everyone who participated in this modest event at Babycastles goes on to start a band, by developing a programming practice engaged with the arts and humanities.

Update: I should have mentioned – we’ll have a similar workshop on May 15 at the School for Poetic Computation!

Exploratory Programming Published

Thursday 14 April 2016, 2:58 pm   //  

I’m pleased to announce the publication of Exploratory Programming for the Arts and Humanities, an MIT Press book to teach programming as a method of inquiry and creativity, no background required.

Exploratory Programmming, Montfort

I’ll be running events that are associated with the book to help people start programming. The first of these is at Babycastles (137 West 14th Street in Manhattan) on April 23. If you’re near and interested in starting to program, please sign up! A copy of the book is included with the workshop fee, which, with processing charges, comes in under $60 and supports this community-oriented gallery.

Babycastles workshop with Nick

Language Hacking at SXSW Interactive

We had a great panel at SXSW Interactive on March 11, exploring several radical ways in which langauge and computing are intersecting. It was “Hacking Language: Bots, IF and Esolangs.” I moderated; the main speakers were Allison Parrish a.k.a. @aparrish; Daniel Temkin DBA @rottytooth; and Emily Short, alias @emshort.

I kicked things off by showing some simple combinatorial text generators, including the modifiable “Stochastic Texts” from my Memory Slam reimplementation and my super-simple startup name generator, Upstart. No slides from me, just links and a bit of quick modification to show how easily one can work with literary langauge and a Web generator.

Allison Parrish, top bot maker, spoke about how the most interesting Twitter bots, rather than beign spammy and harmful or full of delightful utility, are enacing a critique of the banal corporate system that Twitter has carefully been shaped into by its makers (and compliant users). Allison showed her and other’s work; The theoretical basis for her discussion was Iain Borden’s “Another Pavement, Another Beach: Skateboarding and the Performative Critique of Architecture.” Read over Allison’s slides (with notes) to see the argument as she makes it:

Twitter Bots and the Performative Critique of Procedural Writing

Daniel Temkin introduced the group to esoteric programming languages, including several that he created and a few classics. He brought copies of a chapbook for people in the audience, too. We got a view of this programming-language creation activity generally – why people devise these projects, what they tell us about computing, and what they tell us about language – and learned some about Temkin’s own practice as an esolang developer. Take a look at Daniel’s slides and notes for the devious details:

Esolangs: A Guide to "Useless" Programming Languages

Finally, interactive fiction author Emily Short reviewed some of the classic problems of interactive fiction and how consideration has moved from the level of naïve physics to models of the social worlds – again, with reference to her own IF development and that of others. One example she presented early on was the challenge of responding to the IF command “look at my feet.” Although my first interactive fiction, Winchester’s Nightmare (1999) was not very remarkable generally, I’m pleased to note that it does at least offer a reasonable reply to this command:

Winchester's Nightmare excerpt

That was done by creating numerous objects of class “BodyPart” (or some similar name) which just generate error messages. Not sure if it was a tremendous breakthrough. But I think there is something to the idea of gently encouraging the interactor to o play within particular boundaries.

Emily’s slides (offering many other insights) may be posted in a bit – she is still traveling. I’ll link them here, if so.

Update! Emily’s slides are now online — please take a look.

I had a trio of questions for each pair of presenters, and we had time for questions from the audience, too. The three main presenters each had really great, compact presentations that gave a critical survey of these insurgent areas, and we managed to see a bit of how they speak to each other, too. This session, and getting to talk with these three during and outside of it, certainly made SXSW Interactive worth the trip for me.

There’s an audio recording of the event that’s available, too.

Christian Bök’s The Xenotext Book I at MIT

Tuesday 2 February 2016, 12:43 pm   //  

Christian read late last semester in the Purple Blurb series, a Trope Tank and CMS/W production. Here’s a video record of this appearance of his at MIT:

A New, Untitled Poem

Friday 4 December 2015, 5:34 pm   //  

I hope you enjoy this one, and don’t dismiss it as lighght verse.

Why I Hate The Martian

Monday 5 October 2015, 7:42 pm   //  

The Martian is a movie (a book, too, but I haven’t read it) where Matt Damon’s character, Matt Watley, is stranded on Mars and has to figure out how to survive as people on Earth figure out how to rescue him. It is a version of Robinson Crusoe (without Friday). There are no enemies or bad people, just understandable mistakes and the capricious forces of “nature,” or as it’s called here, space. Watley declares himself officially the first colonist of Mars, and he solves every problem, as he explicitly says, with science.

To turn to more contemporary references, it seems to me that the film is a conflation of Gravity, Moon, and Apollo 13. Which is fine with me – I’m all about movies that mash up, reference, and reinvent other movies. Film A = film B + film C + film D can be a nice equation. Romeo and Juliet with modern street gangs, or with modern street gangs and fast cutting, or with zombies. But in any case film A needs to do something innovative by combining elements from these other movies, or, at the very least, it needs to do the same things that B and C and D did, but better.

From one perspective The Martian, Gravity, Moon, and Apollo 13 are all basically escape-the-room puzzles, just with larger and smaller rooms and solved on-screen for you. They are all narratives about problem-solving and the virtues of being clever. Now, sometimes there are problems that can be solved by science and engineering, just as sometimes there are problems that can be solved without science and engineering. You bump into someone on the street; you say “sorry,” acknowledging them and your mistake and keeping society from deteriorating a tiny bit. Didn’t really need science there – even social science. But most major, significant problems involve both to some extent.

The Martian, however, is a parody of problem solving. By glorifying its brand of problem solving as something quintessentially American (but with global appeal), it suggests that we should narrow our understanding of how to think when things get difficult. There are plenty of things one can pick at in the film, but its model of problem solving is why I hate it.

First, The Martian presents its big, complex problem – one that engages the interest of mass audiences across the Earth, in different cities – as a “pure science” problem. I will do science to it, and it will be solved. Although international relations and tensions, along with congressional funding for the space program, are all a very explicit part of the film, they are rapidly glossed over when it comes to problem solving, so that a purely engineering approach is all that is needed to triumph. Being a Martian colonist and being a pirate in “international waters” are invoked as time-filling jokes by the protagonist, but there’s no hint that colonialism and international relations might be real issues – in the latter case, even within the film’s fictional world. There are no international issues, though. Those in the Chinese space program just shrug and say that of course they’ll help out, since they’re scientists. Any political or cultural difficulties that might arise are left unmentioned. Even Gravity involved one astronaut sacrificing himself for another instead of solving an engineering problem to cheat death. That film also presented the cultural (rather than purely technical) challenge of entering a space station where the controls were all in another language. In Moon, an unethical corporation was central to the situation. In The Martian there’s none of this complexity. Solving problems is just about making the right calculations.

Second, problem solving in The Martian is always a solo flight. In the case of Mark Watley, left alone and initially without communication capability on Mars, of course he’s going to start off solving problems alone, and it makes sense to showcase his individualistic ability to survive and prevail. But while collaborative problem solving was central Apollo 13 (based, remember, on real life), the people back home on Earth, even though they have the ability to work with one another to solve problems, never do. We just hear a snarky remark about how they tell him to drill through the roof of the rover and jump on it until it breaks open. Consider the socially inept mega-genius Rich Purnell, the JPL scientist whose insight is critical to NASA’s rescue attempt. Purnell communes only with the supercomputer as he figures out his ingenious plan. He uses other people only to represent Earth and Mars as he produces one of the film’s many exciting astrodynamical visualizations using everyday objects. Purnell even stops himself from talking to anyone else about his idea several times. There’s approximately one case of someone saying “that gives me an idea!” in response to something someone else said, and no instances in which people are shown working out problems together. Please. Moon essentially has only one character and even that movie has people working together to solve problems.

Sure, this Robinson Crusoe in space; I don’t expect the main character to be dealing with international relations, thinking as a team, or doing much more, for his part, than being an individual scientist. But the film has a lot of other characters, and none of them solve problems except by doing science to them, without reference to society, culture, politics, or language. None of them think about problems together.

Consider just the most “scientific” sorts of problems that are important to us today (such as climate change, water quality, disease from AIDS through cholera and ebola) without even getting into such important issues as war in the Middle East, mass and police killings, and the drug war. I submit that to make progress on these problems, and certainly the other ones, it is essential to consider social and cultural issues, and it is also essential for people to work together. For instance, a scientist decades ago can develop a drug that today helps those who have AIDS, then the company that produces it can raise the price 5000%. This is not a problem to which science can simply be done. Of course, engineering is in many cases essential to better water quality, but the civic and social contexts are important as well.

The Martian really didn’t have to insist that reductionism and solitary thought are the only ways to solve problems, even with its focus. If you’re looking for an escape-the-room movie, allow me to suggest Gravity, Moon, or Apollo 13.

A New Poem: “Forgetfulness, by Billy Collins”

Wednesday 23 September 2015, 9:34 pm   //  

Gur anzr bs gur nhgube vf gur svefg gb tb
sbyybjrq borqvragyl ol gur gvgyr, gur cybg,
gur urnegoernxvat pbapyhfvba, gur ragver abiry
juvpu fhqqrayl orpbzrf bar lbh unir arire ernq,
arire rira urneq bs,

nf vs, bar ol bar, gur zrzbevrf lbh hfrq gb uneobe
qrpvqrq gb ergver gb gur fbhgurea urzvfcurer bs gur oenva,
gb n yvggyr svfuvat ivyyntr jurer gurer ner ab cubarf.

Ybat ntb lbh xvffrq gur anzrf bs gur avar Zhfrf tbbqolr
naq jngpurq gur dhnqengvp rdhngvba cnpx vgf ont,
naq rira abj nf lbh zrzbevmr gur beqre bs gur cynargf,

fbzrguvat ryfr vf fyvccvat njnl, n fgngr sybjre creuncf,
gur nqqerff bs na hapyr, gur pncvgny bs Cnenthnl.

Jungrire vg vf lbh ner fgehttyvat gb erzrzore,
vg vf abg cbvfrq ba gur gvc bs lbhe gbathr,
abg rira yhexvat va fbzr bofpher pbeare bs lbhe fcyrra.

Vg unf sybngrq njnl qbja n qnex zlgubybtvpny evire
jubfr anzr ortvaf jvgu na Y nf sne nf lbh pna erpnyy,
jryy ba lbhe bja jnl gb boyvivba jurer lbh jvyy wbva gubfr
jub unir rira sbetbggra ubj gb fjvz naq ubj gb evqr n ovplpyr.

Ab jbaqre lbh evfr va gur zvqqyr bs gur avtug
gb ybbx hc gur qngr bs n snzbhf onggyr va n obbx ba jne.
Ab jbaqre gur zbba va gur jvaqbj frrzf gb unir qevsgrq
bhg bs n ybir cbrz gung lbh hfrq gb xabj ol urneg.

Explorers of Bottomless Pit Return with Treasure

Tuesday 8 September 2015, 5:04 pm   ///////  
They found the key.

They found the key.

Far from plunging us into darkness, Reading Project: A Collaborative Analysis of William Poundstone’s Project for Tachistoscope {Bottomless Pit} provides brilliant and multifaceted reflections on a rapid, serial electronic literature work. (You can read Bottomless Pit for free online, by the way, in ELCv1 and on Poundstone’s site.)

The party that sets out on the adventure of this reading is Paladin Jessica Pressman, who seeks truly through media archeology and quests into thorny literary theories; Thief Mark C. Marino, who slyly reverse-engineers the program and acquires the source code, stealing sequences of words and images along with how they are produced; and Illusionist Jeremy Douglass, who summons visualizations of the piece that dazzle but also unfold new understandings. They ascend from the endless passage of Project, and from the dungeon of collaboration, with numerous new insights, showing how different reading strategies – ranging from rather conventional to quite novel – can inform one another. There’s so much background offered (etymological, historical, bibliographical) that one imagines it being drawn out of a bag of holding. The view of the project that emerges seems beyond what a Beholder would be able to comprehend.

These three cover the fundamental workings of Project well, showing the role of randomness (a saving throw of sequential words does not abolish chance) and how individual pixels shine during a loop of the main story text. What this text means and alludes to, and the presence of a second sequence of less coherent words, is also discussed, and connections are made between such meanings and references and the piece’s material and technical aspects. From the media technology of various historical tachistoscopes to the nature of the pit in Freudian psychoanalysis, there is a great deal about Project that is – let’s not say excavated, but illuminated – in this book.

In its engagement with computation, the relationship of recent computational work to historical and literary concepts, and in the way it helps to develop productive collaborative approaches in the humanities, this is a landmark investigation – almost surely deeper than you imagine. It’s essential reading for those interested in digital literature, but also also for anyone (concerned with e-lit or not) who wonders how humanistic thinking can continue to develop and how thinkers can work together in new ways.

Paging Babel

Wednesday 26 August 2015, 2:20 am   ////////  

About 12 hours ago I was reading “The New Art of Making Books” by Ulises Carrión, a text I’d read before but which I hadn’t fully considered and engaged with. As I thought about Carrión’s writing, I felt compelled to put together a short piece on the Web. That took the form of a Web page containing a rapidly-moving concrete poem. The work I devised is called “Una página de Babel.”

Screen capture of Babel

Many will surely note that it is based on Jorge Luis Borges’s “Una biblioteca de Babel” (The Library of Babel). And, I hope people are aware of some the other interesting digital projects based on this story. I have seen one from years ago on CD-ROM; one that is very nice, and available on the Web, is Jeremiah Johnson’s BABEL. There’s also the exquisite Library of Babel by Jonathan Basile.

My piece does not try to closely and literally implement the library that Borges described, although it does have a page that is formally like the ones in Borges’s library: 80 characters wide, 40 lines long. Given this austere rectangular regularity, I assumed a typewriter-like monospace font.

The devotion of “Una página” to what the text describes stops there; instead of using the 23-letter alphabet that Borges sketches to populate this 80×40 grid, I use the unigram probabilities of letters in the story itself, in the Spanish text of “La biblioteca de Babel.” So, for instance, the lowercase letter a occurs a bit less than 8.4% of the time, and this is the probability with which it is produced on the page. The same holds for spaces, for the letter ñ, and for all other glyphs; they appear on the page at random, with the same probability that they do in Borges’s story. Because each letter is picked independently at random, the result does not bear much relationship to Spanish or any other human language, in which the occurrence of a glyph usually has something to do with the glyph before it (and before that, and so on).

“Una página” is also non-interactive. One can zoom, screenshot, copy and paste, and so on, but the program itself does not accept user input.

I sketched the program in Python before developing it in JavaScript, and when I was done with the HTML page that includes the JavaScript program, I thought I’d make a Python version, too. But when I did, I was disappointed; the Python program isn’t a page, and doesn’t produce a page, and so doesn’t seem to me to fit the concept, which has to be that of a page. Thus, I’m not going to release the Python program. The JavaScript version is the right one, in this case.

Tumblrs of the Everyday

Wednesday 19 August 2015, 10:43 pm   /////  

I collaborate with Flourish Klink on two very specific Tumblr blogs, which are both open for submissons.

street_crts

streetcrts.tumblr.com features photos of CRT televisions (or monitors) that have been placed on the street to allow others to take them away, or to allow them to be removed as trash.

xp_in_the_roost

xavierpauchard.tumblr.com chronicles, in photos, the legacy of industrial/furniture designer Xavier Pauchard, who, without formal training, designed steel furniture early in the 20th century that seems to be in about 1/5 of all New York restaurants, bars, and coffeehouses, and in many, many other places worldwide. Pauchard does not, as of this writing, even have an English-language Wikipedia entry.

If you spot street CRTs, or the furniture of Pauchard, please submit photos to these two sites.

Running All Night

Tuesday 11 August 2015, 11:39 pm   ////  

A recent production of mine, Running All Night, was shown at Babycastles in New York recently during the Playdate, July 23-August 7, 2015.

The piece is a 128-byte Commodore 64 program that functions as a clock or timer. It was executing during the whole show and presented a different image every moment of the day. Here’s once glance as what it looked like as it ran on a TV turned to face the window.

Running All NIght at Babycastles

There was also a TV inside and a single page (dot-matrix printed) of the assembly source code.

Remarker #1 Is Out

Wednesday 29 July 2015, 5:58 pm   /////  

Remarker #1

This month I published a zine in the form of a bookmark. It’s available by asking me for a copy, asking a contributor for a copy, or going to my local radical bookstore, Bluestockings, at 172 Allen Street, New York, NY. If you wish to find Remarker there you must, alas, look under the register among the freebies (and advertisements), not among the “grown up” zines. The upside is that Remarker is free.

The Great Vowel Shift

Monday 20 July 2015, 9:45 pm   /////  

My first PuzzleScript game is a concrete poem that, after a few levels, taunts you, the player, with a metapuzzle.

great_vowel_1

great_vowel_2

It’s “The Great Vowel Shift.”

You Have Been Offered ‘More Tongue’

Thursday 16 July 2015, 6:10 pm   /////  

I just put a new poetry generator up. This one was released in inchoate form at @party, the Boston area demoparty. I’ve finished it, now, writing an HTML page of 2kb that employs JavaScript to generate nonsense poems that I, at least, find rather amusing.

More Tongue (paused)

‘More Tongue’ is available in an expanded version (functioning the same but with uncompressed code and more meaningful variable and function names) which I suggest for just about everyone, since I encourage everyone to study and modify the code, for fun, for art, and so on. If you want to see the 2k version working, that’s there too.

I could have compacted this below 2kb, although I rather doubt I’d have gotten it to 1kb without some major shift in the way the program works. I can see a few inefficiencies in how I put the program together, and while I did turn to some compression resources I didn’t use the famed Minify. I was happy, though, with what the 2kb page does.

I’ll be reading from this in about an hour at Babycastles’s WordHack event, here in Manhattan, during the open mic. Hope to see some of you there.

@Party 2015 Productions

Sunday 21 June 2015, 6:38 pm   ////////  

I had five productions (one of them a collaboration) this time around at @Party, the Boston-area demoparty.

Browser demo: “More Tongue.” This was, well, not really a standard demo, even for a browser demo, that generates nonsense poems with compact code. Like everything at demoparties, it’s been released, but I’m going to work on a post-party version, so I’m leaving the party version out of this list.

Wild: “Shortcat.”

Shortcat is a very simple encoding scheme to make bytes (thus computer programs) into pleasing Unicode tweets, IMs, etc. #demoscene

Encoder: cat x.prg | perl -pe 'binmode STDOUT,":utf8";tr/\x00-\xff/\x{2500}-\x{25ff}/;' > x.txt #demoscene

Decoder: cat x.txt | perl -pe 's/[\x00-\x7f]//g;s/\xe2(.)(.)[^\xe2]*/chr((ord($1)-148)*64+ord($2)-128)/eg;' > x.prg #demoscene

To decode, copy the Shortcat string to a new text file, save it, decode. ASCII (incl. spaces & newlines) will be ignored #demoscene

When decoding, don’t include other Unicode besides the Shortcat string in your selection #demoscene

Add a hashtag (e.g., #c64) and/or other info (e.g., SYS4096) to help people run the program. That’s it. Nanointros everywhere! #demoscene

Check this Tweet for an example.

Executable music: “Dial Up” by devourant & nom de nom.

((((t*2^12018^t>>16)&42)*(t^12)&t>>5)>>3|t*9&(t&4^42)>>5)-1

Play it in an HTML5 player.

Intro: “Chronon,” a 32-byte Commodore 64 program.

PRG file. Source.

PET Code

Demo: “PET Code,” a 128-byte Commodore 64 program that is a demake of Jörg Piringer’s “Unicode.”

PRG file, demo version (runs once & ends). PRG file, looping version. Source.

Thanks to Metoikos, Dr. Claw, Luis, and other organizers and volunteers for putting this year’s party on – and to Boston Cyberarts and the sponsors of the event.

Shebang Bash at Babycastles, July 2

Thursday 11 June 2015, 3:04 pm   ///////  

Shebang Bash is a two-part event at Babycastles (137 West 14th Street, Floor 2, New York City) on Thursday, July 2.

It'll be sort of like this reading in Saint Petersburg, but with projectors.

It’ll be sort of like this reading in Saint Petersburg, but with projectors and a workshop beforehand.

The workshop (beginning at 6pm) provides an opportunity for anyone to begin developing computational poetry by modifying existing programs. Those without programming experience are particularly encouraged to attend. Workshop participants will develop, share, and discuss their work. Participants must register in advance and bring their own notebook computer running Linux, Mac OS, or Windows. (A tablet or phone will not suffice; computers are not available at the gallery.) Those who wish to can show and/or read from their work during the second part of Shebang Bash, although presenting during the reading isn’t a requirement.

The reading (beginning at 8pm) will feature work from Nick Montfort’s #! (Counterpath, 2014), modified versions of Montfort’s “Taroko Gorge,” and poems developed just previously at the workshop. Montfort will read from several pieces in #!, will screen concrete poems from the book, will discuss the project of this book and his computational poetry practice, and will answer questions.

#! (pronounced “shebang”) is a book of programs and poems, consisting of short programs in Python, Perl, and Ruby followed by examples of their output. While the book is published by a small press that specializes in poetry, part of its heritage can be traced to BASIC programming books and magazines from the 1970s and 1980s. Copies will be available for sale at Shebang Bash.

Tickets to the reading will also be available at the door on the day of the event. For workshop tickets or to get reading tickets in advance, see the Eventbrite page.

Next Page »
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2016 Post Position | Barecity theme