A warm woolly bed

Dashboard the Cat likes her new warm, woolly, felted bed that looks like a rock. She hasn’t much taken to cat beds in the past but she seems to like this one! It’s so cute!

Cat in a felted bed

I’m tired from a very long work day, so that’s all! I didn’t even leave the house today, omg. At beta 7 of…. 13 I think, plus another release candidate or two in the last week. The pace is starting to feel hectic.

Road trip songs

On the drive back Danny played me some of a new Pet Shop Boys album in which they sing about social media (rhymed with Wikipedia, and greedier). They were so bad that we started making up new lyrics like “Get off my lawn” and “I used to be in a disco, now I’m on the city council”, “It’s so irritating when people don’t use their turn signals on these horseless carriages” and “Just let me sing another didactic bad internet song”.

“I was hoping for something more dreamy and poetic,” I complained.

Danny explained that Britain is too upset for that right now. Makes sense I guess.

We then played “It’s a Sin” to get back into the proper Pet Shop Boys loving frame of mind.

Highlights of this lovely day!

Up betimes!

We set off in my (washed) trusty FMINISTmobile, in the unexpected sunshine, packing everything into the trunk carefully, stopped to gawk at the ocean, I enjoyed driving a lot, can’t remember everything we talked about but it was fun whatever it was, stopped at Bean Hollow beach and hunted pebbles (I hid in a cave) thinking it was using all my extra walking juice for SOME TIME. The drive was so beautiful! Everything very green from rain, lowering clouds off in the distance but sunny for us, sparkling ocean, enticing roadcuts, no traffic, just the open road. 2 hours later we got to Milo’s college and began to unpack the car. But wait….. my powerchair battery….. was definitely not in the car. Must have been still in the garage where we disassembled the chair! My heart sank but I quickly recalibrated my plans and expectations. Everyone just rolled with the changes of plan.

I could drive around to an illegal parking spot like a loading zone by Milo’s dorm, walk in and hang out in his room. My mom took the car back to a legal spot. We stayed there a while and then I stayed in bed there while everyone else went off for a tour of Stevenson College. No zooming around for me but the rest was nice.

We drove to lunch in town instead of going to Milo’s dining hall (since I could not get there without my wheelchair.) Saturn Cafe was awesome (brunch!) and just as nifty as I remembered from 1991 or so. Then drove Milo and Ada back up to campus and dropped them off, talking a mile a minute – they were going to Milo’s D&D game which Ada was going to join as Sloan the Black Thief (with his Hibernian Wind Flute).

We had a look at the Arboretum though I could not go far from the car. Basically I sat on a bench in the succulent area for a bit & then we drove through the parking lot slowly & had a look around. Then to the bed & breakfast place which was mercifully accessible and easy to get around in (1st floor, like 2 steps from car, small, lovely beds.) We crashed out a bit. Mom & I then had a small adventure driving out on the wharf to the end, got out to have a look at the ocean, and realized there were a zillion giant sea lions under us, orking loudly. So much fun! Dorky sea lions! Blorping around on a little pier ! What luck! We were grinning like fools as we photographed the sea lions & then got in the car to warm up. Slowly driving out… rain started up again…. then a GIANT RAINBOW was suddenly going all the way across the sky from the Boardwalk into the ocean. At the boardwalk it was a double rainbow for a while. More wild and enthusiastic photos! & back to our B&B which was just a few blocks away for another rest before dinner.

The kids cabbed to meet us. Some not so great luck, the restaurant I picked form the internet had an enormous freaking flight of stairs. OK I’m just going to do it because I’m hungry and I can’t walk anywhere else without going there in a cab! Fuuuuck! There was an elevator but to get to it i woudl have had to walk all the way around the block to the back, which I could not do. (cab???? lol …. omg…. ) So I grimly hobble up sideways. The guy at the top tells us that they had a party of 12 and then a party of 20 and were understaffed and it might be an hour before anything would come from the kitchen. I did not care at this point just give me a drink!!!! Hot whiskey arrived. They came back suddenly and said that it was all okay again and the kitchen was Producing and we could order food! Huzzah! Our luck (?) held.

The kids then showed up & regaled us with the story of their game. Dragon island, ruled by a tyrant, they’re hired as mercenaries to help rid the island of dragon problem. The players sounded hilarious and clever! Too much detail to repeat here though. Milo = Jack the Giantkiller, a gnome ranger. (Everyone was a giant to him.) A druid in a forest … a burning city… a redemption Paladin riding her elk up a cliff, etc.

At the ending battle Ada (aka Sloan the Black Thief) says I whip out my Hibernian Wind Flute (remember that?) to play a song to hearten the paladin (who is taunting the dragon) And Ada literally pulls a bright orange kazoo out of her jacket pocket & started playing The Final Countdown. The players all lose it at this brilliance. I think she also rolled a natural 20 (because of course.) Everyone except milo was surprised as hell.

