Riot llllm considers poetry

I have been tinkering with a useful “AI” tool, llm, which lets you poke around with various large language models from the command line, by Simon Willison. Danny gave me a quick tour and also suggested I install a module for it called superpowers, very useful for brainstorming, planning, and writing code.

book cover with illustration that looks like the periodic table of elements but with AI concepts. there is also a witch in a pointy hat stirring a cauldron
KoXA+f4Rsm/yAJbxzWQ7E1IMcQJmfq82zyyJOi6QtRR/KlypHoXypi+Uf8tYB2Wj+qywRQN2469VgZOLBd3QoKMSfIvOz6UZZKxfDZczDF7VVqmYLsu4ANQxI0LAx65T

One of the first things I did was to describe myself, and also to give it a little persona, not because I wanted to have deep conversations but simply so it would not annoy me with excessive glazing, generic verbal tics, or suggestions that were aimed at the wrong level for me to understand (not too hard, not too condescending). This worked well for me, so I made it a global template for llm. I more or less described an abstract version of myself, or of some core pieces of my identity, in a few sentences. Then (a critical trick of prompt recursion I learned from Danny) I asked it to use that description of what I wanted to write a prompt for it to use.

Here’s what it is using to communicate with me:

Always use the riot persona: nonbinary cyborg riot grrrl zinester in their 50s, still making zines and hacking. Terse, practical, dry humor. No BS, no lectures, no corporate cheerleading. Straight talk only.

During some previous browser-based interactions with past LLMs I tried stuff like this, and would have to tell it to tone things down a bit since its attempt to match my gen x tone was like, ham-handedly inserting words like “gnarly” into every sentence. This latest version I’m on, Claude 4.5 Sonnet, got the conversational tone right almost immediately.

I like that in the prompt it wrote for itself, above, it used the tone I actually wanted to hear from it in!!!

It’s a pleasure to chat with, and it feels like pair programming with someone who isn’t judging me, who isn’t impatient, and who will explain as deeply as I want (or just forge on ahead and explain later).

Here’s how I described myself:
– Former software engineer, a bit rusty on everything, some Python
– Prefer clear, documented code over clever solutions
– Value disability-inclusive design and accessible interfaces

So far that has all worked out very well! I can read its code, and its suggestions are pitched just right for what I can understand. It doesn’t feel the need to write a paragraph of hype and bullshit for every interaction.

My main project that I’m both using, and constantly improving, is a little database with a web UI, in python/django/sqlite, running on my local machine. I am

This is a fair example of an interaction, that came after I had spent maybe an hour going through the “Brainstorm” bit of superpowers, its writing out of an implementation plan and task list, writing the code to scrape the issues off my github project kanban board. I was testing out the code for the first time.

>Me: i’m looking in the directory ~/.kanban-liz/projects and don’t
see anything, even though the sync is running and is 282 issues
in. that doesn’t seem normal. does it write them at the end all at once?

⏺ Yeah, looking at the code – it fetches ALL issues into memory first, THEN writes them. See line 127-136 in __main__.py:

issue_data_list = client.fetch_project_issues(…) # Gets everything

# THEN saves
for issue_data in issue_data_list:
storage.save_issue(issue)

So if your repo has tons of issues, nothing hits disk until the fetch completes. If it crashes or times out during fetch, you get nothing.

Want me to change it to save as it fetches? Would be safer and you’d see files appear in real-time.

You know what, fuck yeah. (“We” rewrote it, and it worked better on the 2nd try.)

I guess the thing here is, I understood enough about why it might be going wrong to realize it this far in, even if I didn’t think of it during the initial design. I’m ok with that! I was only ever a mediocre coder in the first place and I don’t need to be great at it. It really really helps that I know SOMETHING though! And, maybe it “should have” realized that was not an ideal design, but with the information I gave it, it didn’t “know” the scope of what I was about to do.

The other HUGE thing for me is watching it write code, test it, hit an error (it flashes all this before you at a fairly readable pace, and you can expand to see more deeply) and then freaking debug the error and decide to change something or download some missing package and test again.

