Running mochitests for Firefox

I’m experimenting with automated testing for Firefox and figured it may be useful to record what I learned. I had a look at the Mochitest page on MDN as well as the main page on Automated testing at Mozilla. It is hard to know how to even begin to explain this. Mochitests are a huge ball of tests for Firefox. They run every time a change is pushed to mozilla-central, which is the sort of tip of the current state of our code and is used every day to build the Nightly version of Firefox. They’re run automatically for changes on other code repositories too. And, you can run them locally on your own version of Firefox.

This is going to have ridiculous levels of detail and jargon. Warning!

The first thing to do is to download the current code from mozilla-central and build it on my laptop. Here are the Firefox build instructions!

As usual I need to do several other things before I can do those things. This means hours of twiddling around on the command line, installing things, trying different configurations, fixing directory permissions and so on. Here are a few of the sometimes non-trivial things I ended up doing:

* updated Xcode and command line tools
* ran brew doctor and brew update, fixed all errors with much help from Stack Overflow, ended up doing a hard reset of brew
* Also, if you need to install a specific version of a utility, for example, autoconf: brew tap homebrew/versions; brew install autoconf213
* re-installed mercurial and git since they were screwed up somehow from a move from one Mac to another
* tried two different sample .mozconfig files, read through other Mac build config files, several layers deep (very confusing)
* updating my Firefox mozilla-central directory (hg pull -u)
* filed a bug for a build error and fixed some minor points on MDN

The build takes around an hour the first time. After that, pulling the changes from mozilla-central and reticulating the splines takes much less time.

Firefox build

Now I’m to the point where I can have a little routine every morning:
* brew doctor
* brew upgrade
* cd mozilla-central, hg pull -u
* ./mach build

Then I’m set up to run tests. Running all the mochitest-plain tests takes a long time. Running a single test may fail because it has dependencies on other tests it expects to have run first. You can also run all the tests in a particular directory, which may work out better than single tests.

Here is an example of running a single test.

./mach mochitest-browser browser/base/content/test/general/browser_aboutHome.js

Your Nightly or Nightly-debug browser will open and run through some tests. There will be a ton of output. Nifty.

Here is that same test, run with e10s enabled.

./mach mochitest-browser —e10s browser/base/content/test/general/browser_aboutHome.js

BTW if you add “2>&1 | tee -a test.log” to those commands they will pipe the output into a log file.

Back to testing. I poked around to see if I could find a super easy to understand test. The first few, I read through the test code, the associated bugs, and some other stuff. A bit overwhelming. My coworker Juan and I then talked to Joel Maher who walked us through some of the details of how mochitests work and are organized. The tests are scattered throughout the “tree” of directories in the code repository. It is useful generally to use DXR to search but I also ended up just bouncing around and getting familiar with some of the structure of where things are. For example, scarily, I now know my way to testing/mochitest/tests/SimpleTest/. Just by trying different things and looking around you start to get familiar.

Meanwhile, my goal was still to find something easy enough to grasp in an afternoon and run through as much of the process to fix a simple bug as I could manage. I looked around for tests that are known not to work under e10s, and are marked in manifest files that they should be skipped if you’re testing with e10s on. I tried turning some of these tests on and off and reading through their bugs.

Also meanwhile I asked for commit access level 1 (for the try server) so when I start changing and fixing things I can at least throw them at a remote test server as well as my own local environment’s tests.

Then, hurray, Joel lobbed me a very easy test bug.

From reading his description and looking at the html file it links to, I got that I could try this test, but it might not fail. The failure was caused by god knows what other test. Here is how to try it on its own:

./mach mochitest-chrome browser/devtools/webide/test/test_zoom.html

I could see the test open up Nightly-debug and then try to zoom in and out. Joel had also described how the test opens a window, zooms, closes the window, then opens another window, zooms, but doesn’t close. I have not really looked at any JavaScript for several years and it was never my bag. But I can fake it. Hurray, this really is the simplest possible example. Not like the 600-line things I was ending up in at random. Danny looked at the test with me and walked through the JavaScript a bit. If you look at the test file, it is first loading up the SimpleTest harness and some other stuff. I did not really read through the other stuff. *handwave* Then in the main script, it says that when the window is loaded, first off wait till we really know SimpleTest is done because the script tells us so (Maybe in opposition to something like timing out.) Then a function opens the WebIDE interface, and (this is the main bit Danny explained) the viewer= winQuerInterface etc. bit is an object that shows you the state of the viewer. *more handwaving, I do not need to know* More handwaving about “yield” but I get the idea it is giving control over partly to the test window and partly keeping it. Then it zooms in a few times, then this bit is actually the meat of the test:

 is(roundZoom, 0.6, "Reach min zoom");

Which is calling the “is” function in SimpleTest.js, Which I had already been reading, and so going back to it to think about what “is” was doing was useful. Way back several paragraphs ago I mentioned looking in testing/mochitest/tests/SimpleTest/. That is where this function lives. I also felt I did not entirely need to know the details of what the min and max zoom should be. Then, we close the window. Then open a new one. Now we see the other point of this test. We are checking to see that when you open a WebIDE window, then zoom to some zoomy state, then close the window, then re-open it, it should stay zoomed in or out to the state you left it in.

OK, now at this point I need to generate a patch with my tiny one line change. I went back to MDN to check how to do this in whatever way is Mozilla style. Ended up at How to Submit a Patch, then at How can I generate a patch for somebody else to check in for me?, and then messing about with mq which is I guess like Quilt. (Quilt is a nice name, but, welcome to hell.) I ended up feeling somewhat unnerved by mq and unsure of what it was doing. mq, or qnew, did not offer me a way to put a commit message onto my patch. After a lot of googling… not sure where I even found the answer to this, but after popping and then re-pushing and flailing some more, and my boyfriend watching over my shoulder and screeching “You’re going to RUIN IT ALL” (and desperately quoting Kent Beck at me) as I threatened to hand-edit the patch file, here is how I added a commit message:

hg qrefresh -m "Bug 1116802: closes the WebIDE a second time"

Should I keep using mq? Why add another layer into mercurial? Worth it?

To make sure my patch didn’t cause something shocking to happen (It was just one line and very simple, but, famous last words….) I ran the chrome tests that were in the same directory as my buggy test. (Piping the output into a log file and then looked for anything that mentioned test_zoom. ) The test output is a study in itself but not my focus right now as long as nothing says FAIL.

