five years of COVID

I’ve been reflecting a lot this month on the five-year anniversary of the COVID-19 outbreak. I’m one of only a few people in the office who still wear a mask on a regular basis. And recently, for the first time, someone actually asked me about it. It wasn’t ill-intentioned or confrontational. It was just someone who didn’t understand why an otherwise healthy person would be wearing a mask in a meeting. So, from my perspective at least, I feel like we’ve hit a milestone, where wearing a mask in public has gone from “normal” (but uncommon) back to “unusual” and “worthy of comment.”

NJ Spotlight News did a report this week, looking back at the last five years. Here’s a link to the video, and here’s the original article. The summary for our current status is “manageable,” which I guess is fair.

I’m a little worried though. There’s another article on the site about how things are going with measles, and it ain’t great. If we can’t handle measles, I’m not sure how the current (federal) administration is going to do with COVID, going forward. Am I even going to be able to get a booster shot this year?

Here’s a link to a post from the end of March, 2020. Looking back at how things were going then, I guess we’re doing better. I’m not sure I’m doing better though. Here’s a chart of my weight, over the last five years, for instance:

My weight March 2020-2025

I’m honestly not doing that bad, and my current weight is (relatively) healthy. Still, it feels like I’ve gotten a lot older in the last five years. I’m still getting a decent amount of exercise, but I’ve had days where I get really tired by the end of the day. I rarely have the energy to go out and do anything interesting or adventurous. I’m feeling a lot more general aches and pains. My allergies are worse.

Hmm, now I feel like I need to find a way to end this on a positive note! …and, OK, I just spent 15 minutes trying to find a positive news article to link to, and didn’t find one. Instead, I keep stumbling across stuff like this and this. So I’m going to link to a mildly funny comic panel instead.

Flickr changes

I’ve had a Flickr account for over ten years now, and I’ve paid for Flickr Pro for the last five years or so. There have been some ups and downs, but I still think it’s a good service. They’re making some changes to Flickr Pro, the main one being that the desktop Auto-Uploadr will be a pro-only feature. I’ve never used the new uploader, and I don’t ever want anything automatically uploaded, so it’s no big deal for me either way. But they’ve been getting some negative press on this, including this article at Wired that I think is a bit of an overreaction.

I still think that Flickr is a good service, both for casual and more serious users. I have a little over 2600 photos in my account, so switching to anything else would be a big hassle. So I’m hoping it continues to be a reasonably good service and I don’t have to worry about it.

Metropolitan Museum admission

From Metropolitan Museum of Art Reaches Settlement on Admissions Policy:

The Metropolitan Museum of Art reached a settlement Friday in part of a long-running legal challenge to its admissions policy, conceding a semantic point and agreeing to change the wording on its signs to say that its $25 dollar full-admission charge is “suggested” instead of “recommended.”

This is such a weird little semantic issue, but I find myself somewhat amused by it. Is “recommended” misleading? I don’t know. “Suggested” does sound less judgemental to me, at least, but not by much. And why would The Met waste time and money battling this in court?

Some history on this here and here.

I’m a member, so I don’t pay for admission, but I’ve always been curious about how many visitors actually pay the suggested admission, how many pay nothing, and how many pay something in between zero and the suggested price. I like the idea of “pay what you want” transactions, whether it be Humble Bundle sales, They Might Be Giants albums, or museum admission. And I like the idea of places like The Met (or AMNH) being open to everyone, regardless of their ability to pay a $25 admission fee.

Hosting a web browser on a Dynamics AX form

I’m working on an interesting little project at work right now. We use SharePoint to facilitate some workflow around our sales orders and purchase orders. But there’s currently no link between AX and SharePoint, so the sales and purchasing reps have to copy & paste information from AX to SharePoint forms. Not a huge deal, but a bit of a waste of time for everyone. So the idea was to add buttons to various forms in AX that would open a new SharePoint form, with certain fields pre-populated. I might write up some stuff on the SharePoint side of this later, but this post is going to be about the AX side.

The first (obvious) idea was just to launch an URL in the default web browser. And that works fine. Except that everyone is accessing AX through terminal servers. And, while IE is installed on those servers, the internet connection on those servers isn’t filtered the same way it is on end-user machines. So clever users could launch IE from AX, then navigate to restricted sites and possibly infect the terminal servers with malware. Which would be very bad.

My first thought was that there ought to be a way to launch IE on the end-user’s actual PC from the terminal server, but if there’s a way to do that, I can’t figure it out. (And it makes sense that there isn’t, really.) So my next thought was to launch the SharePoint site in a web browser control hosted in an AX form, with no address bar and no way to navigate away from that SharePoint site. Simple enough, right?

