Crowd Crush

I’ve been reading a little about the Seoul Halloween Crowd Crush. There was a holiday celebration, the first after social distancing from COVID, and many more people showed up than expected, the layout of the streets funnelled them into a small area, and at least 156 people were crushed to death and at least 172 were injured.

It brought back memories. In October of 1979, Pope John Paul II visited Boston. There was a big temporary canvas covered altar set up on the Common. It was beautiful. Back then, I was 20 years old, active in the church, and had been invited to be in a special youth section up front, right in back of the VIPs, but in front of the vast masses covering the rest of the Common.

I got there early afternoon, and at first, it was great. I was close, I could see the altar clearly. When the Pope arrived, I was close enough to see him, and hear him say, “America the beautiful, beautiful even in the rain.”

But then the pushing started. Gradually, the folks behind us started trying to get closer, and started pushing from the back. We started moving forward, but there was only so far we could go because of the barriers in front separating us from the VIP section. It was scary, and I decided right there and then that I never wanted to be in that big of a crowd ever again. I can only imagine how the people who died felt at the end.

New Apple Watch

I decided to treat myself to a new Apple Watch, a Series 8, this year. I got my first Apple watch, a Series 4, about three and a half years ago. I still liked the look of my Tissot better, but I was interested in some of the heart monitoring features, and over the years, I came to like it a lot. I liked the fact that notifications popped up on the watch, so that I could triage them and decide whether I wanted to bother getting out the phone. Getting turn by turn directions while wearing a watch is great; the watch will tap you on the wrist when your turns approach.

The one unlovely feature about the watch, though, was that it was a rather so-so timepiece, because the display was usually off, to save battery life. The following model year, Apple introduced an always on display, but I really couldn’t justify getting a new watch after less than a year.

It’s now been a few years, though, and though there’s been mainly incremental improvements year to year, over four model years, they’ve added up to a number of improvements over my old Series 4:

  • From the Series 5, always on display and compass
  • From the Series 6, a blood oxygen sensor, faster processor and faster charging
  • From the Series 7, a bigger display
  • And with this model, car crash detection.

Last time, I got a base model with an aluminum case and cloth band. This time, I decided to get the nicer version, with a gold stainless steel case and magnetic leather band. I really like the look, and I’m really happy with the watch. Having the always on display makes a world of difference, because you can now use it like a normal watch to tell the time; you don’t have to hold it up to your face with a specific gesture to turn on the display.

The way it works is interesting. When the watch is inactive, the display dims. When running a watch face with a second hand, the second hand goes away. “Complications”, the little indicators of other apps, don’t update themselves. There is one watch face, the one that they use to illustrate this particular case and band, that has a beige background and cream colored dial. When that one goes inactive, the beige background goes black and the dial inverts — light numbers on a dark dial — to conserve power.

Having the oxygen sensor is good –I wish I’d had it earlier in the month when the COVID was just getting going. Still, it was good to see that my oxygen levels weren’t affected.

The leather band is nice. Rather than a buckle, the band is segmented, with little magnets inside the strap. When you put it on, the band wraps around itself. It’s neat, though I have noticed occasionally it will pick up metal objects.

Because I got the stainless steel case, the watch comes with cellular connectivity; but at the moment, I don’t intend to turn it on. I rarely use my watch without my phone.

I ended up buying the watch online, since this particular case and band weren’t in stores. It took a couple of weeks for it to ship. The only real complaint I have about this order has been the trade-in of the old watch. I’m not getting much for it — only $50, but I figure that’s better than having it sitting around collecting dust. The other three times I’ve done Apple trade ins, I’ve gotten the trade in box either at the same time or before the merchandise; this time it was about a week after, and I got a semi-querulous email from Apple asking me if I still wanted the trade in. The box arrived the same day, though, and I sent it off the next day. And when I got home, there was a second trade-in box waiting for me on the doorstep. So clearly something got screwed up there. They got it today, and I’m now waiting for them to process the trade-in.

Update 10/26/2022: The trade in has been processed, and I’ve gotten my refund.

I got the watch a couple of days before my birthday. On my birthday, it had a message for me.

My new watch

Fall Foliage, 2022

