![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Rabbit! Rabbit! Rabbit!
Happy Kalends of Sextillis! Are you ready for Nemoralia?
Dani and I both concluded, at about the same time, that our office chairs were past their use-by dates. We both also want to test a chair, not just order blind, so we headed off to a well-stocked office-supply store and found replacements. (As it turned out, we both liked the same model.)
While we were there I asked if they had any kneeling chairs, because I'd like to try varying my posture. I had one of those 30+ years ago that I liked (at work), but also encountered several I didn't like, so I definitely want to try first. (Also, I don't know if it's compatible with the arthritis that is starting to form in one knee.) Alas, the sales rep said, that business has moved entirely online, so I gave up on that.
I had a height-adjustable (sit or stand) desk at my last job, back before Covid. Replacing my current desk would be a pain (as well as expensive), but after we got the chairs I started looking at "adapters", an adjustable thing you can put on your desk to raise a platform rather than the whole desk. Many of them make strong (maybe even binding) assumptions about monitor placement that do not work with my vision, but eventually I found a "just raise this (basically) rectangle and don't do anything else" model with metal, not plastic, core parts.
With nothing on it the platform lifts easily (there's a control on one side). With a monitor that is well below the rated weight limit, the first few inches of lifting are a fair bit of work, and then it goes fine. Lowering is easy. I switch back and forth once or twice a day, so that initial push is ok; if I were working full-time and wanting to change it up every hour or so, it might be more annoying.
I thought of half of a second-order effect. With this setup, even with the desk lowered the platform is about three inches higher than the desk surface. That's ok, I said; I'll just raise the chair. I rejected similar products that added more "resting" height; I did think about this. The part I didn't think about is that I'm short, so that change to chair height makes the difference between my feet reaching the floor and not. So now I am experimenting with footrests, courtesy of a friend, one of which is visible in the photo. I think this is the style I want, particularly if I can get a wedge of foam to stick in there to hold the "V" shape.
It all goes to show that you can't change just one thing. So far, though, I think this is working out.
[Major Tom, a big grey tabby, lounges on his side under a camping chair. Sparse, yellow-green grass grows around him. He’s staring just to the right of the camera, whiskers perked but ears at ease.]
Major Tom did really well, & I’m proud of him! But it took him a couple of days.
He didn’t want to leave the van at all, during setup. He was perfectly happy there — purring, kneading, entirely content with his life — but actually _leaving_ the van was apparently Right Out. I had to pry him out eventually, of course, but I waited til it was time to park the van, & he had his Uncle Ivar to keep an eye on him. Once I was back, he actually came out far enough to realize that Uncle Ivar has a vardo, & decide that it was just as congenial a spot for a tomcat as my vardo is.
The next day he barely left the sleeping tent, but I hadn’t expected him to. He peeked out a couple times, & ventured over to Ivar’s vardo again, thus setting the pattern for the rest of the week, which was ‘spend as much time in a vardo as he’s allowed to’. Alas, the vardo in question is enough smaller than Tyrava that it heats up quite a lot more, so we had to pry him out in the early afternoon every day. He didn’t love it, but he accepted his fate.
… what worked to get him to actually stand up & head outside every time? Me telling him that his public was waiting for him.
He’s getting the hang of it.
[Major Tom, seen from above, is flopped on a pile of red, white, and grey fabric. His ears are firmly stuck out to the side.]
He also, of course, interfered with my sewing, but that’s what he’s a cat for.
Loiosh had his usual excellent time, spending most of his days asleep, & also a lot of his nights, but then, he’s an old man.
[Loiosh, an orange tabby wearing a green harness, is half-curled up, asleep, on top of a patchwork wool blanket. The end of his tail is curled round til it’s almost a spiral.]
He did have his usual shenanigans, which I mostly failed to get pictures of, but he did enjoy thwarting CJ’s attempts to keep him from being A Pest.
[CJ is sitting between the display tables; he’s wearing a long blue tunic and a white linen coif. Loiosh is standing on his lap, wiggling to try to get free of CJ’s arms, which are loosely wrapped around him. One of Loiosh’s forepaws sits right at CJ’s elbow, a claw stuck in the fabric; his head, twisted around to stare grimly away from CJ, is all the way over at CJ’s hand.]
But then, that’s the boy.
[Loiosh has unstuck his claw, and is now leaning dejectedly against CJ’s arms, head turned just far enough that he’s still not looking at CJ’s face.]
He also got to meet Marisol’s sister Alexx, who travels with Morgyn’s mom, & instead of promptly chasing her out of the booth he gave her a good long sniff — she actually growled at him first! So she absolutely smelled familiar. Alas that Alexx wasn’t feeling near so potentially friendly …
originally posted on Patreon; support me over there to see posts a week early!
Oh, and here's a little note worth calling out:
Over the past year, I've been getting more into Scottish Country Dance. I'm by no means an expert -- sadly, I've had to accept that I'm not as bouncy as I once was, and after fracturing my foot a couple of years ago I'm allowing my style to be loose and sloppy -- but I've become a regular member of the Gender-Free Scottish Country Dance class happening in the NESFA Clubhouse twice a month, and am quite enjoying it.
A couple of weeks ago was ESCape, the annual Pinewoods week co-hosted by the local English, Scottish, and Contra communities, which has become a highlight of my annual schedule. Classes all day and balls all night, it's a dancer's dream, and the community is relatively young, queer, geeky, and thoroughly fun to be around.
A particular tidbit this year was the day where Sorcy taught McCloud's Wedding (? I think that was the name), a delightfully weird, intricate, five-couple dance where basically everybody is active. Wild stuff, and at the end of the rather large class they asked for ten volunteers to perform a demo set during the ESCape Chocolate Party on Thursday. They got over a dozen volunteers, so I demurred, but told them that if they came up short, they should pull me in.
Not astonishingly, the party rolled around and they were short on people, so I got grabbed for a quick once-through and then on to the performance. And it was caught on video, so if you're curious what this SCD stuff looks like (in a rather complex form), give it a look!
Wow, I've completely failed to do any long-form posting lately. Mastodon is a seductively easy outlet, encouraging quick thoughts (and occasionally rewarding them highly with boosts and faves) without the effort of serious writing. I'm kind of disappointed in myself in principle, but not sure whether it's likely to change.
That said, it's been A Lot recently, so let's catch up on some stuff. This is going to be a bit of a long wander across several topics; hopefully it won't be entirely boring.
As promised, I took three months off for a sabbatical, before starting to look for a new position at the beginning April. I did talk to a few companies, but in practice, it turned out to be all about Networking, as usual.
When I say "it's all about Networking", mind, I don't mean spending all my time pressing the flesh at cocktail parties. Real-world networking mostly consists of being good to the people around you, helping them out when you can, and being pretty clear about when you're looking.
In practice, I got Just Plain Lucky this time. Right around the time I started looking, I got a ping out of the blue from Carlos, asking, "Hey, Justin -- would you happen to be in the market?" After a response of, "Wow, good timing", we got to talking.
To explain this, I have to step back half a dozen years. From around (it's complicated) 2017 through 2021, I was working for Rally Health, primarily on a project called Rally Recover. Recover was great -- a product I was really proud of, to help surgical teams keep in touch with patients post-op. There was a lot to it, but the backend was mainly three of us: me (the Scala expert), Steve (the Ruby on Rails expert), and Carlos (not quite as expert in either, but solidly good at both, so he acted as the essential glue).
Sadly, Recover got cancelled -- great though it was, Optum (our Corporate Overlords) weren't figuring out how to sell it effectively. So our team got shunted onto A Project Of Which We Will Not Speak (suffice it to say, it was a political clusterfuck, and largely collapsed after six months), and thence over to start building a new product called OnePass.
I laid down a good deal of the technical foundation of OnePass (built in my preferred stack: Scala, using the Typelevel functional-programming framework), and was having fun on it when The Merger happened.
Like I said, Rally had been a wholly-owned subsidiary of Optum (which itself is part of the UHG empire). We'd known for most of a year that Optum had decided to absorb Rally, and a lot of folks were nervous about that, but I'd initially blithely said, "We build all of the best software in Optum -- surely they won't kill the goose that lays the golden eggs, right?"
But some months later, one or two senior folks who I particularly trusted abruptly left, so I started to get nervous. I wound up interviewing at Troops while on vacation in Hawaii in late 2021; by the time I got home, the merger had happened, and I survived precisely one day at Optum before noping out, giving notice and joining Troops.
Anyway...
After four years "incubating" at Optum, they apparently decided that OnePass was going to thrive better as an independent company, so they were spinning it off. Carlos knew that I don't enjoy working at a corporate giant like Optum, but a scrappy startup like OnePass is becoming is right up my alley.
So basically, I'm boomeranging back to my old project, even through it's a completely new company. I know that I like the tech stack, and I can probably bring a lot to the table -- it seems like the right move.
My first day is tomorrow, so I'm preparing for the roller-coaster now...
During the sabbatical, and even more during the subsequent months while negotiating things with OnePass (we agreed to wait until the company was fully established before starting the process, so it's taken a while), I've been finally making progress on Querki.
Reminder for those who haven't been following it forever: Querki is my little garage startup, which I've been working on (with a lot of help from Aaron, who also owns a chunk of it) for a dozen or so years now. It's a hybrid between a wiki and a database, designed for "small data" problems -- enabling individuals and small communities to keep track of and organize stuff.
Fairly early on, I made a decision that seemed like a good idea at the time. Querki was built using a product called Conductr -- an early "containerization" system that was optimized for the Scala/Akka architecture that Querki is built on. It seemed like a good fit, and as a result I wound up as the smallest customer for Lightbend, the consultancy behind Scala, Akka, and Conductr: we had a handshake agreement that I would alpha-test Conductr and help them work out the kinks.
But things change over time. Lightbend decided not to be the primary supporter of the Scala 3 language (which is instead managed by the Scala Center), and has instead doubled down on Akka; indeed, they changed the company name to Akka recently.
And Conductr? It just kind of quietly died. It was a clever idea, but Kubernetes sucked all the air out of the containerization room, and there was no point in competing with it.
Querki was, AFAIK, the only third-party product ever built using Conductr (that is, the only one not built by Lightbend). And by the time Conductr was clearly dead, I had a dayjob, and didn't have time to extract it from Querki's architecture.
But there was a huge problem: Conductr was invasive. Much of its power came from the fact that it was actually laced through the application itself, not just wrapped around it. And it was built using Scala and Akka.
Which meant that Querki was bound to the specific versions of Scala and Akka that Conductr had been built with. And Conductr was dead.
So Querki has been stuck on an increasingly antique platform for the past ten years. I was able to make some progress on features during that time, but have been more and more stuck because of that.
So the sabbatical was spent learning enough about AWS to figure out how to do the things that Conductr had been providing, and then "ripping out the tablecloth" -- rewriting Querki so that one day it was built on the Conductr architecture, and the next day it wasn't.
Since then, I've been speed-running a decade of ecosystem evolution: step-by-step upgrading Scala, Akka, Play, and dependencies. That's not yet done (indeed, there's quite a lot to do yet), but making progress has been extremely satisfying, and I'm probably halfway there.
(The next step is upgrading from Cassandra 3 to 5, because Querki's Cassandra host will be removing support for 3 late this year. Thank heavens I've gotten as far as I have, or we'd be in serious trouble come November.)
The plan is to get it all up to Reasonably Modern -- probably not Scala 3 (which is a big jump), but modern versions of Play and Akka (or more likely Pekko, the open-source fork that got set up when Akka locked down its license). Then I'm going to fix a few horrible long-standing bugs (eg, Eric discovered the hard way that Querki Spaces start having serious trouble loading if their history becomes very long), and make some long-desired architectural changes (in particular, rewrite the heart of the QL engine to use cats-effect and fs2). And then I can figure out what comes next.
I've mentioned before that I'm on the Steering Committee for Typelevel, the above-mentioned organization that OnePass (and many other companies) is built on. Suffice it to say, there are some changes coming there: it's not all public yet, but I expect my responsibilities to grow in the coming months. I've been avoiding taking on additional responsibilities elsewhere as a result.
That said, it's been a busy year for me in the SCA, especially for my two offices.
I've been Baronial Chatelaine (the new-people officer) for just about three years now. I mostly enjoy the work, but I've been getting a little toasty, and was starting to get quite worried by the beginning of the year: I wanted to hand it off, but had no idea to whom.
Once again, I got super-lucky. Within days of each other, around the time of Birka, Thorfinn and Revna -- both of them young, energetic fighters -- asked whether I was looking for a deputy. I gratefully said absolutely, and suddenly found myself heading a Chatelaine team, which is a vastly healthier state of affairs.
Both of them have been very helpful, and Thorfinn in particular has been a force of nature, doing much of the work to drive the new Baronial Discord, working with the Webminister to improve our site, and generally help new folks. So I'm happily trading places with him around now (we haven't really worried about exact dates, but Pennsic is my three-year anniversary), with him stepping up as Chatelaine and me stepping down to Deputy. I expect that to continue to work well.
One of the questions I kept hearing from new folks was, "Do you have a dance practice? I'd like to try dancing!" And of course, we allowed Dance Practice to go quiet a year or two ago, so I didn't have anything to tell them.
So early this year, I basically declared that I was coming back as Dancemaster, but changing it up a bunch.
Aaradyn managed to get us the "friends and family" discount for the church she works at, which eased the way a lot -- having a nice site within walking distance of Harvard Square made it much easier to get things going again.
Since we've had difficult sustaining a frequent practice in recent years, I decided to scale it back to monthly for the time being. That allows each Dance Practice to be a bit special, and lets me lean into the publicity harder.
And I decided, entirely on my own recognizance, to start running it using the gender-free "Larks and Robins" protocol. That replaces "Lords and Ladies" -- it's mnemonically brilliant, and I've been using it with great success for the Arisia Renaissance Ball for the past couple of years. The younger dance community in this area are largely used to it, and I'd very much like to bring in some of those folks, so I decided that we're going to follow along.
It's going reasonably well. We're not getting the 30-40 dancers we had in our heyday (much less the 150 who show up for the BIDA contradance in Porter Square), but we're generally getting a decent critical mass, including a fair number of new folks. I'm taking the summmer off, but plan to continue in the fall -- it's being a good deal of fun.
Suffice it to say, I'm trying to keep my head on straight during these "world on fire" times. It's not easy, finding the right balance of staying engaged while not letting myself fall into fear or depression, but so far, so okay.
I miss y'all! I'm trying to stay social, but opportunities don't present themselves enough. I hope to see folks more: we need each other, if we're going to stay sane through all this.
As always, comments and questions on any of this highly welcome...
My mother has never learned to use computers, aside from a smartphone that she uses for calls and texting with the grandkids. After my father died and she asked me to do something with my father's several desktop and laptop computers, she cancelled their Internet service that she wouldn't be using. But she held onto my dad's newest tablet, thinking she could use it to browse news and look at photos. This requires a network connection, so I set up her phone for tethering, set up the tablet to automatically connect to that network, and showed her how to turn that on and off on her phone. (I described this as "turning on Internet for the tablet".)
In the end she found this too difficult and she's never used that tablet, so this week she gave it to me. It's an iPad Pro (3rd generation, 12.9") and comes to me with a keyboard cover and a couple of Apple pencils. I'd already downloaded his Apple cloud backups more than a year ago, so I could safely reset the tablet. I'm new to iOS (I use Android), so I figure this is a chance to check it out before the next time I need to replace a phone or tablet. I'm happy to accept pointers, app recommendations, and warnings. I do have a Mac desktop, but their mobile setup is new to me.
Apple aims for intuitive user interfaces, but that doesn't mean they always succeed. When deleting personal information as part of resetting, I had to enter first the PIN and then my father's Apple password. That makes sense. After I entered the password I hit return, but there was no visible change. I hit return again, thinking it hadn't taken, then tried delete to see if that changed anything, and concluded that it was stuck. I let it sit there for a while. Five minutes later, I got a "no connection" popup. Ok, yeah, now that you mention it I should have realized I'd need to connect it to my WiFi for that to work, but if it had given me any indication of what it was doing ("connecting...") while it was doing it, I would have known (a) that it was doing something and (b) that I needed to fix that. Instead, the interface just gave me a mystery for a while. Oops.
Those two Apple pencils are an as-yet-unsolved puzzle. My mother gave me one that was with the tablet (there's a magnetic connection) and one in a box that she thought was new (my father ordered it but never got a chance to use it, she thinks). The two pencils look identical to me, except that the one in the box is missing the plastic cap that should be on its stylus. The plastic cap from the other one does not fit it -- so they seem to be different, but that's my only clue. The box says "2nd generation". Something I found online describes the first generation as round and the second as mostly round with a flat side (because it was too easy for the first generation to roll off of desks). Both of these have that flat side, so I conclude that my father replaced one second-generation pencil with another, but if so, I am left wondering why the cap from one doesn't fit the other. I have no idea which of these is actually newer; maybe he did replace it (maybe he broke his first one?) and he put the old one in the box the new one came in? So many mysteries.
The tablet is now busy updating from iOS 17.1 to 18.5. Yeah, it's been offline a while.
I'm bringing together a couple of related things here.
First is the essay linked below. It addresses a frustration I have inside
my own head -- how can regressive/evil politics be fought against when much
of it is presented in a slick and appealing format? When it seems the
loudest proponents are outright lying, they know it, but pretend
otherwise?
Fighting on that ground is against my religion! We must treat
bad faith as disqualifying.
How Liberalism Sabotages Itself Our intentional blindness to bad faith is a loophole fascists use to gain respectability and power. -- Brian Beutler
CV summary: You can't win a discussion with people who view deception as fair means to their political ends. Liberal freedoms are merely loopholes to exploit in their pursuit of power.
Quote: "means-to-an-end-style of bad faith in discourse is endemic on the right—not just among ascendant fascists—and has been for a long time. ... Estelle lays out the method plainly: Rightists appeal to whomever they can with whatever false commitments they intend to break, knowing that, once delivered to power, they will pull the rug."
https://www.offmessage.net/p/how-liberalism-sabotages-itself
The related second idea is in the graphic below. Here is the text (which of course I corrected punctuation, because I can't not do that.)
The paradox is: should you be tolerant of people who are IN-tolerant? The people who are jerks will insist you tolerate them.
thoughtportal wrote:
The Paradox of Tolerance disappears if you look at tolerance, not as a moral standard, but as a social contract.
If someone does not abide by the terms of the contract, then they are not covered by it.
In other words: The intolerant are not following the rules of the social contract of mutual tolerance.
Since they have broken the terms of the contract, they are no longer covered by the contract, and their intolerance should NOT be tolerated.
commasameleon replied:
As someone who teaches rhetoric this is a wonderful response to the Paradox
of Tolerance.
I cannot tell you how many times my students have had debates about this.
This is the response. This does indeed fix it. I cannot wait to tell this
to my classes now.
Philosophically and rhetorically, this completely resolves the Paradox of
Tolerance and I am floored by its simplicity, and I am angry I never saw
it before!