./mach mochitest-chrome browser/devtools/webide/test/

Then I exported the patch still using mq commands which I cannot feel entirely sure of.

 hg export qtip > ~/bug-1116802-fix.patch

That looked fine and, yay, had my commit message. I attached it to the bug and asked Joel to have a look.

I still don’t have a way to make the test fail but it seems logical you would want to close the window.

That is a lot of setup to get to the point where I could make a useful one line change in a file! I feel very satisfied that I got to that point.

Only 30,000 more tests to go, many of which are probably out of date. As I contemplate the giant mass of tests I wonder how many of them are useful and what the maintenance cost is and how to ever keep up or straighten them out. It’s very interesting!

You can have a look at the complicated nature of the automated tests that run constantly to test Firefox at treeherder. For any batch of commits merged into mozilla-central, huge numbers of tests run on many different platforms. If you look at treeherder you can see a little (hopefully green) “dt” among the tests. I think that the zooming in WebIDE test that I just described is in the dt batch of tests (but I am not sure yet).

I hope describing the process of learning about this small part of Firefox’s test framework is useful to someone! I have always felt that I missed out by not having a college level background in CS or deep expertise in any particular language. And yet I have still been a developer on and off for the last 20 years and can jump back into the pool and figure stuff out. No genius badge necessary. I hope you can see that actually writing code is only one part of working in this kind of huge, collaborative environment. The main skill you need (like I keep saying) is the ability not to freak out about what you don’t know, and keep on playing around, while reading and learning and talking with people.

Related posts:
Posted in planetmozilla, Uncategorized | Tagged , , | 6 Comments

Happy Year Everyone!

Happy Earth’s orbit time unit demarcation point! Here is a sort of mass holiday letter, via blog, to ceremoniously open the year. Starting with a picture of me looking like a happy Time Lord, wrapped in a silk scarf with the Puppis Nebula on it and with a giant bow on my head, grinning like a fool.

Happytimelord

It’s been a good year. I met many new fabulous people mostly through Double Union and conferences, read a lot, worked on a new zine, published some articles including some in Model View Culture and a year-end review of books and culture at the Aqueduct Press blog worked super hard at Mozilla, had my ups and downs physically and with mobility, visited Portland a couple of times for Open Source Bridge, AdaCamp, and for work, went to Montreal for PyCon, went to WisCon, played a ton of Ingress, worked with Ada Initiative and a little on geekfeminism.org (as usual). Got to hang out really a lot with my friends. So many lovely, warm, interesting people!! I adore them. Had a fabulous, sweet, talented roommate for a month. Made a tiny zine, Heterodoxy to Marie. I got to see Sandra while I was in Montreal and found out at the end of the year that her and Sophie’s film, The Amina Profile, will be at the Sundance Film Festival (I am in this movie, somewhere, interviewed.)

Feminst hacker lounge (year 2) from PyCon:

Feministhackerloungepycon2014

Zine Workshop at Double Union:

Zineworkshop

Movie poster for The Amina Profile:

Amina profile poster

I have admired this is the movement and #ThisTweetCalledMyBack this year. Solid.

In the fall, I missed a trip I had planned with Danny, to Mexico City and Bogotá hackerspaces, but I felt good about the decision not to go especially once I saw the many flights of stairs I would have had to negotiate somehow. (!) Sad about it though. Spent a month and a half in CAM walking boots (the ankle moon boots) which was a nasty wake-up call. And which freaked me out and upset me greatly. Re-focused my life around physical therapy, kind of (in that it is my top priority to go to the Very Warm Pool (92°F) to exercise and strengthen my legs, any time I can make time).

I lost a friend to sudden unexpected death this year. I miss her every day. Another part of my feelings of refocusing on health and drawing inwards a little. What a privilege I have had to reach this age without very much of this kind of loss. Had a bracing-myself feeling like, “And so it begins”. Our lives just fly by. I dearly wish she were here to appreciate #ThisTweetCalledMyBack. Surely she knows or knew how deeply she would be missed by so many of us. Please hold your friends and compañeras close, everyone.

Here’s what I keep saying to myself. How will I try to model sustainable feminist activism for others and for myself? (Is it possible? Maybe not.) What if I get off that mustang? Can I? What would life be like if I “gave” 60%, not 110%? Will I ever feel that I do “enough” or experience “enough”? (No. Must CHILL.) (Thanks for these pointers, awesome new behavioral pain/disability/insomnia therapist.)

Life generally fabulous with Danny. Yesterday afternoon we were there just doing our thing, alternating between domestic things, editing and writing (sometimes together), half working and half not, and zoning out playing our current video games (Elite Dangerous and Clash of Clans). A few friends were about to come over. He went, “wait, this is what people THINK we do all the time” (writing together on the couch) Well, we do….. just not every moment obviously since the garbage needs to go out and we are often both ill and exhausted and just slumped around the house. But then we have this great synergy and can communicate and understand each other better than anything. *hearts*

Over all, I settled more and more into living in this little rented earthquake shack in San Francisco with Danny and our kids, who are beyond awesome.

Kids effparty

Many horrible, sad, annoying things happened this year as well and to all of that I call BULLSHIT. Enough said!

Bullshitbutton

Here is the most frivolous milestone for the year I can think of (demonstrated last night) After many years of patiently lap-training Danny’s cat, I can now turn her upside down. She purrs and stays upside down on my lap. TRIUMPH.

"Hey, hey sister it don't matter
Whether I do labor fast or slow,
There's always more labor after." 
Related posts:
Posted in Uncategorized | Tagged , | Leave a comment

Thoughts on working at Mozilla and the Firefox release process

Some thoughts on my life at Mozilla as I head into our company-wide work week here in Portland! My first year at Mozilla I spent managing the huge volume of bugs, updating docs on how to triage incoming bugs and helping out with Bugzilla itself. For my second year I’ve been more closely tied into the Firefox release process, and I switched from being on the A-Team (Automation and Tools) to desktop Firefox QA, following Firefox 31 and then Firefox 34 through their beginning to release.

picard saying if it's not in bugzilla it doesn't exist

I also spent countless hours fooling around with Socorro, filing bugs on the highest volume crash signatures for Firefox, and then updating the bugs and verifying fixes, especially for startup crashes or crashes associated with “my” releases.