This has been a frustrating October. I came down with COVID the day after my niece’s wedding and even though I had a three day weekend the following weekend, and we had gorgeous weather, I still felt crummy enough, even after a week, to not want to do much of anything. It wasn’t a serious case; it just felt like a bad cold, but it hung on for about ten days. So last weekend, I moped around the house looking out at the gorgeous weather, and hoped that it would still be nice the next weekend, and that I’d finally be over the COVID enough to be able to do something fun.

It was, I was, and I did.

Continue reading

Sunday Morning, Charles River

One of the things the fall brings is shorter days. The earlier sunsets are the most noticeable, but sunrise is getting later too. In June, sunrise was around 4:30-ish, now it’s around 6:30, and will be getting later still over the next six weeks, until Daylight Savings Time ends.

This later sunrise makes it easier to haul my sorry behind out of bed to see the sunrise. I tend to wake up early anyway — 3:30 – 4:00 is not uncommon, but usually I just roll over and try to go back to sleep.

I decided this weekend to see if I could get up early enough to be on the Charles River for sunrise. It’s something I’ve been thinking of doing for a long time. Since downstream faces East, I figured I could get some decent pictures.

Continue reading

Photo:Hour

I realized the other day that it’s been just over forty years since I started my first full time job, at a one hour photo lab called Photo:Hour.

I’d majored in Elementary Education, to be a teacher, right in the middle of the demographic ebb between the end of the Baby Boom and the Boomers starting to have their own children. This I knew going into it. And then, the November I graduated, Proposition 2 1/2 passed, cutting property taxes, and suddenly schools were laying off teachers.

I’d seen an ad for an assistant manager position for a photo lab in January of 1982, and interviewed in the basement office of the Winter Street store with the owner, Tom Giampapa, and then… heard nothing. And then six weeks later, they called. Turns out the guy they’d originally hired had quit. Still being unemployed, I took the job.

Continue reading

New Apple Silicon Mac

Last fall, Apple replaced their Intel based MacBook Pros with new ones using Apple Silicon. This past November, I bought one, replacing my previous Intel 16″ MacBook Pro with the M1 Pro equivalent.

If I’m being honest, I really can’t justify the purchase, other than “I wanted it, and can afford it”. The old computer was only two years old; typically I’ve gotten at least three and sometimes four years out of a computer before getting a new one. But everything I’ve heard and read about these new computers said they were fantastic.

A couple of years ago, I wrote, “Apple has gotten to a place where each new product is just as notable for the things that have been removed as they are for their improvements.” This generation of computers reverses that, and makes just the set of trade-offs that I asked for — it has built in ports for SD cards, HDMI, and a MagSafe power adapter; instead of optimizing for being as thin as possible, it’s designed to provide the utility people need while being no thicker than necessary.

The other big change is the heart of the computer. My previous Mac used an Intel central processing unit (CPU). Now, Apple is transitioning to its own series of Systems On Chip (SOCs), the M1 series. They started in late 2020 with the low end, the M1. This year they extended the line with the M1 Pro and M1 Max, which have more high speed cores, more graphic processing units (GPUs) and more memory bandwidth for more demanding uses. The two chips have the same number of processing cores – 8 performance cores and 2 efficiency cores used to save power under light load. The difference is the memory bandwidth and number of GPUs — the M1 Pro has 16 GPUs; the M1 Max is available in either 24 or 32 GPU cores, and supports more memory.

As I said, I wanted this computer, but couldn’t honestly justify it. So I waffled a few weeks, and played with the configurator. There were two factors that decided me (besides the “I want it” factor).

The first is that this is a major change in Apple’s architecture for the Mac, and I wanted in on that. The current version of macOS does currently run on Intel Macs, but there are already a number of features that are only available on Apple Silicon. They’ve clearly decided that they’re not going to support Intel any more that they have to, and this will become even more pronounced as time goes by.

The second factor is that the trade in allowance for Intel Macs is dropping rapidly. Shortly after the new Macs came out, I ran through their trade in calculator, and got an estimate of around $1700. By the time November came, the trade in had dropped to $1300, and I knew that the price was going to continue to fall, and that I did want an Apple Silicon machine. I placed the order.