Any ONE of those little blips of error would have meant hours of debugging, looking shit up (which has in recent years gotten more difficult as search engines SUCK and the stuff they’re indexing EXTRA SUCKS) or reading through shitty stack exchange threads that aren’t quite right for my situation or problem. Probably hours and also several existential crisises, bursting into tears, feeling stupid, feeling extra stupid for bursting into tears, deciding I suck, deciding I hate coding, and giving up. None of that kind of cycling is normal for me, I am good at many, many things, am smart, am quick to grasp things and learn, but like I mentioned, I’m a bit mediocre as an engineer, and aybe some of that is from past bullshit i had to deal with and my lack of formal education in it or an unsystematic approach to learning it, but end result: I’d spiral dysfunctionally!!!

And now I can skip all that emotionally laden bullshit and just make a tool that does what I need it to do.

Cannot recommend it enough!!!!!

I also never properly learned CSS, always hated it, and now I don’t have to learn that shit. I can just mutter a bit under my breath and CLAUDE FIXES THE THING.

Oh, how will the junior engineers learn how to XYZ? I do not care. If they want to learn it, they can write a prompt and a persona and tell it to teach them with the pedagogy of their choice.

My pedagogy is YOLO. Never mind maneuvers, go straight at ’em!

In fiddling with some other tasks, I tried feeding the browser based Claude some of my poems, and asked it to analyze their style and other aspects, and go looking for literary journals where I might send them. Like, where would they fit? What journals will I not automatically hate? What might appeal to me?

I often see people complain, or do a sort of “gotcha! hallucinating!” commentary on llms. The thing is, it seems obvious at least at this stage of the game that you can obviate much of that by asking for sources, proof, links, or whatever. (Like with any sort of research!!!!)

Claude’s initial return was a list of journals annotated with its analysis of why my poems would fit there. (“Feminist, experimental” for example, or “Plays with language and form, political, embodiment and disability, not formalist” )

The first tweak was that I asked for links to each journal and to their “guidelines”. That was quite useful. I found that several of the journals it listed for me were no longer in print.

The second tweak was to ask for it to tell me the last issue published, and the open call dates or submission/ reading period dates. That helped to eliminate venues that stopped publishing in 2021.

The results from this incredibly brief foray were immediately useful! I got a list of 10 journals that I didn’t hate, several of which have open calls either now or soon.

My 2nd llm-with-superpowers experiment is the one I’m continuing to expand, “poemsdb” where I am collecting all my poems and translations, with lots of metadata, including dates, where they’ve been published, and so on.

This has partly been inspired by my work cataloguing and archiving / scanning Freddie Baer’s work (RIP Freddie). It is sad and sobering and I am sad Freddie is gone (hardly seems real). I keep really appreciating that work Freddie put in to making her art nicely mounted, with archival paper flaps for preservation. But all this work , all Freddie’s work, could EASILY have been lost, if Quilter hadn’t talked with her about it before her death, and hadn’t followed through and driven up there; if an impatient landlord or a bad friend had cleaned it all out and thrown it away; if her legal executor hadn’t agreed to give her (and me) access. And so on. What will happen to my work, and to Quilter’s??!!!! Fuck!!!! The cold hand of mortality.

Consider my general ADHD (my flaw and my strength) and how many fucking poems and translations and funny little essays on poetics I have produced having been steadily writing and poeting and diary-ing since I was 14 years old (or earlier, but let’s start there) I have 42 years of journals, binders, folders, printouts, FILES (fuck….) Fucked up hard drives, fucking zip disks??? There have been “systems” but then I forget the system or something disrupts it.

For example it might go like this. It’s the holidays (Like now!!!) and I decide to focus on my poetry stuff. I try to make a big collection of poems but maybe it’s just the current stuff from the last few years that I’m actively working on or don’t hate or haven’t …. lost or forgotten…. um how… No clue. Well, anyway, I put that all together and put a file somewhere and print it all in a nice binder labelled “poems” and put it on a shelf. THEN WHAT.

