Today marks the sixtieth anniversary of the day that the Massachusetts Bay Transportation Authority (MBTA) took over the Boston transit system from the previous Metropolitan Transit Authority (MTA). The previous MTA had covered 14 cities and towns, and it was recognized that Greater Boston’s transportation needs were more regional; the MBTA district originally covered 78 cities and towns and now includes over 100.
Continue readingQuechee Balloon Festival 2024
I decided once again to book a flight at the Quechee Ballooon festival. I had high hopes after last year’s washout, especially considering that the weather had been great in 2012, 2013 and and 2018.
I’d originally planned to take the motorcycle up. I’d booked my flight for Friday evening, figuring that if there was a weather problem, there was more of a chance of picking up a standby flight. As the weekend got closer though, it became apparent that there were thunderstorms due to roll through.
Continue readingSix Months
Today marks six months since Mum died. I’m not sure how I feel about it.
Day to day, I’m mostly OK; just working or hanging around. I seem to be wasting most of my time off just playing game or watching YouTube. I do feel like I’m rattling around in this empty house.
Other times, I find myself really missing her. I went to see Vienna Teng for the first time in years a couple weeks back, and I was afraid I was going to lose it if she sang “The Tower”, because Mum was very much The Tower, “the one who survives by making the lives of others worthwhile”.
Sure enough, she did sing it, and I did get a catch in my throat, when she sang the part “I need not to need/I’ve always been the tower” and remembered how much she hated needing me to help her, after her strokes, but I was able to hold it together and enjoy the rest of the show.
When a sailing ship has to sail against the wind, it can’t do so directly. It has to approach the wind diagonally zig-zag fashion; this is called tacking. Occasionally, if the ship isn’t trimmed right, or if the ship is turned onto the next tack before it has gathered enough speed, it will be “caught in irons,” stuck, with its sails shivering uselessly. The only thing the crew can do is back the sails, get back on the previous tack, gather way, and try again.
I feel like I’ve been caught in irons, and am just starting to make way.
Waterfire, June 1, 2024
I first went to Waterfire shortly after starting to work in Providence. My coworkers were talking about it, so when there was a Friday Waterfire scheduled, I decided to stick around for it.
I often went while I was working in Providence, but less so once I stopped. At some point, I asked Mum if she’d like to go; she was always good for tagging along, and it turned out she enjoyed it too.
Continue readingEclipse
For as long as I can remember, for as long as I’ve known what they were, I’ve wanted to see a total eclipse of the sun. Lunar eclipses are relatively common, and a little underwhelming; I’ve seen partial solar eclipses; they’re… OK, but I’ve always wanted to see the glowing corona.
Continue readingMore Tinkering with Concentration
I’ve been tinkering again with my Concentration game.
It started the day after Thanksgiving. I was stuck at the car dealership, waiting while they fixed my car, and decided to scratch a couple of long standing itches, and then, as I’ve been playing with it, I’ve been noticing things and fixing them.
There are now styles for larger screens. On my laptop, the default puzzle size was starting to feel small. When I created the Angular version, I added responsive styles directed at mobile devices; I’ve now added another size class for bigger devices — the puzzle is larger, while the prizes stay the same size.
I had a dickens of a time adding this, partly because there are a lot of off-by-one (or two) issues due to the gaps between trilons, and partly because I’d forgotten how the trick of laying out trilons worked. I got it working, and then a couple of days later, reworked it again, setting up a couple of Sass mixins to handle it.
Next, I improved the game end transitions. One sore point — it’s even been pointed out to my by an end user (Hi Glenn!) — was that when the board was resetting itself from the puzzle state to the number state, it passed through the prize state. This was a consequence of the way the trick worked.
The number face has a rotation of 0°, the prizes a rotation of -120°, and the prizes are -240°. The turning of the trilons is accomplished via a Cascading Style Sheet (CSS) transition — you specify the property that will be changing, and tell the browser how long you want the transition to last. The browser then animates the change, gradually changing the value of the property over the specified time from the starting value to the ending value.
This works fine when moving in normal game order; when a number is clicked, it animates changing the rotation from zero to -120°, making it look like the trilon is rotating clockwise. And in the case of a non-match, there is no intermediate state as it rotates counterclockwise back.
Unfortunately, at the end of the game, we would prefer to continue going clockwise from the prize state to the puzzle state, but the transition from -240° to 0° is a counterclockwise one, taking us through the prize state.
I tried fixing this before, by temporarily making the number state -360°, which is visually the same as 0°. Unfortunately, the transitions made the trilons spin like whirling dervishes.
This time, it occurred to me that what I needed to do, in addition, was turn off the transitions first, pause for part of a second, and then make the number state be -360°. I then pause for another fraction of a second, re-enable the transitions, and then set the trilon state to number. The transition from -240° to -360° is the desired clockwise motion. I then wait for the transition to complete, turn off transitions again, restore the number state to 0°, wait a fraction of a second and re-enable transitions. This gives a smooth reset to start the new game.
I’ve been tinkering with puzzles and prizes. I’ve added a couple more puzzles — there are now 12 — and added more prizes, both good prizes and bad prizes. I’ve been playing the game a lot myself lately, and the same prizes do repeat. There’s not much to be done about that except to add more.
I’ve been tinkering with the innards of the style system — repetitive code has been replaced by Sass mixins. I’ve also been playing with the speed of the rotation. Previously, the animation was linear, running at a constant speed. I’ve added “easing”, so that the rotation starts slow(ish), speeds up, then slows down again; this better reproduces how the physical trilons worked. This necessitated changes to the overall trilon speed — for a while, it was too fast, then it was too slow. Now it feels about right… just about the speed of the Jack Narz board.
Speaking of the Jack Narz board, I’ve more closely matched the colors. It’s hard to match the colors exactly, since I’ve been picking up the colors from YouTube videos that are full of compression artifacts, but it is closer, It will never be an exact match since the font is different, but it’s closer.
Finally, I noticed that there had been a regression between the jQuery and Angular versions of the board. I was idly playing with the old version, and noticed a pronounced perspective effect on the turning trilons that wasn’t present in the Angular version. It was supposed to be there; I’d copied the perspective and transform-style properties over. But it wasn’t.
It turned out that the problem was an artifact of how Angular renders components. Unlike React, which only renders the HTML elements within the React Component, an Angular component will render a custom HTML element representing itself. So, the rendered Angular source for a trilon looks something like this:
<ca-trilon _ngcontent-ndj-c21="" _nghost-ndj-c19="" class="ng-tns-c21-0 ng-star-inserted" style="">
<div _ngcontent-ndj-c19="" class="trilon state-number row1 col2">
<div _ngcontent-ndj-c19="" class="face num">
<div _ngcontent-ndj-c19="" class="inner">
8
</div>
</div>
<div _ngcontent-ndj-c19="" class="face prize"><!---->
<!----><div _ngcontent-ndj-c19="" class="inner ng-star-inserted">
Green House
</div><!----><!---->
</div>
<div _ngcontent-ndj-c19="" class="face pzl" style="background-image: url("/assets/puzzles/pzzl-005-2x.gif"); background-position: -302px -98.5px;">
</div>
</div>
</ca-trilon>
What this means in terms of the style system was that there was an intervening element — the <ca-trilon>
element — between the element that had the perspective on it, and the <div class="trilon>
that had the preserve-3d
style on it.
This required massive changes to fix. I had to apply styles to the <ca-trilon>
element — height, width, and the preserve-3d
property, as well as make it display: block
. This threw the layout of the board totally out of whack. Previously, each trilon had been placed absolutely with a fixed top and left position; I removed this, and changed it to a simpler flex-box arrangement. I then had to fudge all the measurements until there was the proper amount of space around each trilon, and the puzzle as a whole… and then repeat that for the other two sizes. Happily, in the end, I think I’ve wound up with simpler code in the end.
Although I did successfully get perspective working, I found that the effect as implemented in the jQuery version was too strong. It was especially noticeable at number 30 — the corners of the rotating trilon appeared to be moving through its neighbors. You control the perspective effect by specifying a number — think of it as specifying how far away the vanishing point of a perspective drawing is. The smaller the number, the stronger the effect. The jQuery original used 700px; I’m using 2800px for this. Number 30 doesn’t seem to clip, but there is still a bit of a perspective effect as the trilon rotates, making it look more like the back edge is receding.
Finally, a couple of housekeeping items. I used ng new
to create the original shell of the Angular application, giving me an Angular favicon. I’d also set the document title to “Concentration/Angular” as my original intention was to also create a React version. I’m not so sure anymore that I want to do that. So it’s now just “Concentration”, with the classic “Mystery Logo” as the favicon.
Flooding on the Charles
We’ve had a ton of stormy weather over the past few weeks, and a lot of water has fallen, so it was not a surprise to see a river flood warning on my phone the other day. When I took a closer look at it, though, even though it was tagged for this town, it was in reality for Norfolk county, specifically the Dover-Medifield area.
I’ve become familiar with that area, first from rides on the motorcycle, and also from a number of kayak trips. My first drone flights were from the grounds of the old Medfield State Hospital. So I decided to head down and take a look. The alert mentioned some road flooding, but I figured I could always stop short and turn around.
Continue readingHindsight, Regrets, Recriminations and Wistful Wishes
It was a long four years between my mother’s first set of strokes, and her death. While I do feel that overall, we did our best to take care of her, I would not be human if there weren’t things that I regret, or would do differently if I could.
She spent the first couple of years back here at home. She returned after four months of rehab in January of 2020, right before the pandemic started. Overall, she did well for the first year, though it was unfortunate that she lost some outpatient rehab time due to COVID shutting down the rehab hospital.
Things went downhill after her May 2021 stroke. It impacted her majorly, and after it, she could not be left unattended. We tried keeping her home for several months, in the hope that she would recover some, but it never happened, and we had to put her into assisted living in February of 2022 at Cornerstone in Canton.
Overall, I feel comfortable with the quality of care she got there. They realized fairly quickly that she wasn’t doing well in the main population, and moved her into the Compass memory unit. She never did fully cotton to being in assisted living, but she did enjoy the activities and the music there. The individual aides were kind of up and down — some not so wonderful, some were very attentive and helpful, but I always felt that the people in charge were paying attention.
My first regret is kind of on Mum herself. I would have liked to have had her back home for Christmas of 2022, but we had taken her to the Cape that summer. She’d greatly enjoyed herself, but was super upset when we brought her back to Cornerstone, which made it obvious that we could not bring her home for visits.
She was becoming increasingly disabled at the start of 2023, having increasing difficulty swallowing, with a couple of choking episodes. At the beginning of the year, we met with the folks at Cornerstone, who told us Mum was becoming unsuitable for Cornerstone. Unfortunately, the way elder care facilities are regulated, at least in Massachusetts, assisted living facilities are organized around a “social” model. They can provide help with the activities of daily living, but they are not set up to provide medical care. They were concerned about the choking, and Mum was also requiring more care than they could provide.
They had two recommendations. The first was to move her to a nursing home, which is set up around a medical model. There would be more assistance, and the medical staff there would be better equipped to deal with issues like her increasing inability to swallow.
The second recommendation was to hire a private duty aide, dedicated to her care, who would supplement the care the Cornerstone staff would give her. They suggested we could do this either on an ongoing basis, or temporarily, until we could find a nursing home with an open slot.
A big consideration was frankly cost. On the private duty aide side, they were recommending a twelve hour shift for the private duty aide, and the cost was around $32 an hour, with a shift differential on the weekend. On the nursing home side, there were two considerations — first, that it was more expensive than Cornerstone, though less expensive than Cornerstone plus an aide, and second, there would be less choice once Mum’s money ran out. The folks at Cornerstone suggested we might have a better choice of facilities if we got her in before she was reliant on Medicaid.
So we decided to go the private duty aide route temporarily, until we could settle on a facility. Given what we knew then, it was the best decision, but it is the one thing I would like a do-over on, for a couple of reasons.
First, the private duty aides were good, and Mum did well with them. We went through an agency, Celtic Homecare by Catherine, and the aides they sent were good. They were there from 8 to 8, and took care of getting Mum to the bathroom whenever she needed, keeping her entertained, and helping her eat. We did have a little trouble with the Cornerstone staff — some of them thought they were completely off the hook for helping with Mum, whereas the reason we hired the aides was that she was becoming a two-person assist case.
Secondly, as it turned out, Mum’s finances were in better shape than we appreciated, and we could have afforded the private duty aides, at least for a while. Whether Mum would have lived longer enough that finances would have become a problem is impossible to say. But I think she would have done better and been happier.
Thirdly, the nursing home we ended up with was not particularly wonderful.
Cornerstone gave us a list of facilities to look at, and one of them was The Ellis Rehabilitation and Nursing Center in Norwood. They had an immediate opening available, Mum’s primary care physician had also said good things about them previously, and several other people had had good experiences. My brother and sister checked them out separately, and I went over as well. Overall, we felt thankful that we were able to get her in there so quickly.
That feeling dissipated as soon as we got her in there. I’d had reservations beforehand, as I’d seen a woman calling and calling for help while I did my tour. I allowed myself to think that that kind of thing was normal in a nursing home.
When we first got her there, a nurse came by to check her over for wounds, but then we were on our own. They kept her isolated for a couple of days (COVID precautions) just stuck in her room with nothing to do, and nothing to interact with.
While there were some good staff there — the speech therapist who worked with her on eating was helpful, and Marie and Fiona were great, but overall, the feeling one got was that institutionally, they just didn’t give much of a damn for the residents. They tended to keep all 20 or so of the unit’s residents jammed together in one not-so-large room, with nothing to do but watch TV. When I spoke to the staff, they would yes me to death, but I never had the sense that my requests, observations or questions were followed up on. It never felt like the aides were checking up on residents in their rooms.
I remember visiting one afternoon, and Mum asked if we could get her to the bathroom. I’d been able to do this by myself at Cornerstone, as there was a grab bar in her bathroom on her strong side, but it was on the wrong side at Ellis, so I needed the help of an aide. I could handle getting her out of the wheelchair and on to the toilet, but I needed another set of hands to get her pants down. The aide on duty had a nasty attitude and informed me that they had taken her to the bathroom once already, and that she was incontinent anyway. Nevermind the fact that my mother wanted to go on the toilet, and just needed help.
The capper for us came in November. Brian and Pam had gone over there, and ended up spending the day there, as we were considering hospice, and they wanted to see the hospice nurse. They were there for hours, not one aide came by, despite the fact that she had a severe bedsore, to turn or move her.
If anyone is reading this, and wondering if they should send their loved one to The Ellis, don’t.
My final wistful wish is the manner of her death. The nurse on duty checked her around 9:30 on Monday, and noticed her condition had changed since the weekend. He did call my sister, but didn’t realize how bad the situation was, and told her there was no reason to come right away. He was wrong, and Mum died alone.
That bothers me. It bothers me that she died alone with no one to comfort her. On the other hand, if I’m being honest with myself, could I have held myself together if I had been there? I don’t know.
I was talking about it yesterday with my sister-in-law, and she pointed out that Mum may have wanted it that way. Up to the end, she was protective of us — she acknowledged to others that she was dying, but refused to talk about it with us. She did hang on long enough for all of us to come and say goodbye. Even until the end, there was some part of her that was Mum.
LEDs Redux
There’s been an noticeable improvement in the quality of LED based Christmas lights this year, They still have the supersaturated blues that the first generation had, but while those had relatively dim yellow and red lights, the newer sets are coming with more and brighter warm colors. With brighter yellows, oranges and reds, I can tolerate the deeply saturated blues.
I went into Boston this evening for the First Night “Pipes and Pops” concert at the Old South Church. I decided to walk through the Common looking for ice sculptures. I found out after the fact that they’d been moved to City Hall Plaza, but I did get to see the city’s official Christmas tree. It was quite nice. It seemed to me that there were a lot more red and warm white lights, and fewer greens and blues. The effect was quite pleasant.
(The concert was really good too, starting with Copeland’s Fanfare for the Common Man and ending with the Radeztky March.)
Just Another COVID Christmas
(With apologies to the Bangles.)
It turned out Mum’s funeral was quite the super-spreader event.
Tom returned to California the day after, and texted us from the Denver airport to say that his friend Rich has COVID.
Since then, my sister-in-law and brother-in-law and nephew definitely have COVID, as do my cousin and his wife. While we’ve tested negative, Tom and I have both been quite sick, and I would not be surprised if we actually had it. I’ve now filled a couple of wastebaskets with spent tissues.
In light of this, Nancy and I deferred our Christmas plans until Friday. I’m now in the goopy mucus-y stage, so I’m thinking I may go for a drive in a little while and see some Christmas lights. I expect to be feeling sound by the end of the week, and definitely non-contagious by then. In the meantime, for the next couple of days, I’m keeping to myself.