I went back and forth on it for a while, but I decided to go with the M1 Pro model rather than the M1 Max. For me, ample storage and memory are more important, and I was already spending a lot of money to match the memory and storage specs of my old machine — 32GB of memory and 2 TB of storage. One the one hand, going to the Max would have only added $200 – $400 to what was already a $3600 machine; and bragging rights would be nice, but I’m not a video producer and if I’m being honest, I’ll have a hard time pushing this machine to the limit.

It took about 3 weeks for them to build the machine and ship it; it arrived a couple of days before Christmas. I had one very bad moment when my mother’s home health aide said she’d found an empty box on the front steps; for a moment I had visions of my very expensive Christmas toy being stolen. Then I realized it was probably the trade in carton for my old machine. Heart attack averted.

Physically, it looks bigger than the Intel machine — the bottom shell of that machine was tapered beginning at about an inch and a half from all the edges, so edge-on, it looked thinner than it was. This machine has no taper, so it’s thickness is more apparent.

Transferring my data was simple; I just ran Migration Assistant on both machines and they transferred my data from the old machine to the new wirelessly overnight.

Both machines were running the same version of macOS, so there was no dramatic difference in the experience of using it. The first thing that struck me is that the screen is sharper and more brilliant; I was looking at some fall foliage pictures I’d taken, and was just blown away how sharp and detailed everything looked. There is a smidge more vertical space because there is less bezel at the top. The price of the increased space is that there is a notch at the top of the screen where the camera is. In practice, you just don’t notice it.

The next most noticeable thing for me is that Photos has become a lot more responsive. I’ve been re-adjusting old pictures and it’s pretty snappy.

On the downside, I’ve been finding a lot more software issues that I’m accustomed to in a Mac. I keep getting messages that “suggestd”, an internal daemon, has crashed, and it’s been having trouble completing its first Time Machine backup.

Overall, I feel a little guilty having spent a lot of money I really didn’t need to, but I’m happy to have it and look forward to seeing what kinds of things running Apple Silicon will allow.

Making of a Christmas Card, 2021

It took me a little while to come up with an idea for the card this year. I did take a second look at some of the Christmas light photos I shot in 2016 for the card that year; as it turns out, the same pictures I decided not to work with then, still didn’t speak to me now.

There is also a part of me that is getting tired of creating a new card each year; at some point the card will be a photo of all the prior year’s cards in a basket, and that will probably be the last one. I’m not quite at that point yet, though.

Mum and I got our COVID booster shots at Walgreens a few Saturdays ago; when you get a vaccine dose, you have to stick around for 15 minutes just in case you have an allergic reaction so that they can respond to it. So we fumfed around the seasonal aisle there, and they had a gingerbread house kit. I saw it, and went hmmmm.

Comes a week later, and I still hadn’t gotten any other ideas, so I decided to do it. So I went back to Walgreens and picked up a gingerbread house kit. I realized I needed something to act as a snow surface, so I went over to Michael’s to find some fake snow. I could not find any, and I couldn’t find a single staffer in the store who wasn’t running a register to help me. So I picked up a bag of white cotton, and some deer figurines and miniature trees.

Putting the kit together was pretty simple — the only surprising part was how long it took, because there were several points where you glue a couple of pieces together with icing, and then have to let it sit for 15 minutes while the icing set.

The photography was a problem. What I should have done was pick up a piece of white posterboard to act as a seamless background. What I did do was use the “desktop studio” I got a couple of years ago. It’s basically a 16″ x 16″ x 16″ lightbox, with a small pair of halogen lights to be positioned outside the studio, with red, black, white and blue backgrounds. The sides of the box are intended to diffuse the light to provide a nice soft illumination of the object inside.

Unfortunately, the studio was a little too small for the gingerbread house. It was hard to frame the picture so that the sides of the studio were not too visible. The backgrounds are not really seamless, since they came folded, and have a number of creases. I managed to get a couple of pictures, and then decided to try repositioning the lights outside the studio. While moving the right side light, the cord on the left side light got pulled, it fell off the table, and blew the bulb. So now, I had to live with one of the shots I already had.

None of them were particularly good; this one was the best of a bad lot:

Original picture, taken inside the desktop studio

It’s reasonably evenly lit, but the background is very visible, and the rightmost tree is crooked, and the cotton is pretty sparse in the left front. This turned out to be a fairly major Photoshop job.

First step was to do some basic color correction and lightening of the image.