At another point in the fight she decided to mock the dragon & played the sort of uh, whatever you call the clint eastwood theme from the good, the bad, and the ugly. Another point she healed the paladin by playing All Star. And when the DM looked up and said in shock that the dragon had 1 hp left (and it was charging at Milo) Ada played some sort of special dragon slayer theme from Skyrim which I wouldn’t recognized but the players did, and I think Milo also rolled a natural 20, then jumped inside the dragon’s mouth screaming I’m Jack the Giantkiller, how do you think I got my name! and killed the dragon by cutting his way out through his throat. The end! This sounds like an incredibly good game and it entertained us all the way through dinner. Milo is also in a weekly salsa and bachata class, and a hip hop class, and is taking discrete math, a 2nd calculus, and a data structures class. We will go hang out with him a little more in the morning — then back to the city. I hope my legs survive. it is more walking than I have done in a long time, I was surprised I could do it, and I will likely be feeling the extra pain for a bit but totally worth it. It has been working well to do slow ankle strengthening exercises (I had to give up trying to walk a block and back from the end of December, and do more strengthening, for example.) If I come out of this trip fairly OK then I will wait at least a week before trying anything walky again (like that 1 block plan) but maybe I’ll be ready? Unsure till it happens.

Busy day and a trip to Oakland

Lots of work today, got my car washed, then took BART over to the Oakland museum to hang out with my mom & sister & nephew for a couple of hours. It was great.

Bus ride to BART, I have to note that a guy yelled sarcastically when I got on “Great job driver make sure everyone gets a seat now” as he was asked to move back, I guess. He kept talking to himself loudly about it but I was only going like 10 blocks, and there were a lot of people between us so I didn’t pay attention. Then when i got off he yelled “GOOD RIDDANCE KICK IT OFF THE BUS. GET OUT OF HERE” and I looked back at him, furious. “I was just talking about MYSELF” he said, with all the quick wit of a badly lying 3 year old. The bus driver and I exchanged kind glances and we wished each other a good afternoon, wearily.

Oh… well….. At least the rest of my transit journeys were peaceful, quiet even, and pleasant. I got some stickers and a BART hat at Lake Merritt station! and… They still have some socks! The guy in line before me bought like, 5 pairs. Lake Merritt station should totally build a little gift shop with mugs and tshirts and junk. It would be so popular.

The tile in this station is a funky irregular hexagon pattern, dark red, and it has a very cool and beautiful glass elevator from the platform to the concourse.

On the train, I thought of some more good stuff for my game and took notes.

At the museum I loved pretty much everything. I need to spend several days there. I especially liked the giant trippy mural in the museum cafe, Ode to California by kozyndan. I took this pic of one of my favorite bits but I had so many favorite parts of it. This one has tiny naked people riding segways and a guy reading a book under a tree in the background while giant fish float around nearby and a kelp stipe and holdfast are wrapped around a rock.

Detail of mural with segways

Here’s an image of the full mural from a site that sells prints of it:

ode to california mural.

Still not really a real post

Because I am very tired. Worked all day, hung out with my mom which was awesome, then went to NERT training class #5 which was also fun as we did disaster simulation exercises where we filled out FORMS, which i fucking loved, then walked home via Rock Bar which has delicious strong cocktails, and had a drink and a half and talked about 1 million things, now quite tipsy, also grateful to my past self for making a huge pot of chicken congee 2 days ago and how nice warm rice porridge is, just like Noah’s amazing plan for an artisanal porridge restaurant called GRUEL where people would pay 16 bucks for a wooden trencher of oats, rice, groats, or whatever, then more leaping several levels of nested conversations deep with Danny and so to bed. Did you know that in class 5 of 6 of the NERT training they ask you to sign a loyalty oath!?!!!!! I think that’s strange and wrong. Some of us had to text Seth. Others of us are a particular sort of pragmatist. Dammit, we forgot the free glass which was so beautiful, for Fort Point IPA. Danny is the best person to have conversations with, ever.

Books inhaled lately

I’m still pecking away at the Morland Dynasty books by Cynthia Harrod-Eagles and still recommend them! If you like Regency romances, or anything Napoleonic War related, Master & Commander, or whatever, you might like this series a lot. It has solid historical research behind it, which I find very satisfying and also alluring (It leads me to fall into giant Wikipedia sinkholes.) I’m on #16, The Devil’s Horse, which is very exciting as railways (tramways really) are just starting to be a Thing. There are more scenes in Manchester & some mention of Castlereagh (and his wife Emily or Lady Castlereagh, who you may recall from your Regencies was a Lady Patroness of Almack’s who could get you vouchers) and Canning. Lady C: “Her own parties were considered dull, and her manner was somewhat eccentric: guests described her conversation as an endless flow of trivial information delivered in an oddly detached manner.” I like her already. I hope she had a lot to say about trains.
There are lots of scandalous and miserable events – affairs, deaths (maybe murders – I have THOUGHTS about Flaminia).

Also reading How Long ‘Til Black Future Month, which is great! More details when I finish it.

