Merry Christmas, I guess.

It’s Christmas morning. I’ve been fighting a cold for the last few weeks, on and off. Today’s status is “kind of congested, scratchy throat, and not enough energy for anything even vaguely challenging.” It was 5º yesterday morning, and 14º this morning, so it’s been a very cold couple of days. My heat has been working reasonably well, so that’s good.

I spent Christmas Eve watching football, mostly. A friend dropped by for a few hours and hung out. He gave me an A500 Mini for Christmas, which was pretty cool. I haven’t tried to hook it up yet. (See “not enough energy…” above.) The Giants lost, but they’re not out of playoff contention, so that’s good. And it was a fun game to watch.

I’m listening to Jon Solomon’s holiday marathon on WPRB right now. He’s currently playing Snaildartha, which is a nice thing to listen to when you’re trying to get through Christmas morning with a bit of a headache and not much energy.

And it’s working well as background music while I change the passwords on all the personal accounts I had stored in LastPass. The information that’s come out recently about their breach is a bit alarming. I don’t really use LastPass for personal use; I have a 1Password account for that. But we use it at work, and I have a linked personal LastPass account in which I’ve stored passwords for a few accounts that I occasionally need to use at work, like Pluralsight, StackOverflow, ACM, and stuff like that. I’ve done some background reading on the breach, and it sounds like it’s unlikely that anyone would ever bother trying to crack my password vault. But it’s possible that they could, and the accounts I had in there are ones where I had some questionable passwords anyway, so I went ahead and changed them.

I’m not sure what our InfoSec people are going to recommend we do with business passwords in LastPass. They’ve already forced us to reset our LastPass master passwords, but that’s useless if the hackers already have a copy of our data (which I guess they do). The official LastPass blog post says “…it would take millions of years to guess your master password using generally-available password-cracking technology”, so I guess we’re safe. Oof. I shouldn’t be thinking/blogging about password breaches on Christmas Day, but here we are.

I’m trying to figure out what I want to do with the rest of the day now. There’s football to watch, which could keep me busy from around noon until I go to bed. I’ve also considered binge-watching one of the many TV shows that came out this year that I haven’t watched yet, like Andor on Disney+, or one of the Star Trek shows that I haven’t caught up with yet.

Maybe I could watch something Christmas-related. I watched the 1984 version of A Christmas Carol, with George C. Scott, last night, and that was good. And I re-watched Shaun the Sheep: The Flight Before Christmas on Netflix. Also good.

And, since Christmas falls on a Sunday this year, I have tomorrow off from work too. So maybe I can watch football today and Andor tomorrow. I’m not sure if Andor is in any way Christmas-y, but it seems to have a character who looks a little like Santa, based on the main image that goes with this article.

a little PowerShell

It’s been a while since I’ve posted any PowerShell code. I had to write a quick script today to run some SQL, save the output to CSV, then ZIP the CSV file. And I had to loop through and the run SQL multiple times, one for each month from January 2021 until today.

That forced me to look up some stuff that I didn’t know how to do in PowerShell, off the top of my head. (In fact, most of it was stuff I didn’t know off the top of my head. I don’t use PowerShell enough to remember anything…) So here’s an edited version of the script, simplified somewhat. It might come in handy some time, if I ever need to do this again.

# CustInvAll-export.ps1

#Requires -Version 7
#Requires -Modules SqlServer

$dateFmt = 'yyyy-MM-dd'
$sqlServer = "MyServer"
$dbName = "myDB"