After a bit of web searching, I found this article on hosting an instance of System.Windows.Forms.WebBrowser in an AX form. I got pretty far with that, including preventing new windows from opening (which would allow them to break out of the control and into IE), and also preventing them from following links to other sites. But there was one key issue I couldn’t get past: the tab key and control keys wouldn’t work in the control. So the user wouldn’t be able to tab from field to field, or copy & paste information with Ctrl-C and Ctrl-V. I found a few references to this issue on StackOverflow and elsewhere, but no solutions that would have worked easily in Dynamics AX. (They mostly relied on doing things that would work in a real Window Forms app, in C++ or C#, but that I wasn’t going to be able to do in AX.)

So I punted on that, and decided to try just adding the ActiveX web browser control to the form. I’d never actually added an ActiveX control to a form; there’s a good overview about how to do that here. The most important thing I picked up from that is the “ActiveX Explorer” function that can be accessed form the context menu after you add an ActiveX control to a form. That’s how you hook into control events.

I managed to do everything I needed with the control:

  1. Set it to suppress JavaScript errors, via the silent flag. (Our SharePoint site has some messy JavaScript on it, that doesn’t cause any issues, but throws up some errors, if you don’t suppress them.)
  2. Prevent navigation outside the SharePoint site, which I can do by setting a cancel flag in the BeforeNavigate2 event handler.
  3. Prevent opening new windows, which I can do by setting a cancel flag in the NewWindow2 event handler.

And it handles the tab key and control keys normally, without any workarounds.

So that’s about it. ActiveX is a twenty-year-old technology, but it still works. As much as I would have liked to do something fancier, I can’t complain!

A nice day

We finally had a nice day with moderate temperatures yesterday, so I took the opportunity to make another NYC museum-hopping visit, and also did some walking. (It’s funny how my definition of “nice day” has been downwardly adjusted by this harsh winter. It was overcast yesterday, and the streets were full of melting grey slush. But it was above freezing!)

I first went to MoMA. I’m curious about their Björk exhibit, but I didn’t bother trying to get in to that. There are actually multiple parts to the exhibit; the centerpiece, I guess, is the “Songlines” exhibit, “an interactive, location-based audio experience”, which required timed-entry tickets, even for members. So, if I decide that I’m really interested in that, I’ll come back on a day when I can go in early. I’m not sure I care about a Björk exhibit that much. It seems like mostly just a novelty exhibit. But I guess stuff like that helps pay for the more interesting, less popular, exhibits, like the Toulouse-Lautrec exhibit that’s coming to an end soon.

After MoMA, I went to the Met. While I had no particular agenda for that visit, when I got there I realized there was a members preview of the Plains Indians exhibit going on, so I went in and took a look around. It’s actually really interesting and well-done.

To get some additional exercise, I walked from the Met back to Penn Station, making a quick stop at Kinokuniya. I don’t think I’d ever been in this particular Kinokuniya location before. I was surprised at how many English-language books and comics they had. They have a really good selection of American and European graphic novels on the second floor.

So it was a good day, overall. I’m looking forward to an even nicer day when all the snow is melted and the Met roof garden is open, so I can spend a little time in the sun up there, maybe enjoying a beer or coffee.

XCode 4

I was surprised to read that Apple released Xcode 4 today. Usually, I’d know about something like this in advance, but I seem to have missed this entirely.

I’ve been doing a lot of work in Xcode over the last few weeks, trying to learn Cocoa programming, and working on a small contract job, rewriting an old OS 9 FutureBasic app.

I’m a little disappointed to see that they’re charging $5 for it now. That’s not much, compared to, say Visual Studio 2010 Professional, but of course you can get VS 2010 Express for free. I wonder if Apple will make a limited version of Xcode 4 available for free. I think it would be in their best interests.

I think I’m going to stick with Xcode 3 for now, since I need to get this project done, and all my reference material right now is oriented towards Xcode 3. Once I’m done with the current project though, I’ll probably download and install Xcode 4. I’m not sure how I feel about the switch to a single-window interface, but I like the fact that Interface Builder will no longer be a separate program, and it looks like they’ve made a number of other cool little improvements.

e-mail clients for my Dad

My Dad has very serious vision problems, but he’s not completely blind. This means that he can use a normal computer, but he has a lot of problems doing so. We’ve got his machine set up so that he’s using very large fonts, and a high-contrast color scheme. The problem we frequently run into, though, is that most software developers don’t take these kind of things into account. We’ve found that developers are really haphazard about when and where they respect the default font size and color scheme in Windows.

We recently switched him from a dial-up ISP (Wal-Mart Connect) to Verizon DSL. The Wal-Mart Connect service used a proprietary client for e-mail and web browsing (basically, the old CompuServe 2000 client), and that actually worked pretty well for him.

When we switched to Verizon, I switched him over to using Outlook 2000, largely because it was already installed on his machine, and I was familiar with it. That turns out to have been a pretty bad idea. Outlook does a pretty poor job of respecting large font sizes and still leaving you with a usable interface. My Dad just hasn’t been able to get used to it, and there are a number of hurdles that make it hard for him to use.

I’ve been researching alternative e-mail clients for him. Basically, I’m looking for something with a fairly simple interface that’ll work well with a high-contrast, large font environment. I tried Scribe first, but that had a few interface quirks that made it unusable. I then tried Sylpheed, and that actually looked like it might be usable. I didn’t get too far with that though, since my Dad couldn’t remember where he’d written down his e-mail password, so I couldn’t actually get all the way through the setup. We’ve also been talking about just switching him over to Outlook Express, but I’m not sure that’ll be much better than Outlook. Hopefully, the next time I visit my parents, he’ll have found that password and we can play around some more.

Civic

I just got the 90,000 mile service done on my Civic, and it cost almost as much as my new laptop. I console myself with the fact that this is pretty much the ONLY service I’ve had done on this car since I bought it, at 49,000 miles. Also, the laptop was refurbished, hence not that expensive. Still, it’s going to be a bigger than usual credit card bill this month!