Over this process I’ve really enjoyed working with everyone I’ve met online and in person. The constant change of Mozilla environments and the somewhat anarchic processes are completely fascinating. Though sometimes unnerving. I have spent these two years becoming more of a generalist. I have to talk with end users, developers on every Mozilla engineering team, project or product managers if they exist, other QA teams, my own Firefox/Desktop QA team, the people maintaining all the tools that all of us use, release management, and release engineering. Much of the actual QA has been done by our Romanian team so I have coordinated a lot with them and hope to meet them all some day. When I need to dig into a bug or feature and figure out how it works, it means poking around in documentation or in the code or talking with people, then documenting whatever it is.

This is a job (and a workplace) suited for people who can cope with rapid change and shifting ground. Without a very specific focus, expertise is difficult. People complain a lot about this. But I kind of like it! And I’m constantly impressed by how well our processes work and what we produce. There are specific people who I think of as total rock stars of knowing things. Long time experts like bz or dbaron. Or dmajor who does amazing crash investigations. I am in their secret fan club. If there were bugzilla “likes” I would be liking up a storm on there! It’s really amazing how well the various engineering teams work together. As we scramble around to improve things and as we nitpick I want to keep that firmly in mind. And, as we are all a bit burned out from dealing with the issues from the 33 Firefox release and many point releases, then the 10th anniversary release, then last minute scrambling to incorporate surprise/secret changes to Firefox 34 because of our new deal with Yahoo.

I was in a position to see some of the hard work of the execs, product and design people, and engineers as well as going through some rounds of iterating very quickly with them these last 2 weeks (and seeing gavin and lmandel keep track of that rapid pace) Then seeing just part of what the release team needed to do, and knowing that from their perspective they also could see what IT and infrastructure teams had to do in response. So many ripples of teamwork and people thinking things through, discussing, building an ever-changing consensus reality.

I find that for every moment I feel low for not knowing something, or making a mistake (in public no less) there are more moments when I know something no one else knows in a particular context or am able to add something productive because I’m bringing a generalist perspective that includes my years of background as a developer.

As an author and editor I am reminded of what it takes to edit an anthology. My usual role is as a general editor with a vision: putting out a call, inviting people to contribute, working back and forth with authors, tracking all the things necessary (quite a lot to track, more than you’d imagine!) and shifting back and forth from the details of different versions of a story or author bios, to how the different pieces of the book fit together. And in that equation you also, if you’re lucky, have a brilliant and meticulous copy editor. At Aqueduct Press I worked twice with Kath Wilham. I would have gone 10 rounds of nitpick and Kath would still find things wrong. My personal feeling for my past year’s work is that my job as test plan lead on a release has been 75% “editor” and 25% copy editor.

If I had a choice I would always go with the editor and “glue” work rather than the final gatekeeper work. That last moment of signing off on any of the stages of a release freak me out. I’m not enough of a nitpicker and in fact, have zero background in QA — instead, 20 years as a lone wolf (or nearly so) developer, a noisy, somewhat half-assed one who has never *had* QA to work with much less *doing* QA. It’s been extremely interesting, and it has also been part of my goal for working in big teams. The other thing I note from this stressful last 6 weeks is that, consistent with other situations for me, in a temporary intense “crisis” mode my skills shine out. Like with the shifting-every-30-minutes disaster relief landscape, where I had great tactical and logistical skills and ended up as a good leader. My problem is that I can’t sustain that level of awareness, productivity, or activeness, both physically and mentally, for all that long. I go till I drop, crash & burn. The trick is knowing that’s going to happen, communicating it beforehand, and having other people to back you up. The real trick which I hope to improve at is knowing my limits and not crashing and burning at all. On the other hand, I like knowing that in a hard situation I have this ability to tap into. It just isn’t something I can expect to do all the time, and isn’t sustainable. One thing I miss about my “old” life is building actual tools. These last 2 years have been times of building human and institutional infrastructure for me much more than making something more obvious and concrete. I would like to write another book and to build a useful open source tool of some sort. Either for Mozilla, for an anti-harassment tool suite, or for Ingress…. :) Alternatively I have a long term idea about open source hardware project for mobility scooters and powerchairs. That may never happen, so at the least, I’m resolving to write up my outline of what should happen, in case someone else has the energy and time to do it.

In 2013 and 2014 I mentored three interns for the GNOME-OPW project at Mozilla. Thanks so much to Tiziana Selitto, Maja Frydrychowicz, and Francesca Ciceri for being awesome to work with! As well as the entire GNOME-OPW team at Mozilla and beyond. I spoke about the OPW projects this summer at Open Source Bridge and look forward to more work as a mentor and guide in the future.

Meanwhile! I started a nonprofit in my “spare time”! It’s Double Union, a feminist, women-only hacker and maker space in San Francisco and it has around 150 members. I’m so proud of everything that DU has become. And I continue my work on the advisory boards of two other feminist organizations, Ada Initiative and GimpGirl as well as work in the backchannels of Geekfeminism.org. I wrote several articles for Model View Culture this year and advised WisCon on security issues and threat modeling. I read hundreds of books, mostly science fiction, fantasy, and history. I followed the awesome work my partner Danny does with EFF, as well. These things are not just an important part of my life, they also make my work at Mozilla more valuable because I am bringing perspectives from these communities to the table in all my work.

The other day I thought of another analogy for my last year’s work at Mozilla that made me laugh pretty hard. I feel personally like the messy “glue” Perl scripts it used to be my job to write to connect tools and data. Part of that coding landscape was because we didn’t have very good practices or design patterns but part of it I see as inevitable in our field. We need human judgement and routing and communication to make complicated systems work, as well as good processes.

I think for 2015 I will be working more closely with the e10s team as well as keeping on with crash analysis and keeping an eye on the release train.

Mad respect and appreciation to everyone at Mozilla!!

Firefox launch party liz larissa in fox ears

Related posts:
Posted in mozilla, planetmozilla, work | Tagged , | Leave a comment

NIght at the Opera with teenagers

On dress rehearsal nights the San Francisco Opera lets school groups in free. Milo’s high school choir class came up to see La Cenerentola, armed beforehand with scripts and analysis and background about opera. I was super excited to get to go along because I can’t make it very often to Redwood City to his school events, which is sad….. I miss out on a lot. But I can’t drive — and it takes 5-6 hours of cab/bus/train to get there and back even though it would be 40 minutes one way by car. So, I can’t show up as a parent at his school very often. Bah.