$curDate = [DateTime]::Today
$startDate = [DateTime]'01/01/2021'
while ($startDate -lt $curDate) {
    $endDate = $startDate.AddMonths(1)
    $startDateFmt = $startDate.ToString($dateFmt) 
    $endDateFmt = $endDate.ToString($dateFmt)
    
    $exportSQL = @"
    SELECT *
    FROM MyTable
    where [INVOICEDATE] >= '$startDateFmt' and [INVOICEDATE] < '$endDateFmt'
"@
    $exportFile = "CustInvAll-$startDateFmt.csv"
    $exportFileZip = "CustInvAll-$startDateFmt-csv.zip"

    echo "Exporting from $startDateFmt to $EndDateFmt to file $exportFile"

    # Invoke-Sqlcmd -ServerInstance $sqlServer -Database $dbName -Query $exportSQL `
    # | Export-CSV -Path $exportFile -NoTypeInformation  -UseQuotes AsNeeded

    # Compress-Archive -LiteralPath $exportFile -DestinationPath $exportFileZip

    $startDate = $endDate
} 

It can also be found in a Gist.

more dumb social media stuff

The big news on Twitter today was that Elon is banning accounts that promote rival social media platforms. I have a link to my Mastodon account in my Twitter profile, so let’s see if that’s enough to get me banned. Meanwhile, there was some hilarity when one media outlet got confused and thought that Twitter had banned someone named “John Mastodon.” So I may have spent too much time today switching back and forth between Twitter and Mastodon, following all the silliness around that.

I’ve decided to turn off the function in WordPress that automatically shares posts to Twitter. And I added a link to my Mastodon account to the site footer. I’m probably going to keep checking Twitter, since there are still a bunch of news sources that post there, but I think I’m going to keep trying to wean myself off it (as mentioned in my last post).

I’m starting to think I should work on my short attention span problem, so maybe I should get off social media entirely. I almost read this article at The Guardian today, but it was too long. I saved it to Instapaper. I need to read more of the stuff in my Instapaper account and spend less time on social media, I guess. I have a bunch of long New Yorker articles saved to Instapaper, and I never get around to reading them. I started reading this 1955 article about the dead sea scrolls recently. I have no clue when or why I saved that, but it’s a good article.

I also wound up reading this 1951 NY Times article today, because I was trying to figure out what the phrase “the smile of the absent cat” meant. (See also this related article.) I feel like I should have something pithy to say about the contrast between  Einstein arguing with Viscount Samuel about theoretical physics is the 1950’s and Elon Musk arguing with… everybody about… nonsense today. But I don’t really. All I can do is roll my eyes and sigh.

Mastodon

OK, so I finally gave in and signed up for a Mastodon account. You can find me at @andyhuey@mastodon.social. I spent too much time, initially, stressing about which instance to sign up at, then gave up and just used mastodon.social, which is what pretty much everyone else uses. (I really wanted to pick a “cool” instance that would mark me as one of the “cool kids,” but then I remembered that I’m a 55 year old nerd.)

I also have CounterSocial, Hive, and Post accounts, but honestly I think Mastodon is “winning” the war for Twitter refugees. I used Fedifinder to get a list of my Twitter “friends” and follow them on Mastodon. It found 35. Apparently, I’m following 380 accounts on Twitter, which is more than I would have guessed. (A lot of those are probably inactive, but still, that’s a lot.) So I guess around 10% of the accounts I follow on Twitter are on Mastodon. I guess that’s a good start.

Jeff Jarvis has a good write-up on Mastodon here (and a video too). I used his write-up to get myself started.

I searched my Pinboard account for references to Mastodon, and found one from 2017, so I’ve at least been aware of Mastodon for several years now. I probably should have signed up for an account back then, so I’d be able to say that I was into Mastodon before it was popular. Really, I guess I’m at the point in my life where I’m not usually an early adopter anymore. I’m too old to get excited about messing around with half-baked projects that might or might not go anywhere. At least I can say that I got my preferred “andyhuey” username on all of the new services I signed up for, so that’s something. (Though, with Mastodon, there are multiple instances, so there could be other andyhuey’s on other servers.)

I haven’t tried the official Mastodon iOS client yet, but I’m going to do that today. I might also try one of the third-party ones. I do wish that the folks who make Twitterrific would make a Mastodon client. i really like Twitterrific, and would love to have a similar app for Mastodon.