I also re-read Archivist Wasp and the sequel to it, and T. Kingfisher’s Swordheart. Not reading quite as much as usual lately because I’m thinking about Inform7 so much.

Actual work work

I should mention my actual work while I’m blogging about stuff. “My” Firefox release is now in beta, Firefox 66. We have a team of release managers so can rotate ownership of upcoming releases. Usually this means you’re in the hot seat every 3 releases, about every 4 months. We have a bigger team now so there is more breathing room and we can support each other more; basically that means we’re less burned out. Yay! (A couple of years ago there were like, 3 of us and one was the team manager.)

The feeling of ownership is somewhat silly since it is an enormous collaborative effort, but it helps in the job to follow one version closely, you care about it and are able to filter out & not pay so much attention to the other versions in development. (In practice, that is a lot of email I can skim and archive when it isn’t for “my” release.) The release engineers also rotate through version ownership. It’s a good system.

If you’d like to see all the bugs fixed for Firefox 66 so far, between its birth as Firefox Nightly last December and now, here’s a Bugzilla query which you shouldn’t click if you’re on your phone or a slow connection because it’s going to take a while to load – it will show a list of the 3000+ bugs already fixed. Probably don’t click that unless you really want to wait a minute and a half for the page to load.

While Firefox 66 is in beta, I’m watching for fixes in the version right behind it, Firefox 67, that we might be able to bring to users more quickly. We backport, or uplift, between 200 and 400 issues while a version is in beta. Here’s what I’ve approved to uplift so far, patches from about 40 bugs. It’s helpful when looking at these lists to sort the information different ways (by clicking on the column headers.) These next few weeks till March 19 (the release date) will be my crunch time.

Today I did about one million different things. Hilariously, as so much of our work is right out in the open, you can see some of those one million things (in 68 bugs), at least the bits of it that were me reading a lot of bug reports and figuring out what to do with them (poke someone from another team, engineers, QA, etc, add relevant tags or other info, and while I’m looking, decide how important it is for it to be in Firefox 66.)

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.)

Frivolous Friday night post

Some things that I own are extra satisfying beyond spark of joy into soul bonded dragon telepathy. Current favorite object, my tibetan wool poncho in shades of soft blue, purple, and brown, with a hood and wooden buttons and a front pouch pocket, long enough and wide enough to go halfway down my legs while I’m sitting down, over both arms of my wheelchair, and covering my backpack on the back of the chair. Pouch is ideal for phone and a handkerchief and even my notebook and pen (for my observations in and around BART stations.) It is like having a cozy tent in the rain, and, if not too rained on, excellent to wear in the chilly mornings on the couch while I drink my coffee. I got it for 35 bucks in the tibetan hippie stuff store in Berkeley.

Also bonded thoroughly with my Jafa boots (style 2159) with buckles, side zippers, blue jean blue with shiny black toes and heels, and special orthopedic inserts. Jafa and Naot shoes (particular soles) and crocs are the only things my feet and ankles can currently tolerate. And, these boots are so natty, so dapper, lots of joyous detail, no weirdly unnecessary femmy touches just like, fancied up with straps and buckles. Obtained from Citi Shoes on Irving in SF, where I swanned in fresh from powerchairing Golden Gate Park like a tiny hurricane, and experienced a funny moment. The people just leaving were somewhat taken aback by me, my hair, my chair, and my magnificent poncho (cannot blame them).

“I LOVE YOUR HAIR” one of them gasped. The shoe clerk zeroed in on what struck her most. “I love your NAOTS” she said, raising her eyebrows at my amazingly neat, detailed, grey and darker grey boots with businesslike, yet also punk, buckles. As if to imply she — unlike those yoiks — appreciated the finer things in life, and the finer points of my personality. “I’ll be RIGHT WITH YOU.” Sometimes I get followed around stores for bad reasons, like the grocery store security guard suspects I’m going to abscond with a whole mop and some Tide squirreled away in my undercarriage, but in this case I was sized up more correctly as a shoe connoisieur, in other words a good mark. I gazed about me with awe. This was a store to nearly rival Astrid’s Rabat on 24th. Someone understands my painful feet and my desire to have cute as fuck shoes, all at the same time! Oh joy!

The other shoe clerk, a callow youth, approached me. “Can I ummmm help you with ummmmm anything,” he said, rolling his eyes like a nervous horse, wondering if I was about to add some sweet sandals to my hoard of shoplifted under-poncho goods and probably also wondering why a crippled lady needs shoes anyway and if he was going to have to take my shoes off for me or something weird like that. “I’ve GOT THIS. I’m on it. Nope, nope,” said the first shoe clerk lady coming out of the back with a hiss and an eagle eye for her commission. The callow youth melted into the back, whimpering. What can I say. The amazing Jafa boots fit perfectly, she got me the most crazypants german orthopedic soles I’ve ever experienced which also cost the damn earth but, whatever it’s my feet; and also polished up and weatherproofed the boots before I got out of there.

Both the poncho and the boots gave me very good service today in the drizzly cold rain. Huzzah!