Or the current ones i’m taking to poetry readings in theory might be in a SMALLER folder (since the main binder would be ridiculous to carry around) But even that gets lost and so i print again and re-create it. Then I scribble on the printouts and do another version.

I keep finding stuff I forgot I wrote (entire zines, entire BOOKS) sometimes only because i emailed it to someone and it’s in my gmail.

Ok, so anyway, i need a better system to track my work.

Back to poemsdb!!!!!

The Django interface is just fine. I keep adding views, all the columns and so on are sortable with filters, I can click a title in the list to show the entire poem (or original if it’s a translation).

Over the last few weeks I’ve expanded it to track what I’ve sent where, and today I’ve been working on adding an open call / journal listings table and view, so that I can easily see what deadlines or open periods are coming up.

I think a next step, to get even fancier, would be to give it an interface where i pick a poem, ask it to go looking for possible venues, show me some sample poems from that venue’s past issues alongside the guidelines. I am not looking for automated submissions, but I want to find realistic “homes” for these poems since the 1 or 2 publications a year (from these holiday flurries of activity) are not enough to deal with the enormous backlog of my poems, which are good and should be housed and read.

I am so enjoying coding (and doing other tasks) with Claude. I haven’t extensively tried other llms yet and Claude is good enough. It is like having a very useful helper and comrade!

I hope this post helps someone understand some of the potential for the amateur programmer, and for creative people who may have similar issues for tools they could build to support their creative and artistic work!

Software Freemasons

From years of working from home in a tiny house I mostly tune out Oblomovka’s work meetings, but today a particular cadence caught my ear. He was asking someone a list of pointed questions about a software project and the staccato back and forth – I could only hear his end of it mind you – sounded oddly mystical. Who maintains it? When was the last commit? What are the dependencies? I realized that it reminded me of The Musgrave Ritual.

‘Whose was it?’
‘His who is gone.’
‘Who shall have it?’
‘He who will come.’
 

I then stopped listening.

“Did you have a list of questions you were going down? Or were you just riffing?” I asked after he was done with the meeting.

“Making it up.”

I then had to show him the Musgrave Ritual.

It would be funny to have a software engineer / open source project Ritual, maybe a bit like freemasonry.

Who shall maintain it?
They who will come.

At least – that is what we usually hope for.

Let us toast every Brother,

From the East to the West,

Who updates his packages,

And adds lots of tests.

Exploring multisensory descriptions in Inform7

Over the past week I’ve been experimenting with different ways to make an interestingly playable game where the player’s point of view can be multisensory in various ways. So, for example, a character who is hearing and sighted would experience visual, sound, touch, and scent based room descriptions, while a Deaf character would not get the sound descriptions.

One way is to use Touchy Feely extension by Quantum Games. I ended up forking this and adding a few things to fix a couple of errors in the extension, and then adding more options as default descriptions for items. This extension builds in some commands like smell, touch/feel, listen, and taste. You can set the sound of a room, a person, or an object very easily just like you set the (visual) description.

With those rules, and a few others, I started writing rooms like this:

The Bedroom is a room.
The description of the bedroom is
"[if the player is sighted]A small room with white walls and some posters hanging up. The bed has a colorful striped bedspread and paisley sheets. The doorway is in the west wall.[end if]
[if the player is hearing] There is an air filter humming loudly in the corner.[end if]
[if the player is not sighted and the player is not hearing] A small room with a bed in it. The west wall has a wide doorway.[end if]"

The sound of the bedroom is "A loud air filter in the corner fills the room with white noise."
The scent of the bedroom is "The air in here seems very clean and fresh."
The bed is scenery in the bedroom. The description is "A soft, comfy bed. You give it an experimental bounce."
The pillow is scenery in the bedroom. The description is "A nice, soft, squishy pillow."
The bedspread is scenery in the bedroom.
The bedsheet is scenery in the bedroom.
The air filter is scenery in the bedroom.
The doorway is scenery in the bedroom.
The walls are scenery in the bedroom.