I’d also like to see WordPress add Mastodon support to their social sharing tool. Right now, I’m auto-sharing my blog posts to Twitter. They also support Facebook, LinkedIn, and Tumblr, but not Mastodon yet. There’s at least one third-party plugin for Mastodon posting, but I don’t know if I want to mess around with it yet.

Anyway, I’m going to see if I can switch some of my social media time over from Twitter and Facebook to Mastodon this week. The problem, I think, is that there isn’t a lot of mainstream media presence on Mastodon yet. A lot of my time on Twitter and Facebook is spent clicking on links to news articles from the NY Times account, Washington Post account, and so on. Really, I should try to switch over to my RSS reader for that kind of stuff. So maybe, between RSS and Mastodon, I can wean myself off Twitter and/or Facebook. We’ll see how far I get with that.

Post-Thanksgiving notes

It hasn’t been a great Thanksgiving weekend, but of course I know things are better for me than they are for… most people, I guess. I’m getting over a cold, which is pretty normal for me at this time of year, so that limits what I can do a bit.

I had a quiet Thanksgiving at home. I didn’t really do anything special. There was plenty of football on TV, including the Giants vs. Dallas game, so I spent most of my time watching football.

I took Black Friday off from work. I did a bunch of random stuff, including updating my MacBook to Ventura. That was pretty simple and painless. I haven’t had any problems with Ventura at all. I started reading The Annihilation Score by Charles Stross. It’s been quite a while since i read a Laundry Files novel.  I read the previous one in 2017. I’m enjoying this one so far. I watched My Father’s Dragon on Netflix, and finished watching Rings of Power on Amazon. The only big Black Friday purchase I made was Cartoon Saloon’s Irish Folklore Trilogy on Blu-ray.

Yesterday, I did all my usual Saturday chores, then spent the afternoon watching TV, first Enola Holmes 2 on Netflix, then DuckTales season 3 on Disney+. They started in with the Christmas music on Main St. yesterday too. That started around noon and ran until around 7 PM, I think. The main reason I was watching so much TV was because I needed to drown out the music. It seems to be louder this year than it has been in previous years. And it’s definitely setting me on edge, as it usually does. I’m really not capable of listening to Christmas music anymore without getting twitchy.

For today, I spent some time this morning just reading quietly. Now that it’s past noon, and the music has started up again, I guess I’ll spend the rest of the day watching football and/or DuckTales to drown it out.

Then back to work tomorrow. It occurs to me that, since I’m still working from home three days a week, I’ll have to put up with Christmas music on weekdays too now. I guess I did that last year, and lived through it, so I can do it again this year. (That’s assuming they’re playing the Christmas music on both weekdays and weekends. I’ll find out if that’s true tomorrow.)

Overall, I feel like it’s going to be a tricky holiday season for me. I need to make sure I have some reasonable and healthy coping mechanisms in place. (Football and cartoons count as “healthy coping mechanisms,” right? How about brownies?)

Shuffling iPads

It’s Thanksgiving here in the USA, and I have nothing to do, so I’m going to spend some time this morning writing a rambling blog post about iPads.

I have a company-owned iPad, that I got back in 2016. It was originally supposed to be for testing a project that we thought would be accessed on iPads. That project kinda fizzled out. Or at least the iPad idea did. I think they decided to just use Surface laptops for it. Either way, I kept the iPad.

I’ve used it for different stuff over the years. At this point, I’m using it as a quick way to access company email and MS Teams at home, when my laptop is turned off. Teams has kinda turned into a work phone replacement for us now too. Nobody ever uses our internal phone system anymore, since we’re all on hybrid schedules. Everyone just uses Teams audio to call. So it’s convenient for that.