It was a fabulous night out. A bit hard to try to keep up with everyone and manage wheelchair, crowds, elevator, stairs — winging it all the way, and it worked out well. Milo and Danny and I sat together with the kids and the choir teacher. I could tell Milo and I were both enjoying the music and you can see our excitement from the picture…. We were feeling inspired!

Milo and Liz at the opera

It’s been a while since I was at the opera house. We saw Nixon in China (which I loved a LOT). And some years ago a friend of mine took me to various operas because she had a box and season tickets. I can hardly remember which ones but do remember the fun of dressing up, the box itself being awesome, and thinking about all the books I’ve ever read where people go to the opera and have a box and a complicated social scene. Very fancy. I also have a lot of thoughts about how rare and splendid this kind of music must have been a couple of hundred years ago, and how amazing it is that there were beautifully designed music halls before there was electronic amplification. Imagining what the experience would have been like back then makes me feel like I’m traveling in time or am seeing eveything on more than one level at once.

Opera house curtains

The entire night was extra fun because of the energy of the whole audience, all the kids very excited to be there and commenting to each other on the theater, the show, their unusual formality (many kids were dressed up) and their commentary on the songs. I liked hearing from the cheers and appplause which characters and songs appealed to them. Basically anything that was comic. They were more fun to be in an audience with than the usual rather uptight overly quiet and suppressed/suppressive classical music audience!

Opera with class

My own favorite bits of the opera were the arias where there are 4 or 5 characters singing at once and the notes and lyrics interweave in a complicated way. This is one of my favorite things in any kind of music. I go into a trance trying to pick out separate parts and then add them all together, hearing them separately and together at the same time. I get very excited and want to bounce around in my seat. I may have done this and punched Danny and Milo in the arm a bit or squeaked with excitement.

A nice break to end my month and a half of arthritis flare-up, not going out except for doctor appointments or physical therapy. Could not tell if I was going out foolishly or if it was going to be ok. It was more or less ok!! With lots of painkiller though. It was physically gruelling but didn’t set me back any in my ankle rehab.

Just blogging a bit frivolously to break my trend of not writing anything because I feel like I have to say something super meaningful or well thought out. Screw that, right?

Related posts:
Posted in Uncategorized | Tagged , , , | 2 Comments

Make hackerspaces better – support Ada initiative

Hello! I love hackerspaces! And I’m asking hackerspaces around the world to donate to the Ada Initiative in support of making hackerspaces welcoming and safe places for women. My goal is to raise $4096 and if we do, I’ll match the first $1028 donated. **UPDATE** extending the deadline to next Friday, Oct. 3.

Adacamp liz and heidi in tiara

My home base is Double Union, a feminist hackerspace in San Francisco and it’s going strong. It has lively events every week and over 150 members.

A group of us at AdaCamp SF last year decided we could start a maker and hacker space for women. AdaCamp SF is an unconference run by the Ada Initiative for feminist women in open tech and culture. There were so many of us all together at once. So powerful feeling! With months of hard work, it happened — we opened Double Union.

We get to hack there without sexist bullshit or constantly fending off creepy dudes!

The thing is, I believe that any hackerspace can potentially be that way. You, too, could have a hackerspace where many women feel comfortable, welcome, valued, in their creative, coding, and entrepreneurial and activist endeavors, in a space full of allies and comrades of all genders. This can’t happen overnight. It will take work and education and above all, listening to women, not just the few women who have stuck around, but also the ones who left because they were uncomfortable.

I want to persuade hacker and maker spaces around the world that they are missing out on infinite potential. Hackerspaces.org has some good advice on adding anti-harassment policies to the design patterns for running a space. This is exactly the sort of work that Ada Initiative is good at; their Example anti-harassment policy has been used as a template by many events and organizations.

I’d like to challenge all hackerspace members to do two things in support of my campaign:

* Donate to Ada Initiative! I will match up to $1028 donated when we reach the $4096 goal!

* Add your anti-harassment policy to your organization’s page at hackerspace.org, and link to it from the list on the Geek Feminism wiki. (And if your space doesn’t have a code of conduct or policy, start the ball rolling to implement one!)

I love Double Union. We have set aside a permanent physical space, equipment, organization, and time that is focused on making and creating things together. We have the keys in our hands and the tools to do whatever we like in a safe, supportive environment free from harassment. We agreed to a basic code of conduct and some assumptions we share about behavior in the space, which helps establish trust for us to share knowledge, time, and tools. We try to follow Community anti-harassment standards. We have members who are also part of, or supporters of, Noisebridge, sudo room, LOLspace, Mothership Hackermoms, Ace Monster Toys, and other San Francsico Bay Area spaces.

Double union shopbot

We’re having writers’ groups, book groups, readings, zine workshops, open source software coding, cryptography meetups, circuit hacking, making stuff with our CNC routers, 3D printer, vinyl cutter, drawing and art supplies, and sewing machines — in short, doing whatever we like and learning a lot from each others’ expertise. We celebrate other women’s work and cultural diversity. Our hackerspace is against putting others down for what they do or don’t know. Once we don’t have to fight to prove we are ‘hacker enough’, great things happen.

Double Union’s founding group had the vision to make this space happen because of the pioneering work of the Ada Initiative. Ada Initiative’s demands for policy changes for events and companies, its fierce uncompromising voice, and especially its empowering and inspiring events, are having a good and useful effect to shift our culture.

More AdaCamps, like the ones this year in Berlin, Bangalore, and Portland, will help improve women’s participation in hackerspaces. With your donation, we could potentially host MORE of these fabulous unconferences for women in open tech and culture.

Please join me in donating to Ada Initiative so they can keep on being a positive force for change in the world!

Liz and Cristin smiling at DU


Related posts:
Posted in feminism, open source, women | Tagged , , , , | 2 Comments

Yelp removes accessibility review

Today I got a notification from Yelp that they removed one of my reviews. In my review I reported that ironically, a therapist who advertised as serving a diverse group of people with a focus on coping with health challenges and “aging gracefully”, did not have a wheelchair accessible office.

The review was removed by Yelp as not being substantive.

I have to assume that this was done at the business owner’s request. That seems pretty sad to me. It would be better practice for her to ask former clients for reviews.