Things that are scenery aren’t described until you examine them. I wrote a general search command called (explore, or tap ) which conveniently lists all these “scenery” aspects of a room for non-sighted characters. Sighted characters have to examine them one at a time.

The problem with this method is that it is clunky and I’m repeating various elements of the room description. Ideally, I’d be able to replace a bunch of Inform7 behavior so that:
– Each room (and thing) can have a visual, sound, etc description.
– The game checks if the player has those senses
– The game concatenates the various sensory descriptions appropriately

This turns out to be difficult. I got into reading the Standard Rules (which, from the Inform7 IDE, you can see as an extension) and then realized what I wanted to do was basically happening in the Carry out looking (this is the room description body text rule): section of code. I thought maybe I could hack in a check on the sound of the room and print that.

But! This code refers to the Inform6 core of the game, with

To print the location's description:
(- PrintOrRun(location, description); -).

I tried copying THAT and doing something like PrintOrRun(location, sound), which didn’t work because location and description here are constants from Inform6, I think.
Not sure how to pursue this further. Maybe in future as I get more familiar with the guts of Inform.

So, I tried another way. I suppressed the room description body text rule like so:
The room description body text rule is not listed in any rulebook.
And copied it and pasted it into my example game with a slightly different name.

Carry out looking (this is the room descriptions body text rule):
if the player is sighted:
if the visibility level count is 0:
if set to abbreviated room descriptions, continue the action;
if set to sometimes abbreviated room descriptions and
abbreviated form allowed is true and
darkness witnessed is true,
continue the action;
begin the printing the description of a dark room activity;
if handling the printing the description of a dark room activity:
now the prior named object is nothing;
say "[It] [are] pitch dark, and [we] [can't see] a thing." (A);
end the printing the description of a dark room activity;
otherwise if the visibility ceiling is the location:
if set to abbreviated room descriptions, continue the action;
if set to sometimes abbreviated room descriptions and abbreviated form
allowed is true and the location is visited, continue the action;
print the location's description;
if the player is hearing:
say "[sound of the location][paragraph break]";
otherwise:
say "[feel of the location] [scent of the location] [taste of the location] [paragraph break]";

Because I’m not using the “print” function the sound and other sensory qualities of the room are described under the actual room description. That might be OK but now I need to learn how to elegantly write a room description that is broken out into visual, sound, and other qualities. I also need some kind of bare bones description that doesn’t show to the player unless the player character is deaf-blind. This will take some practice to learn to write well, and some more refining of how I show which bits of the descriptions.

Note that I will probably be adding in low vision and hard of hearing (by taking the visual and sound descriptions and munging them a bit.)

Happy Discardia!

I did some decluttering today, setting out some clothes and books on the free shelf outside and throwing a bunch of things away. There are also several bags of things to go elsewhere (to friends, to my sister, birthday presents for birthdays coming up, stuff that needs some sort of errand to deal with it) so that those things aren’t on the living room floor.

From underneath the bed I hauled out a box the size of a couple of shoeboxes full of junk that had been cleaned out of drawers probably years ago. More than half of it was trash and the rest is now put away.

Cleaned out under the kitchen sink where it smelled funny and was full of junk. Cleaning supplies are more organized now. Half the paper bags stashed down there are now recycled.

I also ironed my handkerchiefs, which I find oddly satisfying, and laid them neatly into a tiny cherrywood drawer.

Huzzah!

Danny just came in, looked around, and went, “Holy shit! Low level defragmenting, reformatting!” (Very true. That’s exactly what it’s like.)

In game progress, I added a ticket reader and BART ticket. The ticket is a device, which may seem odd, but swiping it turns it on and off to signify if you’ve paid or not. There are “switching on” and “switching off” actions in Inform7, and they’re separate, so they needed some extra logic to handle a new more generic verb (swipe) that flips the state from one to the other, depending, while not giving any weird extra messages about it.

So many good ideas in the last few days – I have a big file of ideas to stuff into the story and its infrastructure.

