• Accessibility in the Workplace

    Subtitle: It’s the least you could do.

    1. The company produced a podcast. All nine episodes were dropped at the same time. And transcripts were published on the web page at the same time.

    2. The department that loves, loves, loves Zoom meetings now uses Google Meet when the meeting includes my deaf/HoH colleague. Zoom does not have first-party captioning. Zoom does not appear to have any reasonable options for captioning. Google Meet has real-time captioning. The captions are pretty OK.

    3. We’re launching a new feature for one of our products, and this feature includes a video. Recently someone asked, “How do I add captions to the video?” This is an interesting question because it combines both an expectation that captions should be added as well as a lack of instructions on the details of how to do it. (Don’t ask about captions for the videos related to the older products.)

  • Mundane Updates about Transportation

    1. The other day I spent an hour or so rearranging the apps on my phone. All the transportation-related apps (buses, airlines, ride share services) have been banished to the last screen of my phone because I have exactly zero plans to get into a vehicle with anyone at all who does not live in my home unless it is such an emergency that I would be going to the hospital by ambulance.

    2. Entirely deleted United Airlines’s app from my phone because I am never flying their cursed airline ever again. I know, I know, I say that, and in some sort of unlikely future when traveling to Europe is a possibility, I’ll end up booking a flight on Lufthansa and then discovering that it is really just a United codeshare.

    3. Today’s unplanned Amazon purchase was one of those power packs that you can use to jump start your car. My car is roughly nine years old, and I have replaced the battery at most once during the time that I have owned it. I go exactly nowhere these days. I had been driving around every now and then in order to keep the battery from going dead, but either I have not been doing that enough or the battery is just not feeling it any more. This is not the first time that this happened: Two weeks ago, the car wouldn’t start, and I paid someone $55 to start it. I drove it roughly 60 miles in hopes of charging the battery. Clearly not enough. Today I was going to drive the car around to keep the battery charged, but it was too late. Dead again.

    4. Before you suggest that I should drive the car around more often, I will remind you that I live in “No Park North Park.” We are fortunate to have not one but two parking spaces. However, they are tandem parking, and my car is the only one that fits in the top of the space. (This space is so narrow that when the mirror in the passenger side is 1/2” away from the fence, you still can’t open the driver’s side door to the first click.) Thus, if I want to drive my car, I would need to find street parking for Jim’s car, walk back to get my car, drive it around, and then go and get Jim’s car and put it back in the spot. (There are rules about when and how long you can park on the street.)

    5. Today’s opportunity for car-moving was made possible by Jim going on a bicycle outing. He drove to some bike trail in North County.

    6. I joke that he should have a subscription to inner tubes because he gets more flat tires than anyone else who I have ever met. Fortunately, the tire did not go flat before he got back to his car because I would not have been able to drive up to get him. It turns out that some sort of cactus spine had become embedded in the tire and then punctured the inner tube.

    7. He does a lot more bike-riding than I do. I do a lot more bike-part-buying than he does because I convince myself that it’s not me but the bike that is responsible for me not riding it, and then I get some sort of modification and then also bring home all of the perfectly good old parts. I forget why I needed to replace a perfectly good tire with a new tire, but I did, so I had a spare bike tire jammed next to my sewing machine cabinet. Unfortunately, my extra tire is a rear tire, and he needs a front tire.

    8. Technically he is ahead of me in bike-part-buying because he has two bikes, one of which is ridiculous, and I only have one. How ridiculous is this bike? The last time he had it serviced at the bike shop, they checked to see if he needed new firmware for the derailleur. (Also ridiculous: The clippy pedals on this bike are not compatible with the clippy pedals for his other bike.)

    9. The derailleur on his non-ridiculous bike is actually my old derailleur. His snapped off when he was riding, and I had replaced mine because I bought a new rear cassette with gears that have so very, very many teeth, and both my derailleur and my chain scoffed at the idea. Confession: My bike is ridiculous in the exact opposite way as his. I have flat plastic pedals, a basket on the front, and colorful LEDs on the spokes.

    10. We get the keys to the house either tomorrow or Tuesday. I thought that it was Tuesday, but then I heard something that might have suggested Monday. I hope that there is some form of transportation that can get me to my new house to pick up my new keys. There are so many sheds on the property that I am lobbying to have one of them set aside as bicycle storage.

  • Odds and Ends

    1. I have been shopping for hardwood floors. I’d had an idea that there were a lot of different types of wood out there, but I still was not prepared for the seemingly infinite selection. Even once we had settled on a type of tree (white oak), there were still a lot of decisions to be made. Fortunately, there are a lot of lovely options out there, so I am now leaning towards “whatever is in stock.”

    2. I live in terror of what is under the carpets. I am hoping that it is just slab covered with glue. However, this house is from 1954, so there could be anything. As part of my anxious overpreparation, I am googling demolition companies in case there is something terrifying like tile. Even more terrifying, what if there is lovely tile that is original to the house? Could I demo that to replace with wood? I really like wood floors, but I also have a preference for historic preservation.

    3. Summary version of tales from the BugMaster: (a) “i have been calcuating the questions for a very very very very very long time and how could i got the answer wrong i am going to say a terrible thing to the manager if this thing continues” The students are all assigned non-personally-identifiable usernames of the form AdjectiveNoun followeb by a two digit number. Petition to add “Karen” to the list of nouns. (b) We’ve been getting bug reports about sounds issues that have been impossible to diagnose because the user doesn’t include enough information. This is not entirely their fault because just about everyone in the entire world is bad at bug reports. A colleague in customer service has figured it out, and her explanation is amazing. Perfect instructions on how to reproduce the bug. (c) The other day I fielded a bug report from the child of someone who I dated in high school. The bug reports are linked to the parent’s contact information (in case we need to follow up), so I am absolutely certain that it is him. Customer service handles all replies, so I will not be sending an email explaining that there are only a small number of colors available in the avatar builder, so one can not make an avatar that is very pale orange.

    4. Several years ago, when I was visiting Germany on a fairly regular basis and making a decent effort to learn German, I joined a local German conversation group. It was a fairly unremarkable group: Meet once a month at a restaurant and speak bad German, receive announcements about the local Oktoberfest or the German-American Society Film Festival. Pretty normal stuff. The other day I saw that the organizer of the group had been arrested at a protest. He was accused of harrassing the protesters, and is viewed as a leading white supremicist in the area. I learned that he has a blog in which he makes many posts opposing the BLM and Chicano movements (and supporting the border wall). I’d been using the word “Nazi,” but apparently this guy has not yet bought in to the “what’s wrong with Nazis” viewpoint and is maintaining a more retro approach to bias. Needless to say, upon learning this, I removed myself from the group.

  • We Bought the House

    I’d been avoiding saying anything much on the internet while we were in the process of buying the house. We were remarkably fortunate that the sellers accepted our offer, and there were only a few minor snags along the way. (There was a truly epic round of Extreme Phone Tag with the mortgage company.)

    The sellers have a rent-back for the next few weeks, so we won’t be moving until some time in September. We’ll still be in San Diego County but no longer in the city of San Diego. For what we paid for this house, you could buy something less than half the size, on 1/8 as much land, and in much worse shape in my current neighborhood.

    I celebrated today by having avocado toast delivered. avocado toast

  • Mid-Summer Update

    1. Now that the weather has gotten really hot, I am working on knitting a sweater. This is not the best timing, but maybe this means that I will finish it by the time that it gets cold again. sweater

    2. I had hoped to make more progress on the sweater this weekend, but we have been house-hunting, and that has been taking up so much of my time. Now that writing software at home is better than writing software in an office, I need a larger home in which to write software.

    3. My notes are missing some key measurements for the sweater’s sleeves, so I am going to have to wait until I can reconstruct my plan. My plan might also keep changing. At one point I was far too into the concept of raglan-dolman, even though I kind of knew that it wasn’t the best idea. I don’t remember what I had planned for the sleeves of this sweater.

    4. We found a house that I am very, very, very interested in. It’s an older home in the “they don’t build them like they used to” sense (mid 20th century). It has amazing details and a huge amount of character (in the good way). I don’t want to say too much about it here because I don’t want to jinx it! Unlike a previous older home that I lived in, this one is not a “fixer,” so I will probably not have to spend my time scouring archetectural salvage to find period-appropriate replacement parts. (But those who know me can guess that I will never stop looking for amazing hardware and fixtures.)

    5. Speaking of attention to detail and pride in workmanship, you might notice that my sweater-in-progress has a sewn hem with a picot turning row. What you don’t see is that my previous attempt at the back of the sweater needed to be ripped all the way back because it flared out to an unacceptable degree. And since I’m knitting at such a loose gauge, I’m using seams to provide structure to the piece. We’ll see how the next steps turn out – once I remember how long I wanted to make the sleeves.

  • More Adventures with Machines

    The knitting machine had thought that this was going to be its weekend to shine. I had all sorts of plans queued up to follow-up on my two-color brioche knitting as well as a sweater pattern that is mostly rectangles. But then Line-us arrived.

    Line-us is a little robot that holds a pen and draws with it.

    Of course, you need to tell Line-us what to draw. Line-us uses a language that is also used by a lot of CNC machines. You can send the pen to a particular (x, y, z) point within its reach, and then you send it to the next point and so on and so forth.


    While this is a delightfully simple file format, it’s not something that you are going to write by hand. Fortunately, there is an Inkscape extension that lets you convert Inkscape paths to robot instructions. Unfortunately, it does not work with the current version of Inkscape. Now I have two versions of Inkscape installed on my computer so that I can use various features that are only in one or the other but not both and sling svg files between them. Also I spent far too much of Saturday trying to rewrite the extension that works with Inkscape 0.92 to see if I could get it to work with Inkscape 1.0. Despite not actually knowing Python, I was able to get it to minimally communicate with the robot but not to actually do anything useful.

    I will take this opportnity to mention that the knitting machine hacking software is also written in Python. You would think that this would motivate me to learn Python so that I could talk to all my machines in their prefered language. But, no, I can not motivate myself to learn Python.

    But as I do have a short attention span and flit about from project to project, I will take a moment to say WHY DIDN’T ANYONE TELL ME ABOUT BOBBIN LACE? Also, once it is safe to go to conferences again, what do I need to do in order to meet Veronika Irvine? In my exploration of Inkscape extensions, I discovered one that makes the most amazing patterns for bobbin lace. And it describes the math well enough that I might be able to steal some of its ideas for cool circular knitting.

    circular symmetry

  • Two Color Brioche Knitting with my Knitting Machine

    Instead of spending the time working on my COVID-19 tracking website (which shows that the number of new cases of COVID-19 in San Diego County have been decreasing for zero days in a row), I devoted the weekend to playing with my knitting machine.

    I have been spending a lot of time sitting on the couch and reading about knitting. One of the things that I’ve been reading a lot about is brioche knitting. Some people use the name “English rib” or “Fisherman’s rib” to refer to this stitch; others insist that those names apply to something similar but different. In any event, brioche knitting is a squishy fabric with prominent ribs. The defining feature of creating it with hand-knitting is that you slip a stitch while simultaneously doing a yarn-over. Morally this is equivalent to doing a regular knit stitch but giving up halfway through and moving on to the next stitch on the needle. In machine knitting, this is called “tuck,” and there is a button on the carriage to tell it that you want to do tuck stitches rather than knit stitches. Do not be confused by the name tuck; it doesn’t seem to have any connection to the other meanings of that word in English.

    Due to the tuck button, it is pretty easy to make one-color brioche knits on a double-bed knitting machine. You cast on for 1x1 rib (or full needle rib if your machine is happy with that – mine is not). Then you set one carriage to knit in one direction and tuck in the other and the other carriage to do the reverse. Easy peasy, brioche knitting. (Fun fact, if you watch machine knitting YouTube videos with the Google auto-captions, when the speaker refers to the knitting machine’s “ribber bed,” the captions will say “river bed.”)

    With hand knitting, once you know how to do brioche knitting, then you can do two-color brioche knitting, in which the ribs on one side are one color and the ribs on the other side are the other color. When knitting in the round, you need to go around once with each color to knit the full round: You do the knits with one color and then the purls with the other color. In flat knitting you do one color then you slide the work back so that you can do the row again with the other color. Neither of these strategies work particularly well with home knitting machines. These machines don’t do any sort of ribbing in the round. The operation of “slide the work back” is super annoying because you need to take the yarn out of the carriage, switch how the buttons are set, put the yarn back in, and then reset the buttons correctly.

    This weekend I found an alternative. And I mean “found” in the sense of “Columbus discovered America.” Lots of people must know about it already, but I was previously unaware of it. I was able to use a stitch pattern that was relatively easy to knit on my knitting machine and that looks a lot like two-color brioche.


    Note that this swatch no longer exists. I have ripped it out and rewound the yarn. This yarn is Noro, and the knitting machine was not happy about the thick-thin texture and all of the leaves and twigs and whatnot.

    In order to make this work, I did two rows with each color. Work the main color across and back, then switch to the contrasting color. Work the contrasting color across and back and then switch back to the main color. In machine knitting lingo, I set one carriage to knit both directions and the other to tuck both directions (KK/TT) and knit back and forth with the main color. Then I set the first carriage to tuck and the second to knit (TT/KK) and used the contrasting color. I repeated this pattern until the machine started crying about how Noro yarn is impossible to work with.

    In term of hand knitting what this would mean for flat knitting of brioche is that you would use one color to go across and back, then you would use the next color to go across and back, like normal knitting (no sliding the work to the other end of the needle). The strategy would be to start with the main color and knit a row of brioche like normal. And then on the way back, work the normal stitches normally and for the doubled-stitches (stitch + yo), do that again: slip again and add another yarn over. Switch to the contrasting color. This is sort of like normal brioche stitch again, only instead of working a stitch together with its yo, you work the stitch together with both of its yarn overs and do the slip+yo to the other stitches like in regular brioche. And on the way back, work the normal stitches normally and add another yo to the slip+yo stitches.

    It’s hard to explain for hand knitting without pictures or a video or something, and I don’t have time now for either of them right now. Much easier to describe for the machine. Too bad the machine hates Noro so much.

subscribe via RSS