Yelp is often very useful for me. I don’t review businesses often and when I do, it is normally to say positive things and thank people for doing a fantastic job. I also try to mention businesses that consider access or are particularly thoughtful or accessible for wheelchair users. But I feel stubborn here.

Yelp should not remove reviews for reporting lack of wheelchair accessibility. Lack of accessibility in any business is incredibly useful information for many of us. My review potentially would save other people who have difficulty with stairs from wasting their and Dr. Schochet’s time.

When I wrote the review, I was feeling bitter and sad that I had gotten my hopes up at finding a fabulous sounding therapist who would understand what I needed to talk about so I wouldn’t have to explain all of disability politics and the feelings of loss and worry I was coping with.

Here’s my old review, admittedly sarcastic –

“Her ads say that she deals especially with “Adjusting to health changes” and aging gracefully, but her office is up a flight of stairs and the bathroom is up another flight of stairs. So if you are disabled, you will likely need to look elsewhere.”

Seriously, is that all that bad? That was it. That was all I said.

Here is Dr. Schochet’s description of her practice from Yelp:

Specialties

* Diverse San Francisco practice includes:
Visual and performing artists, creatives
Newcomers, immigrants, expats
LGBTQI, alternative lifestyles

* Guidance with navigating life transitions:
Adjusting to health changes
Improving the quality of your relationships
Adapting to work challenges
Management coaching
Grieving losses
Approaching retirement
Aging gracefully

Here is my newly submitted review:

In 2014 I called this doctor to try to get counseling as I coped with ill health, physical impairment and increasing loss of physical mobility and the challenges of having a full time job while being a wheelchair user in chronic pain. I understand that not everyone’s office can be accessible, especially if someone has a home office. However, as this therapist advertises her practice as focusing on topics like “aging gracefully” and “adjusting to heath changes” I thought this might be a great fit for what I was looking for. After some phone conversation Dr. Schochet, who seemed very nice, let me know that unfortunately her office had many stairs to get to it and the bathroom is another flight of stairs away.

I think it is useful to note, for other wheelchair users or people with mobility limitations, this practice is not wheelchair accessible. I believe that not being able to physically access a business due to its lack of wheelchair accessibility counts as a substantive consumer experience.

My 3 star rating is based on the fact that Dr. Schochet seemed perfectly nice and professional on the phone when i spoke with her about her practice and what I was looking for.

Let’s see if it stands. I think it is perfectly fair. This review explains more clearly that I had some personal engagement and experience with the business owner, and how this information is a useful addition to Yelp.

This blog post is for the meta issues. I don’t approve of the action of the psychologist who may have requested my review’s removal, if that’s what happened here. She may be a very nice person and a good psychologist. My impression of her was fine. But, if she petitioned Yelp to have my accessibility report removed, that does not speak well for her as a therapist for a “diverse” population. This is the opposite of what a person who believes in diversity, and being a good ally, should do.

I also think deleting an honest and fair review is just silly. As should be clear from this post, it will only have the opposite effect from what you may intend, because I can just post my experience somewhere else and describe it even more thoroughly, including the sad and embarrassing part where someone tried to silence a fairly reasonable and minor critique, unlikely to affect anyone’s decision who isn’t also a wheelchair user . . . . Truly a bit ridiculous.

I would like to call out Yelp for bad judgment in this small and more or less unimportant decision. My concern is that it may stem from a very bad policy.

Is it Yelp’s policy to not allow criticism of accessibility?

The review was removed “because it lacks a substantive consumer experience”.

I hope my new review makes it clear that I did have a substantive consumer experience. I had the experience of not being able to use the business at all.

If I can’t GET INTO a business to use it, then do my reviews not count? I believe they do count, and that they are useful information for others to make their decisions.

My own house has stairs and is not accessible. If I have a bad day and can’t manage the stairs or am in too much pain to handle the stairs and still function after I get down them, then I don’t leave the house.

Any time that I know in advance that a business or venue is not accessible, I feel deeply appreciative. I can choose not to go and make other plans, or I can decide how to navigate or negotiate its barriers, or I can make sure I have someone with me to help. Any sort of information about barriers to access is helpful!

That’s ultimately why I mention accessibility. It is because I am thinking about the experience of other people with disabilities and am acting in solidarity with them. It is a political act. It’s not to punish anyone for being in an inaccessible location. It’s to improve the world for everyone one step at a time. Bitter humor is often helpful but it is not necessary and you will note I tried to leave that tone out of my second attempt at a review.

Meanwhile, here is an amusing list of Wheelchair Inaccessible businesses in San Francisco, also from Yelp.

I would never have thought about this again ever, if Yelp had not removed my trivial two sentence comment about lack of wheelchair access, but now I’m a bit ticked off, enough to write a blog post for half an hour. Cheers and peace out.

Related posts:
Posted in Uncategorized | Tagged | 4 Comments

Bad Inventions: The laptop girdle and the standing desk bra!

I have two new Bad Inventions for my collection of ideas that I will never implement and everyone is free to steal!

First, let me introduce the Laptop Girdle (or laptop belt)!

I often am working on my computer while lying on my back with knees and feet up on pillows to relieve strain in my low back and keep my painful ankles elevated. I’m sure many other people use their laptops in bed or on a couch lying down. One problem with this is the laptop needs to be specially propped up so it doesn’t slide upwards on your torso. Another problem is that your stomach or your belt can accidentally mess with the laptop track pad so that you suddenly click with your belly. I don’t even have that much belly and it happens all the time since my MacBook Air has very little space between the bottom edge of the laptop and the trackpad. Same with my belt. So, the Laptop Girdle will be a belt with a special groove meant to hold a laptop in place, immune from belly or belt-buckle clicks!

Also good for playing games on your ipad in bed!

The laptop belt is also useful for people who are sitting up with laptop ON THEIR ACTUAL LAP.

I think that boob clicks are also possible in this scenario so the laptop girdle must protect against boob clicks for those of us who are generously endowed.

Which thought leads us to . . . the Standing Desk Bra! Standing desks are amazingly popular with hipster programmers who aren’t me! There is one in my hotel room right now! Now, I am also not a person who needs a marvelously sturdy variety of bra which has the structural engineering of a suspension bridge. But for those of us who do wear amazingly constructed bras imagine if its support framework also had something that popped or folded out or attached on the underneath of the front of the bra, that would be a convenient shelf for your laptop, reading a book, or use as a handy drafting table! YES. The world needs Standing Desk Bras!