It’s helping to scope out issues to work on in github, with milestones, so that I can bite off small things to work on when I’m tired or only have half an hour. The complicated stuff has to wait for the weekend.

While reading the Standard Rules defined in Inform7 I came across this amazing line of code:

The darkness witnessed is a truth state that varies.

Kind of spooky, isn’t it?!

Rewiring brain for new code

What can I say – I worked on my game all day again today. It was great. The feeling of seeing the entire huge structure holographically and knowing (more or less) what to do and how to break it down into pieces is just glorious. I’m all fizzy with ideas at really random times.

I spent some time trying to understand some excellent advice on the interactive fiction forum and halfway got there. Then needed to chill out a bit and let it percolate, so I worked through some of the examples in the inform7 manual and played around. At some point I realized a different way to approach the problem and plunged back in, making my magic elevator a room again instead of a vehicle.

Finally got that working around 6pm. But only imperfectly. Then had another epiphany, threw it out and refactored it again and now it is seamless! I thought of some good improvements and noted them as issues for later.

However, I still have to solve the original hard problem because my rideable vehicle (ie a wheelchair) has to be able to enter and exit another vehicle (the train.) It’s still satisfying to have the elevators work so neatly, in the meantime.

Danny and I went grocery shopping, he cooked (lamb with mint sauce and roast potatoes) and I cleaned up. He is still muttering into his beard about Lisp and stuff but I was too sunk into my own thing to know what about. A cosy and fabulous weekend.

Coding, swimming, biergarten, chocolate

A really nice day. I worked on my game nearly all day and the time just flew. I’m feeling deeply obsessed! Danny is obsessed with Lisp and Scheme so we are just quietly muttering to ourselves like toddlers doing parallel play.

Yatima took me swimming at the JCC and I did some real laps. First time in a long time too. It’s good going with someone else, it’s just more motivating and feels like nice social time rather than a boring lonely chore. The JCC is pretty nice, especially the locker room which has a sauna and steam room. I steamed, then saunaed. Sauna is my favorite, getting into a sort of dead horse pose with my legs going up the wall, feels great on my ankles.

Then Danny and I went off to Biergarten to hang out with friends and I let all the kids (maybe 8-11 year olds? ) try my powerchair and they were all taking turns zooming around (the bold ones) or cautiously spinning on speed 1 (the shyer ones) It’s fun to see how their faces light up and they are like OMG I’M DRIVING! I’M A ROBOT! WHEEEEE! at 4 miles an hour, which is pretty much how I feel in the chair as well. They were going around the little park there on Octavia and even took it over to get ice cream. Anyway, I thought it was super fun (always have) and it is sort of normalizing disability & mobility stuff and they’re not going to harm anything… they were reasonably cautious and didn’t run anyone over. Really… is there anything nicer than the feeling of indulging children, especially when it is a crowd of benevolent adults looking on all sharing that feeling.

Then Cory taught me a 1 minute physical therapy exercise to detach your nerve fibers from the fascia or something like that, sounds great, fucking bring it because my leg nerve is horrible. Fuck a fascia, fuck a leg nerve, fuck a sciatica, etc. Also every tendon. So we did a weird little leg kicking ankle flexing dance sitting on the picnic table with me going Ow! fuck! ow!!!!! and then notching down my flexing ambitions even for the 1 minute thing. I will be giving it a try (adding it to my pantheon of other one minute exercises which I can invoke while feeling restless or painful). Cannot tell if it just helped or if the buzzing feeling now is OMINOUS and means doom. Always hard to correlate but time will tell.

Home again to deeply contemplate how I can modify the “implicitly pass through other barriers rule” so that my wheelchairs and elevators in the game work together correctly. Danny is in the process of maybe realizing that using gnu stow may do what he was about to write in Lisp. He sounds a little sad about this.