Of course, it’s not really necessary; I can always access email and Teams on my laptop. But I can’t leave my laptop on and connected to VPN 24/7, and it takes so long to boot it up and go through all the connection stuff that I would never check my email or Teams in my off-hours if I had to do it that way. So the iPad is kinda necessary, if I want to be accessible outside my normal work schedule. And it’s really useful for picking up a Teams call even during work hours.

But it’s from 2016, and is too old to be upgraded to iPadOS 16. And that should be fine, since iPadOS 15 is fine, and Apple is still releasing security updates for it. But my company uses Microsoft Intune to manage mobile devices, and I started getting emails recently telling me that I had to update it to 16.1.1. Initially, it looked like they had backed off on that and would support 15.7.1. But then I started getting the email notices from Intune again, and support confirmed that they would only allow iPadOS 16. (As a side note, I suspect that they could probably support both, but just don’t want to…)

So my initial plan here was just to trade in the old iPad for a new company-owned one. My boss approved that, but the mobile support guy told me that the company does not issue iPads, only iPhones. I could have gone down a rabbit hole here, arguing my case, or trying to find a way to get one through our internal Apple sales team. (We resell a lot of Apple devices, so I could have probably wrangled a slightly damaged customer return or something like that.) But I decided that would be an uphill battle, and it would just be easier to buy one myself.

My initial plan was to buy myself a new iPad for personal use, then repurpose my current personal iPad as a work iPad. That seemed like a good idea, but, looking at new iPads, I saw that I’d have to spend around $600 on an iPad that was equivalent or better than the one I have now, and I didn’t really want to do that. I eventually settled on buying a “scratch and dent” 2019 iPad from Woot for $200.

So now I have a 2019 7th gen iPad for work, and a 2019 iPad Air for personal use. Hopefully, both of them will keep working for awhile.

I spent a ridiculous amount of time setting up the new work iPad yesterday. The “easy” setup method, where you put the old iPad next to the new iPad, and the setup process tries to copy stuff over via Bluetooth (or whatever) got stuck. I gave it a few hours, and it didn’t time out or give me any errors, but it clearly wasn’t working. I eventually gave up and set it up as a new iPad, and then updated it to iPadOS 16.

I then had to go through the bureaucracy necessary to get it enrolled in Intune. That wasn’t too bad, though I did have to open a support ticket, since it didn’t work the first time I tried. And they haven’t removed the old iPad from Intune, so I’m still getting stern warning emails about updating it to iPadOS 16.

I’m wondering what I should do with the old iPad now, since they told me that they don’t want it back. It’s still in perfect working order, except for not being upgradeable to iPadOS 16. I guess I should just hand it in to Apple for recycling, but maybe I can find someone who wants a free iPad.

Messing with this stuff has also got me thinking again about the semi-permeable membrane between personal stuff and work stuff. It’s funny how that distinction has gotten blurred over the years, with BYOD programs and WFH, but how it’s now getting more distinct, with all the security measures we’ve been putting in place lately. Intune enforces a bunch of requirements now, such that I would never want to enroll my personal-use iPad or iPhone in the company MDM program. I use a separate iCloud account for the company iPad, and I’m really leery about doing anything with a personal account on a company device or vice versa nowadays.

So I guess I’ve succeeded in writing a long and rambling blog post on iPads, and can now get up and go out for a walk. It was a little below freezing when I started writing this, and is now a little above freezing, so I guess it’s warm enough for a walk now.

social media, and comics, and RSS

This is a follow-up to yesterday’s post about social media and related stuff.

First, I got off the waiting list for Post not long after I wrote yesterday’s blog entry. So I now have an account there. So far, it’s mostly dog and cat photos, and “hello world” posts. So I guess I’ll just keep an eye on that and see if it develops into something interesting or not.

I also signed up for an account on Hive today, after reading an article about how a bunch of comic book creators are moving to Hive. But their email verification system was down today, so I couldn’t complete the account registration. Maybe tomorrow.