Please send me your drawings of these inventions as soon as possible so that we can make it happen. OR just make something like this and you are welcome to your ONE MILLION DOLLARS.

Related posts:
Posted in inventions | Tagged , | Leave a comment

What I did on my Portlandia vacation

Hello from SUNNY PORTLAND! It’s gorgeous here. I’m enjoying scootering all over town, seeing friends, eating delicious food and loafing around with Danny.

I spent Friday with Selena and her awesome cute baby and her cat Funny. We talked about a million things and had coffee and doted on the baby. I do love babies!!! We talked about work and general stuff about our lives, feminism, children, and so on. I gave her a whole bunch of zines from Double Union. I also finished reading an academic paper on feminism and programming and culture clashes by my friend Luis Felipe which delved into many of the implications of the C plus equality parody/impersonations and similar instances of aggression by way of parody code. I look forward to its publication . . . I also worked on getting some of selena’s code up and running and we talked about ways to extend it for other uses and the indie tech/web decentralized-everything shift or course correction in how people are thinking about making tools these days.

Pambla lizzardLiz birdnerd

Both the baby and I have saucy tshirts on. Mine says “Macho Pero No Mucho” and the baby’s says “Bird Nerd” as she is clearly destined to be a future birder like her parents.

Then went to the Mozilla office to say hello to Lukas’s Ascend Project students. There was not much time to do a lot other than say hello and drop off my stickers. They were making stuff with Webmaker and pushing/pulling/merging to their git repos. It looked like a lot of fun and like the class had good cameraderie. I talked with Dino as well about the upcoming Ada Initiative ally workshops.

Then got a cool email from the State Department. How often does anyone say that sentence? Weird eh? They have a delegation from Egyptian hackerspace organizers and teachers who want to come visit Double Union and talk about making hacker and maker spaces for women. This made me super happy!!

Danny and I then went to the Wieden Kennedy office which was hosting a party for the XOXO Festival. I have been in there before but only remember it dimly; it was very pretty. We hung out in the “Nest” which is hard to describe. The center of the building has high ceilings and walkways across it. On one of the walkways there is a hangout space with …. giant twigs all around it so it’s like being in a nest. The couches are fuzzy grey and and look like rocky outcrops with boulder pillows. It is 100% awesome. Robin and Dan Hon’s tiny kid sat on my scooter saying “vroom” for like, an hour and dinging the tiny bell on the handlebars. Apparently he had just spent a weekend recently getting to ride on tractors so his life is fabulous. He taught me the sign for “bike” and “motorcycle”. I not only like babies I really like tiny children (At least when they are not screaming or covered in body fluids.)

The rooftop party was also very relaxing, it was sunny, people were super friendly, I saw Tim and Pamela and Evan P. and Kanane and tons of other people I know while we ate, ok, the hipstery-iest ridiculous food: deviled quail eggs, chocolate covered (peeled) tiny apples on sticks, homemade marshmallows with candied lychee, can’t remember what else. Cocktail that tasted like a sweet-tart with dragonfruit in it which looked disturbingly like a tentacle. I enjoyed all of this greatly. The rooftop was decorated with tiny succulents (or epiphytes) in glass terrariums which reminded me of the brilliant design-critique tumblr Fuck Your Noguchi Coffee Table .

Xoxo dragonfruit

Xoxo tinysucculents

It was amusing that part of the “festival” for XOXO was going to different tech company offices. I would have gone to the Slack one but the timing didn’t quite work out. It reminded me a little bit of the vibe of BarCamp Block but less unconferencey and much more luxurious. At BarCamp Block we persuaded 9 different tech companies in downtown Palo Alto to let us use their office space over a weekend for our decentralized unconference. We made a mesh network specially for it. It was lovely… Anyway, XOXO felt very decadent. I have ambivalent feelings about it even while enjoying it greatly.

Pambla lizzard

We then checked into our airbnb place and had dinner and took a cab to the Yale Union building where there was a night of video gaming and demos which sounded right up my alley but unfortunately the building was not accessible. Danny went up the stairs to scout for me, ie, to see if I should give it a try to go (painfully) up the giant flight of stairs while he carried my scooter, or, if he could find out if there was an elevator. Meanwhile I scouted around the outside of the building. There was a ground floor entrance with a phone number to call for access which implied maybe there *was* and elevator so I called it but it went to voicemail. After hanging out for a while at the foot of the stairs talking with friends I found that there was some bustle and consternation perhaps about no one knowing how to make the elevator work or unlock it or find a person who might have the key to it. From Danny’s description of the elevator it sounded like one of those murky freight contraptions that I should emerge from with a fog machine generating a cloud to make me look like a special super villain. We decided to move on to another venue of the conference, the main one called the Redd Building.

Xoxo yaleunion

Xoxo redd

The Redd Building is gorgeously industrial. I liked the patio with its cubist-ish mural, awkward tables and mural-echoing sunshades. This whole bit of town reminds me of Austin from 25 years ago. Lots of brick buildings and patios and beer. Less trellises with xmas lights. (Are trellises with xmas lights on outside patios still a thing in Austin bars?) I gossiped more with Robin who told me about an ARG she worked on where you learned about art or art history by pulling off a (staged) heist from an art gallery and then forging some paintings. It sounded amazing! EVERYTHING SHOULD BE LIKE THAT. The actual talks did not appeal to me as I do not care about tv shows so i hung out in the pleasant outside patio with food trucks talking with people for a while then we went home & I realized I had been running on tramadol and coffee fumes for most of the day and collapsed into bed whimpering in pain and taking ALL THE POSSIBLE MEDS. My left ankle feels worryingly fucked up. I hope I don’t end up in a boot again. The pain is also intense down my right sciatica line-of-horror and messed up peroneal nerve but that will wear off over the next few days from the injection earlier this week, I trust. The other day someone I have known for a while went, “wait, are you actually in *pain*?!” Uh hahahaha yes. I thought that everyone knew that I am in constant pain and it is just an endurance game of how long I can power through it and stay good tempered and have intellectual focus. I also feel like I whine all the time about pain and exhaustion. Apparently this is less apparent than it feels. We should all have fuzzy red halos around us like in video games so it can be apparent who has the fewest hit points or constitution is low or whatever.