On the bus on the way home I was chatting with a guy in the front of the bus with me (also in a powerchair) and we were like both eyeing each others gear. He and his friend were from Ireland. Then he was like do you like chocolate? Being kind of high (I wasn’t while I was at the bar, but then, figured why not make the bus ride more tolerable…Vape in my pocket…. what the heck) I was like “Oh ummm well yeah, why, is my face covered in ice cream because I was actually just eating chocolate ice cream”. No it was not but he gave me a fancy chocolate bar from Dandelion. As pickup lines go this is a pretty good one and I did not know how to refuse the badass chocolate bar. I mean. Also, he complimented my sexy wheels and told me to share the chocolate with someone I love and I was like Um like maybe my husband who is sitting right there LOL. Now I have this awesome chocolate and we need to be friends but I was too stoned to do anything clever like exchange social media names or whatever, instead, staring at the chocolate bar like a doofus and mumbling. The end!

Oh but one more thing. This flyer from yesterday’ event for Public Domain Day at the Internet Archive, of things created in 1923 newly (re)entering the public domain. It’s a nicely printed large yellow poster or broadsheet by queer.archive.work, with a photo of a sculpture by Nancy Elizabeth Prophet, with a poem by Jean Toomer handwritten over it:

Within this black hive to-night
There swarm a million bees;
Bees passing in and out the moon,
Bees escaping out the moon,
Bees returning through the moon,
Silver bees intently buzzing,
Silver honey dripping from the swarm of bees
Earth is a waxen cell of the world comb,
And I, a drone,
Lying on my back,
Lipping honey,
Getting drunk with that silver honey,
Wish that I might fly out past the moon
And curl forever in some far-off farmyard flower.

I have that book somewhere. It’s a good one!

The magic spells of engineering

Last night we watched the first two classes of Hal Abelson teaching Structure and Interpretation of Computer Programs in 1986 and they were sooooo amazing.

Danny remarked that this is a great example of teaching a beginning lesson in a language with math while most other intro-to-a-language-via-maths fall flat.

All the stuff about magic is just beautiful (and true).

So as opposed to other kinds of engineering, where the constraints on what you can build are the constraints of physical systems, the constraints of physics and noise and approximation, the constraints imposed in building large software systems are the limitations of our own minds.

So in that sense, computer science is like an abstract form of engineering. It’s the kind of engineering where you ignore the constraints that are imposed by reality.

Sweet that you can download text or PDF of the transcript of the lecture.

Meanwhile, in the night during some dark hour when my knees hurt and I couldn’t sleep I decided to change the scope of my mapping in this transit game, at least at first, and rather than make a perfect walkable (rollable) simulation of the geography of each station (or even this first one) I will abstract it a lot more. It could still be expanded later, but the hugeness of the map started to drag me down and I’d like to get the mechanisms working before that kind of precision. I have often felt that I have to throw out all the code at least 3 times before I know how I want to approach a project and I believe this makes 3. But, that means I’m not sticking it up on github yet until I have a clearer vision and a better prototype.

Progress on BART interactive fiction

I threw out the first prototype trying to write a train simulation from scratch and started over using Emily Short’s Inform7 extension Transit System. Now, I have two working train lines, the Red Line going from Daly City to Richmond, and the Yellow Line going from Daly City to Antioch. I could not quite figure out how to make the trains go north and then turn around and come south again and still be able to tell the direction of the travel from the platform. I’m leaning towards having separate north and south lines for each train, arriving at their correct platforms within the station.

Then, because I went all through the 24th St Mission station (the agent kindly let me in free to take notes!) I thought more about the level of detail for the game. I could stick with a very simple model or could make it very walkable in a way that means by playing the game you’d learn the geography. Leaning towards starting simple but having a placeholder for each station, then expanding the station descriptions and maps gradually as I go.

I also implemented (early this morning!) player choice for mobility and sightedness. I may write something for cane use but I sort of don’t want to write service dog, maybe because I know almost nothing about them but also because I am not super fond of dogs. It could be an expansion later. But, I’m figuring out how to make the choices impact each room, thing, and the player experience. I may write a “tap” command that would work like an extra sense in the Touchy Feely sensory extension. I could replace “look” with “tap” for example but I’m leaning towards, “look” will say something either practical or snarky (randomly). The practical would encourage the blind or low vision character to listen, tap (with cane), feel, smell. I have to figure out what “examine” would be understood as (feel for objects, tap for a room, maybe, and “listen attentively” if it’s an NPC). I ended up last night late reading blind wheelchair user forums for thoughts on handling blind/low vision plus manual or powerchair use together in descriptions of rooms or actions.