Second step was to run a Gaussian blur against the background. I selected the area behind the scene, and run a strong blur against it.

Next, I used the stamp tool to even out the cotton “snow”

I’d created two different exposures of the photo when I ran the picture through Camera Raw; now I copied the left side roof from the darker version and combined it with the lighter version, where the roof was burned out.

Then I selected the rightmost tree, and rotated it a few degrees counter clockwise to straighten it out. I ended up using parts of the original layer underneath the working layer, but it ended up OK, even though I probably didn’t do it the right way.

The background was still too dark, so I masked the scene, and started lightening the background, to get it whiter.

Finally, I added some decorations and lights to the trees, then masked out a vignette area around the edges so that the photo would fade to white when printed on the card.

Then I brought it into Pages, using one of my prior year’s templates. When I printed it out, I found the background was still too dark. I ended up just making most of the background part of the scene transparent, so that when laid over a white background, it was white. In hindsight, I should have just extracted the scene from its background, and called it a day. I’m not thrilled with the little vestiges of the blurred background around the scene.

The next problem was what to put inside the card. The only card stock I could find at Staples when I went was half fold card stock, meaning the cards would be full size. I worked off my 2018 card, renamed the file, and changed the images inside. Unfortunately, I just haven’t done much interesting this year, so picking the pictures was hard. I ended up choosing half the pictures from our time on the Cape, and the last couple from a kayaking trip on the Charles.

Inside of the card

For the text, I decided to riff on the subject matter and wished people a Merry Christmas and a “Sweet” New Year.

Once again, I decided to include Mum on my cards. People we both knew got a card from both of us, and I basically let her decide what I would would write. She doesn’t have enough dexterity to sign them anymore. For the cards from me alone, I wrote more of a note. I had most of the cards finished and in the mail by the first week of December.

Merry Christmas Everyone.

Updates

I mentioned in passing in my Concentration posts that I had been laid off at the beginning of September. I’m happy to say I’ve joined athenahealth (yes, that’s the way it’s capitalized) as a “Senior Member of the Technical Staff.” The company offers a variety of Electronic Health Record (EHR) and billing products, making it easier for health care providers to focus on what they want to do — care for patients — by relieving them of the scut work of dealing with payers, managing scheduling, and making it easier to record health information.

The company also provides a number of open Application Programming Interfaces (APIs) that athena partners can build on top of to provide additional functionality, and has a Marketplace to enable providers to find the partner’s products that they need for their practices, and that’s where I’m working, on the front end, learning React.

I got the job at the beginning of October, and started at the end of the month. The first couple of weeks were spent on orientation. athena is easily the biggest company I’ve worked at, and because it’s in a very regulated industry, there are a lot of rules to learn, and things to get up to speed on. I finally got to start working on the code, and it’s going well.

I mentioned that there was a gap between accepting the offer and starting. After all that’s gone on this year, I wanted to take some time for myself, and that’s part of the reason why losing the bike to mouse damage was so distressing. Here I had some free time, the weather was great, and no bike. So I rented a Triumph Bonneville for 24 hours. The Bonneville looks very much like the bikes from the early 1970s that I first fell in love with. The first day, I took the bike out to Quabbin Reservoir, and discovered very quickly how much wind protection my own bike provides. Five minutes after leaving the parking lot, I was chilly. The bike felt so much smaller than my own bike, but was easy to handle. The foliage was really pretty heading out to the reservoir. By the time I got there, there was an overcast, and I was downright cold. I stopped at a dollar store to pick up a long sleeved shirt, and on the way back, going through the center of Ware, I saw a clothing store, stopped, and picked up a fleece.

The next morning, I took the bike down along the South Shore, and ended up in Plymouth, by the harbor, and had a view of the Mayflower II. I had lunch, and then headed back.

They started working on the bike a couple of weeks later. They repaired some parts of the wiring harness, and started addressing the damaged taillight wiring. I chose to have that replaced; when the parts came in, they then found that the turn signals weren’t working, and it would take several hours to remove the body work and diagnose the problem, and was this something my insurance covered? As it turns out, my comprehensive did cover it. The total bill was around $2200. I chose to have them keep the bike there in winter storage, so I wouldn’t have to worry about further mouse damage. Very expensive mice indeed.

More Concentration