Meanwhile, I decided to finally pay $5 to update to the latest version of Reeder for iOS, then also talked myself into paying $10 for Reeder for macOS. And I went through my RSS subscriptions in The Old Reader and organized things a bit and added some more subscriptions. So maybe I can convince myself to spend more time in RSS vs. Facebook and Twitter.

Also meanwhile, GoComics might be back up! It’s not coming up for me right now, but apparently it was for some people, earlier today. So maybe I’ll be able to read Garfield tomorrow morning. Wouldn’t that be nice?

Oh, and one more thing: the unread count on my “read/review” folder in my email is now at an even 6000. So, really, I’m not going to run out of stuff to read on the internet any time soon.

Social media alternatives

I’m still using Twitter, despite all of the Elon Musk nonsense. I access it only via Twitterrific, which makes it much nicer than via the official app or website. (No ads, and a simple reverse-chronological feed.) Still, I’m looking around at alternatives, both in terms of social media platforms, and in terms of “things to do on the internet” in general.

I signed up for an account on CounterSocial, but I don’t see much of a point to that. And I got myself on the waiting list for Post, which sounds interesting, but I can’t do anything there until I get to the top of the waiting list, I guess. I’ve looked at Mastodon,  but I haven’t set up an account there, partially because I’m not sure which server I should use. So I haven’t really hit on anything that “replaces” Twitter.

Meanwhile, I re-subscribed to GoComics recently, and I’ve been reading my daily comic strip email every morning in place of my early-morning Twitter browsing, and that’s been good… until this weekend, when GoComics seems to have gotten hacked or something. There’s not much info out there on the outage, so I have no clue how long it’s going to last or if I should be worrying about my credit card number.

ComicsKingdom is the other big comic strip site. I don’t subscribe to that one, but I’ve been thinking about it. They had a minor outage today, but apparently just a blip. It’s back up again.

So, moving on from comics, I’ve also tried to get back into reading stuff via RSS feeds. I still have an account at The Old Reader, and follow a bunch of news sources and blogs via that account. I use Reeder on iOS/iPadOS to browse the account, and I just use The Old Reader web interface on my Mac and PC. I keep thinking I should switch from The Old Reader to something fancier like Feedly or NewsBlur, but I never get too far with that.

I’ve also been trying to catch up a bit on my backlog of email newsletters. I’m currently on April 2021, so about a year and a half behind. I have them all in a “read/review” folder. Sometimes, I sort it “newest first” and look at some of the new stuff, but usually I sort it “oldest first” and just read through the old ones and discard them as I go. I feel like I should just delete a bunch of the old ones all at once, and maybe “fast forward” a year or so. I’ve thought about doing that a few times, but I can never talk myself into doing it.

So I guess I have plenty of stuff to use to distract myself, outside of Twitter. It’s always fun to spend a little time evaluating sites, sources, and tools, and tweaking things a bit.

Old Media

I went down a rabbit hole over the weekend, and I thought it might be fun to write up some notes on it. I had decided that I wanted to watch Magnificent Butcher, a Sammo Hung movie from 1979. I have it on DVD, so I pulled it out of my random DVD pile and stuck it in my Xbox.

The Xbox appeared to boot up, but I couldn’t get anything to show on the screen, and I couldn’t eject the DVD. Long story short, I eventually got the DVD out and the XBox working, but it was stuck in 640×480 resolution. I eventually got it back to normal 4K resolution, but that’s another long story.

So back to the Sammo Hung DVD: I decided that this might be a good excuse to experiment once again with DVD ripping, and watching ripped DVDs on my Apple TV. I have HandBrake installed on my PC, with libdvdcss, but I haven’t used it in a long time. Well, it still works, and I ripped the DVD with no problems.

Next issue: how to watch it on the Apple TV. First, I decided to hook up an external USB drive to my new router. My old router supported an external USB drive too, but I tried it once and found it to be slow and unreliable. So I thought I’d give the new one a try and see if it was better. Well, it was. I hooked up an old 500 GB SSD, formatted as NTFS. The router recognized it, no problem. It automatically exposed it via Samba. I had no trouble accesssing it from my Mac or PC. And it’s pretty fast! So I copied the .mp4 file for the movie up to it, along with a few other random .mp4 files I had on my PC.