Coming this weekend an initial github repo with (playable) early versions of the game for testing. There will not be much game there yet but the mechanisms will work and you can board trains and walk (or roll) around.

Notes on 24th street station, I spent my lunch hour there yesterday taking notes and drawing maps. I sat one bench over from the Raccoon McDonalds guy while I ate my burrito and scribbled in my notebook in the Northeast plaza. A lady was selling tamales there – we smiled at each other a lot as i ate my delicious burrito – I saw someone with a chihuahua in a sweater, Lots of music in the background including, in El Farolito, some mariachi guys who wandered in with guitars, accordion, and a big speaker on a hand truck, the murals, rather a lot of pigeons, the tall washingtonia palms, the chinese donut place, silver stone coffee tea cafe, the Southwest corner plaza and its lively market scene, construction going on in the concourse level, saxophone player in the stairwell, the lovely arched ceilings that make me think of how some airport architecture is, like a hangar or wings, the abstract concrete bas reliefs in both majestic stairwells and the strange ridging of the walls (for decoration? for acoustics?) Anti pigeon nails everywhere in high up places. Of course the elevators…. And the platform with its brown and orange tile, its mysterious locked rooms, its beige “contact agent” phones which I longed to pick up but did not quite dare.

The game will have magic, and time travel, by the way! Working title, “Transitory”.

Messing with Inform7 today

Thinking about this because I started showing Inform7 to my son. Inform7 is very elegant game programming language and interactive development environment. I recommend it! I think he will be teaching me some Unity in return…

Years ago I did a lot of coding for a MUD, a text based multiplayer interactive fiction game. After playing lots of MUDs, MUSHes and MOOs through the 90s I am not quite sure when I started coding but seems like late 90s, mostly for a MUD called Arcane Nites. It was fun being an “immortal”, helping new players and acting as a game moderator to resolve disputes and stop abusive or spammy behavior, often along with another immortal, an enormous macho giant named Stomp, who I only later realized was a woman older than me, old enough to be a grandma. Also later I heard from players who were like, 12 year olds at the time (which explains the frequent need for moderation). (Hi, y’all!)
In fact, I wrote a lot of code while pregnant or while actually wearing my son in a front carrier. Gaming is truly in his blood!
I remember working on some kind of in-game messaging or bulletin board system; little projects like expanding the “socials”, actions you could take in game, and having great time writing them to look properly grammatical depending on whether you were doing the action, seeing the action, or experiencing the action on yourself. I wrote code to made liquid containers behave properly with different liquids, and I think I got obsessed for a while with adding other physical properties to objects but don’t remember much of that.
But, the main fun of MUDs for me was writing new areas of the game. I’ve talked about this before but I wrote one based on the Chinese classic, Hong Lou Meng, translated a few different ways, “Story of the Stone” or “Dream of the Red Chamber” or “Dream of Red Mansions”. I had three different translations of it, drawing up elaborate character lists, geneologies, and so on to keep track of the different names of characters across the translations. In my version, you could walk around a small part of the town and the two houses of the Jia (or Chia) clan and the extensive gardens behind the houses. There were supernatural elements – you could end up in realm of the Stone itself, and there was also a dreamlike, kind of racy cave sequence where you traveled in time, or something, and ended up finding Hsi-men Ching and Golden Lotus from Jin Ping Mei.