I recently recreated my Concentration game in Angular, to have a current example of what I can do (It’s worked). I’ve had some time to polish it, so I’ve just pushed up a new version.

I recently had to do a take-home coding challenge, and one of the things they mentioned was adherence to the Angular style guide. I figured it was best to re-read it before starting, and one of the things it mentioned was that computational code was better off in a service rather than a component. Well duh. I immediately realized that one of the things I’d done when I ported the jQuery version over to Angular was to carry over all the code to generate the puzzles and trilon data into the ConcentrationComponent. I’d even noticed that the component was bigger than I’d like it to be, and then shrugged and moved on. Of course, that code should be in a service.

Moving that code to a new PuzzleService meant that the ConcentrationComponent got a lot smaller. It also means that if I ever decide to move that code to the server, which it would need to be to have two players playing remotely, that the ConcentrationComponent is in much better shape to receive the data.

I was finishing up the service and the unit test changes needed, when I idly remembered that I’d intended to add the sound of the trilons spinning to the original game. I didn’t pursue it very far then, because I couldn’t find a clean sound sample. I decided to see if I could pull one off YouTube from the original show. There aren’t many episodes of the original show online, and the sound was not very clean, but I did find a copy of one of the syndicated shows with Jack Narz that I was able to get a clean clip from. A little online searching, and I figured out how to tie it into the game. Win!

Except, that you really can’t add sound to a web page without giving the user a way to turn it off, especially a sound like the sound of a trilon turning. This meant I had to add a user interface to control the sound. And then I got thinking…

I’ve always liked the basic design of the original game board, with light colored borders, and a central, darker rectangle with light colored numbers.

Original Concentration board

When the 1970’s syndicated version came out, the board got a garish new look:

Syndicated game board. Classic Concentration kept this color scheme, replacing the mechanical board with a computer generated one of 25 pieces

I just hated this look, and from the start, I decided my game would have a version of the original look.

And yet, since I was adding a preference for the sound, how hard would it be to add a preference to use this color scheme? Not very, it turns out, and with the power of Cascading Style Sheets (CSS), I could even have a cool transition between looks.

One thing I did pick up from the syndicated version was the colored puzzles. The original producer, Norm Blumenthal, refused to add color, as he felt it would make the puzzles too easy to guess, incurring displeasure from the network, which wanted to convert all its shows to color. He ended up compromising, making the puzzles pink on maroon. Personally, I think he was wrong — color can be used to misdirect as easily as it can give a puzzle away. When the show moved to Hollywood, the new producers had no compunctions about making the puzzles in color, and that’s how I’ve made my puzzles.

But then I got to thinking… CSS now has filters that can be used to alter the appearance of background images. If I combined a grayscale filter with an invert filter, maybe my color puzzles would look like the original Blumenthal style. I tried it, it’s not perfect, but it’s a decent approximation, so I added an option for that.

Adding options is good, but what’s the point of having options if you have to set them every time? (This is how “scope creep” happens, boys and girls). I added a LocalStorageService so that the user’s choices would be preserved, and a reset button to restore defaults.

There is also one more puzzle.

So what was intended to be an internal rewrite ended up being much bigger, adding the ability to play the sound of the trilons turning, and the ability to change how the puzzles and numbers look.

Take a look, and if you are so inclined, take a look at the source.

Damned Mice

I got a custom Corbin saddle for the FJR in August. Overall, it’s been comfortable, and lowers the riding position so that I feel safer with it, but I’ve also noticed my back hurts. This is not necessarily new, but I decided to put the stock seat back on, and check it out.

When I did, I found the under-seat area was filled with pink fiberglass insulation taken from an old roll that’s been in the garage for decades. Clearly, mice have found the bike.

Mouse nest

Worse, they’d found the insulation on the wiring harnesses tasty, and had stripped the insulation off.

Bare wires

So now, I have some free time, and the peak foliage season, and I don’t dare use the bike because the electrical system is likely to short out if the wires happen to touch.

About the only good thing about the situation is that I discovered it in the driveway instead of being stranded someplace. I’m enough of a believer in Murphy’s Law to know I’ve dodged a bullet, but the shop can’t even look at it for a couple of weeks, and who knows what they’ll find then. I’m hoping the wiring harness is orderable as a unit, and can simply be replaced completely.