Morning renewed me somewhat, so with my trusty holster of fucking Tramadol by my side, I went out to hack some portals and find a nice cafe while D. stayed asleep which is his ideal vacation (and our usual pattern when traveling). I admired a lot of bulidings. I think bricks are beautiful. They often seem so human. However they were manufactured you know they were laid down by hand by a person and often by people who thought about creative ways to design a wall or a window archway or put a pattern with different colors or sizes of brick. San Francisco does not have a lot of creative brickwork. . . . I also just love the warm vivid colors of brick. Check out this stone and brick wall with a planter with horsetail fern. It did not have to be beautiful and yet it is! Someone loved it when they made it and it is clearly still tended well now. I like aesthetics that manifest appreciation and love in a space.

Portland greywall

The cafe I was aiming for is called Commisary; its yelp reviews mentioned light and fluffy scones and good coffee. I have nto been drinking coffee because of my recurring gastritis but I figured this weekend I can go off the rails a little. Therefore, if I’m going to break my no-coffee rule, it has to be DELICIOUS coffee. The cafe has cute outside tables and a pleasant atmosphere. When I rolled up there was a step which made my heart sink a little. I can manage to over it but it usually just feels depressing or sad, it is awkward and a bit painful for me, and it perturbs other people who express their freaked-outness, worry, or discomfort with disabled people by acting very annoying towards me in a whole range of possible ways. I also have a sad alienated feeling like no one gives a fuck when I encounter a barrier like this even if I personally can negotiate the barrier because someone with different impairments than me will not be able to and no one cared to think about that. Steps are like a huge fuck you. Then… yay…. behind the planter there was a tiny ramp. This is actually a very lovely and clever ramp design. I’d like to see more entrances like this! The one thing that could improve it is a handrail on the “step” side for people who need steadying while going up a step and for whom ramps are harder than steps. My minor angst was assuaged. I felt very happy while enjoying my scone and coffee. It started to really feel like a vacation. No responsibilities and no one expecting me.

Portland caferamp

I had also scoped out another cafe that is INSIDE A BIKE SHOP. Oh yeah. I figured it was worth a look because often I can find perfect scooter or wheelchair accessories in a bike shop. I have also been looking for someone with decent machine tools to cut the bar that holds up my scooter seat back to shorten its distance from my back and lower it. Well, thank you Portland bike scene because Western Bikeworks is the most fabulous place. I didn’t try the cafe but I got some nice new wheelchair gloves, very dapper, and a cup holder, and a thing to strap around the scooter back to hold my battery charger while traveling. The sales people were all super nice. NO one acted like I was a weird intruder with astonishing never before thought of desires for bike stuff to bolt onto my wheelchair. One of the mechanics in their shop sat with me to have a look at the seat back. We talked it over and he cut some lengths of the metal bar off and drilled a new hole to hold the spring clip and set it all up beautifully for me. Thank you Doug, you’re a rock star! My chair is so much more comfortable now!

Portland bikeshop

Portland scooter

I’ve been talking with April from EFF and my friend Zach about holding another hackability night for wheelchair, scooter, and mobility/access gadget hacking and modifying, but this time at Bike Kitchen while also inviting bicyclists and bike mechanics. This should happen soon!!!

Though I am not heavily participating in xoxo I have a critical observation of it, beyond my usual eyerolling about lack of accessibility. I was expecting , and willing to put up with, uncertain or bad accessibility. The thing I didn’t expect is this: It’s been like going back in time for me to a tech conference from 15 years ago where it is a total sausagefest in a deep way. It is not just that there are way more men than women. It is that the men I’m meeting and talking with though they seem mostly quite nice and interesting, are talking to me and the other women around me as if we don’t do anything interesting, creative, technical, or amazing ourselves. I am spoiled by years of San Francisco and feminist activism and choosing to be in spaces where I am respected. But, I haven’t been treated like that or seen other women treated like that for many years in this kind of context. It is a pervasive assumption that I must be here to be a fan, or in a support role, or because I am just a passive consumer of whatever amazing things ‘independent tech” men are doing. You can’t fix this by inviting a couple of women on stage, at least, you can’t fix it right away. It reminds me of pre-2005 SXSWi and I found that just astonishing. What the heck. So, I feel like a time traveler or an anthropologist on Mars. I would far rather hang out on the fringes with non-douchey people. It is not even that people are horrible it is that their deep rooted assumptions are showing. It’s so embarrassing. They are only focused on themeselves or other men who they consider capable of being Important. How ludicrous! How sad! How much they miss out on! The harm to our civic creativity! The loss to society! The damage to the emotional and creative wellbeing of the women around them! As usual, that Marge Piercy poem comes to mind, where she realizes the sexism of male poets and philosophers and decides to go hang out in the kitchen instead where things are more interesting. I am sorry to make anyone sad by these observations but I gotta say it because like 500 women in various portland scenes will be reading it thinking YES EXACTLY ALSO WTF and I care more about what they feel and think than about hypotheical dudes being defensive or explaining how they cannot be sexist because they have a daughter and mean well, etc. etc. bingo, etc. etc. etc.

Quote of the day: “I have something to say about this whole “Maker” bullshit. I made a human. OUT OF MY VAGINA.” Now there is a creative endeavor. LOLZ!

This long chatty blog entry brought to you by my need to rest in bed for a good long while before going out again. To downtown Portland now to fool around and maybe go to Powells Books and have no real destination for a while. D. is having more of a day in bed as he does not feel very well (as is often true, of the two of us he is in many ways more impaired than I am ) And I think we will meet up in the evening at the Redd building and figure out what’s happening there, music, games, maybe wrangling someone to unlock that dammed freight elevator . . . . Peace out.

Related posts:
Posted in Uncategorized | Tagged , , , , | 4 Comments

How to test new features in Firefox 34 Aurora

If you’re a fan of free and open source software and would like to contribute to Firefox, join me for some Firefox feature testing!

There are some nifty features under development right now for Firefox 34 including translation in the browser, making voice or video calls (a feature called “Hello” or “Loop”), debugging information for web developers in the Dev Tools Inspector, and recent improvements to HTML5 gaming.

I’ve written step by step instructions on these
ways to test Firefox 34. If you would like to see what it’s like to improve a popular open source project, trying out these tasks is a good introduction.

Aurora

First, Install the Aurora version of Firefox. It is best to set it up to use multiple profiles. That ensures you don’t use your everyday version of Firefox for testing, so you won’t risk losing your usual profile information. It also makes it easy to restart Firefox with a new, clean profile with all the default settings, very useful for testing. Sometimes I realize I’m running 5 different versions of Firefox at once!