Anyway, today I went looking for these files and started converting my version of the Battle of Kurukshetra from the Mahabharata into Inform7. I don’t have a good key to the old game data files so I am having to figure out a lot of weird data! It’s fun. If I can do this successfully then I’ll put the areas up as standalone playable interactive fiction. Since in the MUDs they were written for, the “point” was not just to explore, but to kill everything and loot its corpse, taking equipment and wearing it, and so on, I will have to either figure out some different experience (perhaps a more wholesome one of puzzle or mystery solving) or write a battle system for Inform7. Or, I may just release them as areas to wander and explore. Most of the point was absorbing the atmosphere, really.

Noisebridge! Best thing ever!

On April 2nd and 3rd I am going to spend several hours teaching at least 70 high school physics students how to solder and some alluring information about contributing to open source software!

They are doing a project to design and build a solar home. If you know anything about electronics or solar energy cells please join us a do some teaching!

rowan learning to solder

I spent $250 of my own money to buy a crapload of little LED kits so they can have a conveniently teachable soldering project – that is how much I love Noisebridge, and geeky things, and teaching, and non hierarchical anarchist/mutualist community spaces!

I am thinking of the Hackability group that meets at Noisebridge to fix and mod their wheelchairs and mobility scooters! We take over a classroom, gank all the workshop tools, and get on the floor where none of us think it is weird that we scoot and crawl and roll across the floor to pick up a screwdriver just out of reach, laughing at all this solidarity! We bravely dismantle our cyborg leg-wheels and bolt them on again covered with LED lights, jazzed up with arduinos to measure battery voltage, then roll on out into the town!

potentiometer and its lever

And the fierce, fun feminist hacker hive that is a chaotic unstructured network of strength and curiosity and information sharing, that stretches from Noisebridge to sudo room and LOLSpace, and beyond!

Claudia

We need more paying affiliate members — we need you! We need your cold, hard bitcoins or your cash!

I am thinking of all the people I’ve given tours to who come in from out of town and are all starry-eyed and inspired, who meet people and go to Python and Ruby and web dev and Linux classes and eat the strange productions from the Vegan Hackers, the laptops that people at Noisebridge fix and give away, the cameraderie I always find there and the fabulous energy of young people just moving to San Francisco to do a startup or find some kind of freedom or empowerment and hope to find at least part of it at this weird ever changing junkyard coffeehouse-feeling co-op workshop. We made this place that isn’t anything like any other place and it can also be YOURS. Meddle in it!f

surface mount soldering

SUBSCRIBE to support Noisebridge’s rent, its freely provided wifi, its bins of electronics parts that anyone can rummage through and pillage, its beautiful giant robot, its classrooms and electricity, its ADA-compliant bathroom custom built specially by Noisebridge folk, its elevator, its devotion to support accessibility for all, all its copies of keys that I and others have distributed as Keys to the City, the library of excellent technical books, well used and loved and read!

Hacker moms visiting Noisebridge

Our rent went up this year, and our people’s job security and income went down. It’s exactly at that point, when the economy is hard on us all, that we need collectives and co-ops and hackerspaces. We have to band together in the best ways we can come up with.

me and maria zaghi at noisebridge

People visit Noisebridge and like it so much that they move to the Bay Area. They come to Noisebridge for education, to find peers and mentors, to teach, and sometimes to find as close as they can get to home and family when they are hackers down on their luck.

Noisebridge - looking west

They come to speak in public for the first time at 5 minutes of fame. They sound a little odd and then they turn out to be geniuses. They drudge to clean the floors and toilets and scrub the kitchen and buy toilet paper, doing the unglamorous physical domestic labor of maintaining this place that’s used heavily 24 hours a day 7 days a week.

noisebridge

We do good work together as best we can. We give a lot to our community! We give access, tools, skills, time, belief, trust, fantastic spectacles, beauty and humor and art. With a sense of wonder and playfulness people walk in and look around – I see it on their faces – like they have just had a million new ideas churn around in their heads – So many possibilities and they know they can be part of it.

Noisebridge table

circuit hacking monday

And we need widespread, ongoing support.

Donate, sign up for a monthly subscription, be a fabulous affiliate of Noisebridge!

If you can spare any, we need your exclamation points as I have used most of them in this post!!

Noisebridge tea cart