Next, I had to decide how to access that shared drive from the Apple TV. I already had VLC installed on the device, so I tried that. It connected to the Samba share, no problem, and let me watch the movie. So I guess I have a pretty good way of watching random .mp4 files on my Apple TV now.

So maybe I should go buy Ladyhawke from Rifftrax and watch that! I’ve been tempted to buy videos from Rifftrax before, but I’ve always held off, since I didn’t have a simple way to watch them on my TV.

I also remembered that I’d copied a few Akira Kurosawa movies from my TiVo to my MacBook several years ago (2016, apparently), via cTiVo. I gave one of those a try, and it works with VLC on the Apple TV too, so now I can copy those files over to the drive and watch them from Apple TV.

And that got me curious about whether or not cTiVo would work on my current MacBook. Well, it does. It was updated earlier this year, and should keep working for a while longer, though I guess it’s on its last legs.

So now I’m copying a few more Kurosawa movies up to my Mac, and I’ll copy those over to the drive tomorrow, so I can have a little Kurasawa marathon at some point in the future. (Of course, there’s no reason I can’t watch the ones that are still on the TiVo, on the TiVo, but…)

I also took an old scratched DVD that wouldn’t play on my Xbox and ripped it on my PC. It didn’t give me any errors, though that doesn’t guarantee that the .mp4 is perfect. I’ll try watching that soon, I think. (The movie is Syriana, and I’ve had the DVD for years, and just never got around to replacing it. So now I can finally watch it! Probably!)

As an alternative to VLC, I’ve considered Infuse, which is probably better, or at least prettier. And of course there’s Plex, which I’ve tried before, and was just too much of a hassle.

Looking at the Plex web site right now, they seem to be de-emphasizing their original purpose as a way to stream your own media, and are now touting the ability to watch free live TV via their app. Most of what they have seems like the same kind of stuff you can get via Pluto, so I’m not sure why anyone would be too excited about it. But OK.

So, anyway, I now seem to have a relatively hassle-free way to watch .mp4 files on my Apple TV. I don’t think I’m going to go on a bender, ripping a bunch of my old DVDs, but I may take some of the more questionable ones and rip those. (Maybe some more old Kung Fu movies that might be a little scratched up.)

Programming Potpurri

I’ve been meaning to write a blog post or three about some of the programming-related stuff that I’ve been doing at work recently. But I keep putting it off. I’ve got some energy today, and a little spare time, so I’m going to try to write up some random notes.

Razor Pages

A while back, we had an old SharePoint 2013 page stop working. The page uses a control that I wrote in C#. The control really has nothing to do with SharePoint; it’s basically an old-fashioned ASP.NET web form that makes some web service calls, populates some controls, gathers user input, then makes another web service call, then redirects the user to another page. The only reason it’s in SharePoint is… well, that’s complicated. Let’s not get into that!

Anyway, fixing the page would take about five minutes. I’m pretty sure all I needed to do was increase a timeout, and increase the max receive size on a certain web service call. But… my SharePoint development VM got nuked in our security incident back in July. So the actual time to fix the error would be more like several days, since, at this point, I have no clue how to build a SharePoint 2013 development machine from scratch. I’m pretty sure I could do it, but it would take a lot of time and effort.

So I decided to just rebuild the page as a single-page ASP.NET Razor Page project, which seemed like it would be a fun thing to do, and might be a good model for moving some other stuff out of SharePoint. At the time, I wasn’t too busy. Of course, that changed, and now I kind of regret diving into this. But I did, and managed to learn enough about Razor to get the page done and into production.

