• Adventures

    I was hoping that I would be able to tell the amazing story of an amazing adventure. Unfortunately, the adventure got canceled. Since it was canceled, the story is not particularly interesting, so I will just summarize.

    A woman who lives about 10 miles from me was selling 30+ knitting machines for $5000, which is an amazing price. There were not only knitting machines but also ribbers and garter carriages and color changers and an assortment of accessories. I had considered buying them all, keeping a few to use, and then storing the rest in my sheds + garage until I could sell them, but that was ridiculous.

    As will surprise no one at all who knows me, my solution to there being too many knitting machines for me to handle was to cold-email someone who I’d encountered on the internet to see if we could go in together on the knitting machines. This turned out remarkably well until yesterday. Shortly before we were supposed to go and get the knitting machines someone else picked up the knitting machines! My plans were thwarted, and I did not get to have an amazing adventure with vintage machines and nice strangers from the internet.

    We’ve also had a sadder and much more troublesome $5000 adventure around here. Last week I heard the cat-throwing-up-noise, but since the cat was in the bathroom on the tile floor, I just let her be.

    I’m not very good at building up the narrative arc of this story; based on the past two sentences you know that the emergency vet is involved. I will also summarize this adventure. Spoiler alert: Gwen is still alive.

    We went to the emergency vet, which was having a multi-hour wait for pets to be seen, and Gwen was triaged to the front of the line because she was having trouble breathing. Based on her breathing trouble, her slow heart rate, and her low body temperature, they assumed that she was experiencing heart failure.

    As will suprise no one at all who knows Gwen, she has pretty much willed herself back into some semblance of health. Her heart seems fine. After a few days she was discharged from the hospital. They did a bunch of blood tests, an x-ray, and an ultrasound. The current thought is that she has pancreatitis and that made her barf and the process of barfing made her faint and the fainting is what made her seem so sick.

    She’s not feeling great, but there still is a chance that this 17-year-old cat will outlive us all. And I continue to wonder who thought that it was a good idea for cat anti-nausea medication to be a pill.


  • Like Training Cats

    One of the nice things about spending more time at home is that I get to spend more time with Gwen and Sophie. Other people in my line of work might be training machine learning models, but I am training a cat.

    I’d tried training Sophie years ago. I started with big plans: I was going to train her to shake hands. This would be a very impressive trick for a cat. The real problem here is that Sophie hates to have her feet touched, and it was pretty clear that no amount of positive reinforcement would convince her otherwise. There is a little bit of that earlier training that remains. When she wants something, she’ll pick up her foot (and then put it back down before you can touch it).

    More recently I tried training her again, this time with more modest goals. I decided that I was going to train her to sit. Since sitting in a thing that she does, this seemed eminently possible.

    I’m clicker training her. If you haven’t heard of clicker training, the main idea is that you start by teaching the cat that when she hears the click that she is going to get a treat (Sophie picked that part up pretty quickly) and then you up your standards for what deserves a click.

    I’ve tried to attach a four-second video here of Sophie sitting on command. I wasn’t about to open a YouTube account to upload a four-second video of my cat sitting just so that I could embed the video here, so I’ve tried including it using HTML5 video, which apparently only works for some people and some browsers only some of the time. Thus, I shall give a second-by-second description of the entire video.

    0:00 Sophie is standing on the floor, facing away from me.

    0:01 I say “Sophie,” and she turns to look at me.

    0:02 I say “Sit.”

    0:03 Sophie sits!!!!!!!!!!

    0:04 I click the clicker and then turn off the phone video and grab a treat off my desk for her.


  • Robots and Aliens

    By request in the comments, I have asked my robot to draw ET.

    Robot drawing ET

    My iPhone is not capable of taking a video of the robot drawing the picture at the same time that it is sending the robot the directions on how to draw the picture.

    In other news, I have re-knit the first sleeve of the sweater (now only 1.5 inches too long) and have started on the second sleeve. In further continuation of my suburban existence, I have purchased a leaf-blower and plan to blow leaves this weekend. At work I am still building a data warehouse and have decided that giving our regular server the ability to connect directly to the data warehouse and then writing a dashboard from scratch in JavaScript is easier than using a Business Intelligence tool.

    In other other news, I am eagerly awaiting Apple’s release of the new MacBook Pro with the new chip. This blog has been taking longer and longer to build on my laptop from 2013 (the newest computer that I own), so I tried to install newer versions of the blogging software. This led to me having to upgrade all sorts of versions of all sorts of other things. Some of these complained that my compilers are all too old. But the newer versions of the compilers complained that my operating system is too old. And there is no way that I am going to put a 2021 operating system on a 2013 laptop with 4GB of memory and a 128GB drive.

    I will note that I was successful at getting old compilers to compile new things, and now the blog builds in only 9 seconds. As anyone who develops software on a Mac knows, nothing else that was ever installed with homebrew works anymore.


  • My Neglected Blog

    I’m not dead. Not anywhere close to dead. Haven’t been sick. Haven’t been going through anything particularly rough. I moved, and that changed so much about my regular schedule that blogging sort of fell by the wayside.

    I had thought about writing about so many things, but then I never made time to do them. Several months ago I had so much to say about Hilaria Baldwin. I had never even heard of her before everyone was talking about how she was pretending to be from Espain. There are definitely different levels of pretending to be from somewhere else. When I am in NYC and someone asks me where I am from, I will say “Albany,” no matter where I am actually living at the time. The kid who sat behind me in eighth grade English pretended that he was from Alberta. Someone I grew up with started pretending to be from one county north of where we lived, but this is sort of understandable if you are trying to be fancy and you are really from Albany Schenectady. Putting the whole fake-Spanish thing aside, Hilaria Baldwin named her first two children after Teenage Mutant Ninja Turtles and then gave up on the theme.

    If anyone finds this blog after following the link on my LinkedIn profile and came here expecting serious business updates, you might be disappointed by the fact that I am posting about very stale news about a minor celebrity.

    However! This blog is very useful! Which is why I am finally updating it today. On Friday I was working and doing work-stuff, and I was getting a really stupid error. My data structure was full of nonsense, and it was very clear that things had gone extremely wrong. Normally what one does in the software biz is to google the error message. But in this case, there was no error message. There was just mangled data. I bravely googled some key features of the nonsense. You probably see where this is going. About halfway down the first page of search results was a link to this very blog. Long story short, this sort of nonsense happens if you don’t check that the thing that you’re conditioning on actually exists before you start seeing if it applies to stuff.

    In other serious business news, I am helping to build a data warehouse! So far it is not living up to my dreams, but if the performance gains are something as simple as “still runs slowly but does not time out with a 502 error,” I will probably take it. Perhaps vendors of business intelligence software will find this blog when I reach out to them about buying some software. Hello vendors! We have promised everyone that this data warehouse is going to solve all the problems that we have not been able to solve by trying to run analysis queries on the production database. My secret suspicion is that this is going to turn out sort of like a rich parent buying a very powerful sports car as a birthday present for a 16-year-old who doesn’t know how to drive. Hashtag big data! Considering how much we already pay for SaaS, might as well get us a nice data warehouse.

    In less serious, less business news, I have too many hobbies and do not allocate time to them appropriately. This weekend I knit the sleeve of a sweater, and now I have to rip it out and start over because I was not getting row gauge. I find this crazy because I was getting stitch gauge, but row gauge was so far off that the sleeve was almost three inches too long by the time that I realized where all this was heading. This time spent on the ill-fated sweater could have instead been spent working on getting my robot to draw cool things or setting up one of my Raspberry Pis to supervise various IoT devices.


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


subscribe via RSS