To test “Hello”, try making some voice or video calls from Firefox Aurora. You will need a friend to test with. Or, use two computers that you control. This is a good task to try while joining our chat channels, #qa or #testday on irc.mozilla.org; ask if anyone there wants to test Hello with you. The goal here is mostly to find and report new bugs.

If you test the translation infobar in Aurora you may find some new bugs. This is a fun feature to test. I like trying it on Wikipedia in many different languages, and also looking at newspapers!

If you’re a web developer, you may use Developer Tools in Firefox. I’m asking Aurora users to go through some unconfirmed bug reports, to help improve the Developer Tools Inspector.

If you like games you can test HTML5 web-based games in Firefox Aurora. This helps us improve Firefox and also helps the independent game developers. We have a list of demo games so you can play them, report glitches, and feel like a virtuous open source citizen all at once. Along the way you have opportunities to learn some interesting stuff about how graphics on the web can work (or not work).

Monster madness

These testing tasks are all set up in One and Done, Mozilla QA’s site to start people along the path to joining our open source community. This site was developed with a lot of community contribution including the design and concept by long-time community member Parul and a lot of code by two interns this summer, Pankaj and Maja.

Testing gives a great view into the development process for people who may not (yet) be programmers. I especially love how transparent Mozilla’s process can be. Anyone can report a bug, visible to the entire world in bugzilla.mozilla.org. There are many people watching that incoming stream of bug reports, confirming them and routing them to developer teams, sometimes tagging them as good first bugs for new contributors. Developers who may or may not be Mozilla employees show up in the bugs, like magic . . . if you think of bugmail notifications as magic . . .

It is amazing to see this very public and somewhat anarchic collaboration process at work. Of course, it can also be extremely satisfying to see a bug you discovered and reported, your pet bug, finally get fixed.

Related posts:
Posted in mozilla, open source, planetmozilla, work | Tagged , , , , | 1 Comment

Court life sounds horrible

In case anyone was wondering whether royal life in the Korean court in the 1700s would be fun or not:

Prince Sado’s illness grew worse. Before he had completely recuperated from his recent bout of smallpox(0), the Two Highnesses passed away. He was saddened by these losses. He was also heavily burdened by the ritual duties of mourning(0.5). . . . During the five-month wake, after a wail(1) at Kyonghun Pavilion His Majesty(2) would invariably drop by at Okhwa Hall to scold his son for whatever he happened to find irritating. Then, when the Prince went to T’ongmyong Pavilion, the same scene would be repeated. How angry this made the Prince! His rage was kindled like a well-constructed fire. It was His Majesty’s habit to rebuke his son in front of a large crowd. It was at T’ongmyong Pavilion, before all the ladies-in-waiting, where the Prince went to honor his grandfather’s memory despite the relentless summer heat of the sixth and seventh months, that His Majesty’s sharpest and most humiliating derision awaited him(2.5).

No longer able to contain his rage, his mind helplessly seized by disease, Prince Sado(3) began to beat his eunuchs severely. Beating servants in the mourning period was, of course, grievously wrong(4) . . . . From that year [1757] his “phobia of clothing” asserted itself(5). I cannot begin to speak of the hardships and heartaches this terrible symptom wrought.

(From The Memoirs of Lady Hyegyeong. I recommend skipping right to the 1805 Memoir for the juicy stuff.)

korean-unicorn

Footnotes:

0.
Smallpox! Fun times.

0.5.
During the mourning period, they would pack blocks of ice around the royal corpse and put seaweed around it to absorb the melting water. I bet that smelled great in the summer heat!

1.
Near as I can tell, royal Korean mourning customs of the time included 5 formal wailing rituals per day. For five months.

2.
King Yeongjo, who ruled for decades and sounded kind of OK, except for being emotionally cold to Sado and one of his sisters, having a lot of very strong phobias, and making Prince Sado attend all the boring interrogations and executions of political criminals while never inviting him to parties. Oh yeah, and that whole thing with the rice chest.

2.5.
Though that moment of sharp derision was nothing to what was going to happen later. Did I mention the rice chest?

3.
Prince Sado had a tragic end as his father ordered him to get into a rice chest (which was something like a giant fancy wardrobe, or a big TV cabinet, except potentially full of rice) and then had him locked in, in front of his family. He died of asphyxiation, or lack or water, or starvation, or something, after 8 days. At least, he kept screaming for a few days and then after 8 days they took a peek in and he was definitely dead.

4.
Apparently, when it’s not the five month mourning period, you can beat your servants all you like. This hardly seems the way to get your servants not to kill you.

5. Each time he changed clothes, Prince Sado would have twenty or thirty sets of clothing laid out. He would burn some of them. If anyone messed up while dressing him, he could not accept those clothes and would beat or kill the servant. For over six years they had to keep finding cloth to make him new outfits. Once he was dressed he’d wear that set of clothes until it was filthy.

So.

Then the Prince chopped off a lot of people’s heads at random, raped a bunch of ladies in waiting, jumped in a well to try and kill himself (failing). For months or maybe years. (Except, obviously, not jumping into a well for years. That was just once.) Everyone covered up for him as best they could, since talking about it would probably get them killed or exiled. When his father the King finally confronted him about this, Prince Sado claimed he did it all because his dad didn’t love him enough.

That was only a tiny glimpse into the messed up drama of palace life. It’s all backstabbing your second cousin over a vaguely worded memo or an imprudently ambiguous sounding comment to the King, gossip, exile, scandal; or, if you’re small, being taken away from your parents, pressured to study the classics, put away your toys, and demonstrate extreme filial piety when you’re barely potty trained. NOT FUN.

korean-rice-chest

Reading about Hyegyeong as well as reading what she wrote makes me think of the nature of history and what we think we know. Her reality is slippery even in her representations of recorded history in the daily life of the palace. She claims for instance to have bribed the palace scribes (daily) to change the record of what the King said that day. People are convicted of treason based on interpretations of memos, then years later pardoned, with plausible explanations of the falsity of the earlier records. She is an awesome unreliable narrator and creator of history. So many official histories look that way; maybe all of them.

“Thus my family gathered all my letters and, at regular intervals, washed away all that was written.”

Related posts:
Posted in books | Leave a comment