I’d known a bit about Razor already, and had messed around with it on and off over the last few years. But most of my recent ASP.NET work has been web services, so there’s no need for Razor there. First, I was surprised to realize that Razor has been around since 2010. Scott Guthrie’s blog post announcing it is from July 3, 2010. I’ve still been thinking about it as “new,” but I guess it’s not. Heck, I guess it could even be considered “legacy” by some folks. (I guess maybe Blazor is what the cool kids are using now?)

Since it’s been around awhile, there are some reasonably good resources out there for learning it. But, also since it’s been around awhile, a lot of it is scattershot, or out of date, or not really relevant to what I was doing. The best resource I found is the Learn Razor Pages site. I almost bought the related book, ASP.NET Core Razor Pages in Action, but before I got around to it, I was pretty much done with the project, and had to move on to other stuff.

Dynamics 365

So, with the changes that are going on at work, it looks like I’ll have to be doing a lot more work with Dynamics 365. D365 is a pretty big topic. It looks like I’ll probably be mostly concerned with Dynamics 365 Sales (formerly known as CRM). I took a three-day class on Power Platform back in 2020, which is kind of the underlying technology for D365. Power Apps and Dataverse in particular are important. (The terminology on this stuff is really annoying. When I took that class two years ago, Dataverse was called “Common Data Service” and some of the other related terminology was different. It’s hard to keep up…)

I now have Pluralsight and LinkedIn Learning access via work, so I watched some videos on those sites, and on Microsoft’s Learn site, to refresh my memory from previous efforts to learn this stuff, and pick up on the new stuff. I guess I’m now almost at the point where I could be useful…

VSTO and EWS

Related to all that, I’ve been assigned to work on an Outlook plugin that ties into D365, and a console app that does some back-end processing related to the plug-in. So now I also need to learn VSTO, which is how the add-in was built, and EWS, which is used in the console app.

VSTO is a bit out of date, but not yet deprecated. If I was going to do a major rewrite on the plug-in, I’d probably switch to Office Add-Ins, which is a bit more modern, I guess.

And EWS is also out of date but not yet deprecated. If I wanted, I could probably move from that to the Graph API.

The main thing I need to do with these projects is to get them to work with Exchange Online. (We’re in the middle of migrating from on-prem right now.) I think I won’t actually have to change the plug-in at all, since it’s working with the Outlook object model, and I don’t think that cares if the email came from Exchange Online or on-prem. There might be a “gotcha” or two in there, though, so I need to at least test it.

For the console app, EWS still works with Exchange Online, but I know I’ll have to change a few things there, including switching over to OAuth for authentication.

And both apps seem to need some cleanup in terms of logging and error-checking. I know that if I make changes to these apps, then people are going to start coming to me with support questions, so I’ll need to make sure I have enough logging to provide support.

There’s actually been a lot of overhead involved in getting up and running on this project. These programs were originally under a different dev group, part of which has gotten moved into my group, so they’re using some conventions and utilities and stuff that I don’t know, and need to learn (and in some cases, gain access to). And I don’t have Outlook on my dev VM, since that’s not normally allowed (for security reasons). And I can’t get to the Exchange Online version of EWS, since that’s blocked (for security reasons). And I need to set up a new app registration, so I can access EWS with OAuth, and that needs to be approved by a global admin. And so on.

Was there a point to this?

If there’s a point to all this, I guess it’s just that I need to keep learning new things and being flexible. I saw a funny comic strip recently about an old man whose doctor tells him that he can help keep his memory sharp by learning new skills. And the old man says that his memory isn’t good enough for him to learn new skills. And of course I can’t remember where I saw that strip now, so I can’t link to it here. It was probably on GoComics, which I recently re-subscribed to, after canceling my subscription almost a decade ago. I’ve decided that reading the comic strips every morning is healthier than browsing Facebook and Twitter, so that’s why I re-subscribed. (I may also sign up for Comics Kingdom too, but that’s a subject for a different blog post.) Anyway, since I can’t find the strip I was looking for, here’s a different one, along similar lines.