Microsoft certification

I’ve been trying to learn a lot of new stuff lately, including Power Platform, which I’ve mentioned a few times recently. And I’ve been thinking about taking the certification exam for that, PL-900. My company has access to something called ESI from Microsoft, which used to allow us to take MS exams for free. Well, I guess I waited too long on the PL-900 exam, since they changed ESI so it now only provides a 50% discount. And the ESI site used to allow us to take MeasureUp practice exams, but now it just shows us simpler Microsoft-provided practice tests. I’ve seen some talk about both of these changes on reddit, here and here.

Well, at 50% off, the test is only $50, which I can, of course, afford. Thirty days of access to the MeasureUp practice exam is $99, though they’ve got a 30% off sale going on right now. That might be worth it, but maybe not. I haven’t tried the new Microsoft practice test yet, though it seems to be less full-featured than the MeasureUp one.

Anyway, my last Microsoft cert exam was in 2010. It’s so hard to keep up with all this stuff. I’ve been busy enough this week that I haven’t gotten back to any of my “spare time” learning work. If I really want to take (and pass) that PL-900 exam, I need to brush up on a few things first.

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.

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.

Visual Studio extensions and alternatives

Another (relatively) quick post for today: It just occurred to me that, since my work VM has been restored from an older backup, the changes I made to Visual Studio a week ago are all gone. And that’s fine. I wasn’t entirely convinced that CodeRush was something I wanted to stick with anyway.

Since my VM is a little messed up now, I’ve been thrashing around a bit the last few days trying alternate ways to test some stuff out. I have some PowerShell scripts that I usually run on my VM, and I thought it would be fairly easy to copy them over to my laptop or desktop and run them there. But the specific set of modules I need is apparently a little complicated, and I haven’t been able to exactly recreate my environment. I’m sure I could, given time, but oh well.

Then I came up with the idea of installing LINQPad on my desktop and running some stuff there. That wasn’t terribly hard to do, but I’m referencing some DLLs in those that aren’t on my desktop, and, again, recreating the specific environment I needed got a bit too complicated and I gave up. That did get me thinking about upgrading my Pro license to a Developer license, so I’d have nuget support. I might still do that, but not right away.

And, finally, I have been looking at JetBrains Rider a bit lately. I noticed last week that their prices have gone up. Rider is still pretty affordable though. The old price was $139 for the first year (for personal use); the new price is $149. As a subscription product, that’s still enough that it’s not an impulse buy for me. I’d have to know that I was actually going to use it consistently, outside work. But lately I’m not doing enough programming outside work to justify it.

Visual Studio extensions and tweaks

I’ve been spending some time at work recently messing around with my Visual Studio setup. I’ve been fine with my current setup for awhile, but I started getting restless recently. I guess it started when I started reading Clean Code, and watching the associated videos. That got me thinking about automated refactorings, which got me looking at JetBrains Rider and Resharper. And looking at Resharper reminded me of the existence of CodeRush.

I’ve occasionally thought about trying out something like Resharper or CodeRush, but I never got around to it. There are a number of reasons for that, mostly around the cost and the possible performance penalty. But I noticed recently that CodeRush is now available for free, so I figured I’d give it a shot. (And I think Roslyn made it easier for extensions like CodeRush to work without a big performance penalty.)

My normal VS setup, which I’ve stuck with for a while now, is pretty basic, with Mads Kristensen’s Web Essentials, and DPack Rx. I use DPack primarily for the numbered bookmarks, and Web Essentials for a number of random things. CodeRush includes numbered bookmarks, so I thought I’d try removing DPack, installing CodeRush, and seeing how that worked out. So far, I’ve found that CodeRush’s numbered bookmarks don’t work quite as well as DPack’s. There are a number of other interesting features in CodeRush, but I’m not sure if any of them are compelling enough for me to keep CodeRush installed.

I also briefly considered uninstalling Web Essentials, and then just reinstalling the specific extensions from that collection that I’m actually using. But I couldn’t quite talk myself into that, so I’ve still got the whole collection installed.

On a related subject, I recently listened to an episode of .NET Rocks with Mads Kristensen on VS 2022 extensions. And another one with Mark Miller (author of CodeRush). I’m not currently subscribed to .NET Rocks in my podcast client, but I do check in on it occasionally to see if there’s anything interesting.

Getting back to the general subject of VS extensions and setup, I also revisited my work setup and tried to decide if I could switch from VS 2019 to VS 2022. I do my VS development at work on a VM that’s running Windows Server 2012 R2. That probably seems weird, but it’s necessary for Dynamics AX development. And VS 2022 isn’t supported on Server 2012, though I could probably get it to work. So I’ve been going back and forth on whether or not I should try to install it on my current VM, or maybe ask my boss for a new Windows 10 VM to use for VS 2022. I’ve decided to stick with VS 2019 for now, but I may need to ask for a new VM at some point. In part because I have a .NET 5 project in VS 2019, and .NET 5 is no longer supported. And .NET 6 isn’t supported in VS 2019. So it’s all kind of complicated. Asking for a new VM shouldn’t be a big deal, but I’m a little nervous about it, since I just got a new boss, and I’m now in a different sub-division of the IT department, and the rules about this stuff might be a little different than they were under the old boss, so I want to feel things out a bit before I start asking for stuff.

I did install VS 2022 on my personal laptop back in May. I do like it, and would love to be able to switch over to it. (Unlike some previous versions of VS, they don’t seem to have made any really bad UI decisions that make me want to stick with the older version…)

I also spent a little time messing with the default font in VS on Friday. I’ve stuck with Consolas for quite some time now. But  I was watching a LinkedIn Learning video on Friday where the teacher’s setup was using Cascadia Code, and it looked kind of nice. I’d read about Cascadia Code when it came out, but I never got around to trying it. So I switched over to it for a little while, but then decided to switch back to Consolas. The whole code ligature thing is interesting, but Consolas just seems to work better for me.

All of this fiddling around made me think about the balance between sharpening the saw and… pointless procrastination. (It’s bothering me that I know that there’s a clever metaphor similar to “sharpening the saw” that basically means “pointless procrastination”, but I can’t remember what it is.)

Well, I’ve now killed a bunch of time on a hot Saturday morning, drinking iced coffee, waiting on my grocery delivery, and writing a rambling blog post. My plan for the rest of the day revolves mostly around watching the last two episodes of Stranger Things on Netflix. Life is good, I guess.

Clean Code, Visual Studio, Windows 11, and a bit more on ebooks

I wanted to add some more notes about the whole Kindle, EPUB, MOBI, etc. thing that I’ve been blogging about in my last few posts. As I mentioned a few posts back, I’ve been working my way through the Clean Code learning path in O’Reilly. Since I’m probably going to lose access to O’Reilly before I’m done with that, I thought I’d buy a copy of the Clean Code book, so I could finish reading it at my leisure, and to have it for later reference. With tech books, I usually like buying a DRM-free ebook directly from the publisher, when possible. In this case, I initially had some trouble finding that, but eventually figured out that it’s purchasable through the InformIT site. I bought the Robert C. Martin Clean Code Collection ebook, which contains both Clean Code and The Clean Coder. I had a discount code, so it was about $40 total.

I copied the EPUB, MOBI, and PDF files for the book to OneDrive. There are a number of ways I can read an ebook on my iPad, if it’s DRM-free and available in multiple formats. For this one, I wound up sending it from OneDrive into my Kindle app, as a MOBI file. That method still doesn’t support EPUBs. And it will copy the file up into my Kindle library, which is nice. I don’t think I’d ever copied anything into the Kindle library that way before, but it worked fine. I also copied the PDF into GoodReader. The code listings in the MOBI version look a little weird, which is a common problem with tech ebooks, so it’s nice to have the PDF handy as an alternative.

Clean Code has some example refactorings that are fairly interesting. They’re all in Java, but I thought it might be interesting to take the original Java code for one of the examples, convert it to C#, get it working, then work through some refactoring that’s similar to what Uncle Bob does in the book/videos. I found some of the code for the examples in GitHub under the Clean Code Kata user account. (I’m not sure if that’s an “official” account for Bob Martin or his organization, but either way, the code is there.)

This idea to convert some of the examples to C# and work through them was prompted in part by a desire to set up a .NET dev environment of some sort on one of my personal machines, and to maybe experiment a bit with some of the more recent .NET stuff, like .NET 6 and VS 2022. I realized that I don’t currently have any dev stuff at all set up on my desktop PC, my MacBook, or my Lenovo laptop. The MacBook is new, so I just haven’t set any dev stuff up yet. The Lenovo was bought in 2020, and I haven’t gotten much use out of it at all. And I’ve been trying to keep the desktop PC free of any heavyweight dev tools, since I just want to keep it clean for personal productivity stuff. After going back and forth on a few possible setups, I decided to install Visual Studio 2022 (Community edition) on my Lenovo laptop. I considered just installing the .NET 6 SDK and Visual Studio Code, which would have been much more lightweight, but I’m used to using the full VS product, and I can’t see a reason not to use it. And the Lenovo is the best place to install it, since I can wipe out that machine entirely and start fresh if things get too messed up. I’ve also recently upgraded that laptop to Windows 11, so this was also an opportunity to (finally) give that a try.

Of course, I’ve had other things to do this weekend too, so I’ve only gotten as far as installing Visual Studio and git, and tweaking some settings. Maybe I’ll actually do some programming next weekend. (Or maybe I’ll get distracted by something else, and the whole thing will fall by the wayside.)

iOS notification issues and MS Authenticator issues

This is going to be a bit of a gripe post, but there might be some useful stuff in it. Or not. But it’s one of those things where writing it up might help me feel better about it, and might also come in handy later if someone has a similar problem. (Or if I have the same problem again and can’t remember some details.)

So this all started, I think, after I spent some time messing around with the new iOS 15 focus modes. I’d played around with them a bit when iOS 15 first came out, but something made me decide to mess around with them some more. To make a long story short, I tried out the “sleep” focus mode for a day or two, then decided that it wasn’t for me and went back to just using the “do not disturb” mode, scheduled to turn on at 10 PM and off at 5 AM every day.

After that, some of my notifications stopped working. I’m not sure that messing with focus is what broke notifications, but I’ve read up on the issue a bit, and it seems like that’s the most likely culprit. It seems like there’s a bug in iOS 15.2 that messes up notifications in some cases, often after you’ve messed with the focus setup. I’m pretty sure these were all notifications that would fall under the “push” category. So I wasn’t getting notifications on new emails from my Fastmail app, which was annoying but not a big deal. But I also wasn’t getting notifications on MS Authenticator, which is kind of a big problem for me.

I have more than a dozen accounts set up in MS Authenticator, mostly for CSP-related accounts. They all require MFA, so when I log into one of those accounts, it sends a push notification to my phone that I need to approve. And that wasn’t working. There’s a fallback, where I can get a six-digit code from the app and type that into the web browser. That’s what I’d been doing for a few days, but I really wanted to fix that.

I’d seen some advice online about fixing the notification issue by removing any app that wasn’t working, and reinstalling it. That worked for the Fastmail app, so I thought I’d try it for the Authenticator app too. Now, the Authenticator app has an option to back up its configuration to iCloud. And I had that turned on, so I thought I would safely be able to pull it back in after reinstalling the app. Well, it turns out that it’s not that simple. I did manage to pull in the backup, but for most accounts, you have to go back and redo the setup on the account anyway. You’re just pulling in a placeholder from iCloud. That was a pain, but not a huge problem, for accounts where I had my cell phone number set up as a backup. But for some of the oldest accounts, I either don’t have a backup, or I have my work desk phone set as the back up. And I’m working from home and don’t have a way to get to my desk phone. So that’s a problem.

Tomorrow, I’m going to try to find someone else with admin rights who can go in to Azure AD and set my cell phone # as my backup auth method so I can finish the setup on these accounts. I’m a little worried that I may have to bug someone at a fairly high level to do this, which could be a little embarrassing. But hey, we all screw up now and then. And this is more Apple and Microsoft’s fault than mine. (Apple’s fault for screwing up notifications in iOS 15.2, and Microsoft’s for not making it clear that the MS Authenticator iCloud backup isn’t really much of a backup.)

So the lesson here is that, before wiping out MS Authenticator, go into all of your accounts and make sure you have a good phone # and/or email address set under your backup authentication methods.

Once this is all straightened out, I need to write up a good procedure for transferring my MS Authenticator setup from one phone to another. My current iPhone just hit its three-year anniversary, so it’s time for me to start thinking about a new one. Setting up a new iPhone generally isn’t that hard these days, since you can just restore from an iCloud backup and most of your stuff will work. But there’s always some odd bits, like MS Authenticator, that trip you up. Even with all of my accounts set up correctly with backup auth methods, it’ll still take me an hour to get them all done. For each one, I basically need to open a new private browsing window, log in (using the SMS message backup option), then go to my account profile, delete the old MS Auth setup, add a new one, scan the QR code, wait for it to send a test push notification, approve that, and then finish the setup. That can take five minutes per account. I’m wondering if there’s a better way to handle this. Probably not. Most people don’t have Azure AD accounts in a dozen different domains, all requiring MFA, so my situation is not exactly a common use case that MS would have designed for.

Online Learning Resources

I have a bunch of topics I’ve been meaning to blog about this year, and just haven’t had the time to get to too many of them. A lot of my blogging recently has been more “getting stuff off my chest” blogging or “clearing out my head” blogging. But I have a few topics to cover that might be mildly useful to other people. Today’s topic is going to be an overview of online learning resources. I had to write up some notes of this stuff for work recently, since we’re doing a review of the training resources we make available in the IT department. So this post is basically repurposed from an email I sent to my boss.

I get a fair amount of use out of Pluralsight. I have my own subscription, but we also have a department subscription at work. Pluralsight is really good for .NET stuff and other Microsoft-specific programming topics. It does cover topics outside of the Microsoft ecosystem, but not as well. It’s all video training (no books).

We also have a Percipio account at work, and I’ve poked around in it a bit, but haven’t gotten much out of it. There are a lot of books and videos available, and it covers a much wider set of subjects than Pluralsight. There’s probably a lot of useful stuff in there, but it’s not that useful for me. (Percipio seems to be a rebranding of Skillsoft, which I also have access to via my ACM membership.)

I’ve also tried out LinkedIn Learning, which we have access to at work. This platform has a much wider breadth of material than Pluralsight or Percipio, and includes a lot of non-IT oriented stuff. I’m looking at the home page now, and I’m seeing stuff like “Life Mastery: Achieving Happiness and Success”. Basically, a lot of “soft skill” stuff. There’s plenty of content for programmers too though. Like Pluralsight, it’s all video (no books). From what I’ve watched, I’d say that the quality of stuff on this platform is pretty mixed. Some of it is really good, and some of it is more on the level of what you’d get from random YouTube videos. (And LinkedIn Learning is a rebranding of Lynda, which I still (I think) have access to via the Somerset County Library.)

Through my membership in ACM, I have access to the O’Reilly learning platform (formerly Safari), which is, I think, the best one out there for programming topics. They have basically every programming-related book that gets published by any of the major publishers (and some minor ones). It used to be just an ebook platform, but they’ve adding a lot of video content too. And the ACM access used to be to just a subset of the full Safari library, but it’s now the full library, which is awesome. (See previous mention here.)

Outside of paid learning platforms, there’s a lot of free stuff out there now. Microsoft has a lot of stuff at Microsoft Learn and Channel 9. And all of their conferences went virtual (and free) in 2020. Both Build and Ignite had some good content last year. Ignite is already scheduled for March 2-4 this year, and will be free and virtual.

In terms of my own current online learning, I’m trying to finish a course on ASP.NET Core Fundamentals on Pluralsight. I’ve been really busy at work though, and haven’t watched any of it in more than a week. (And yes, I know, I could watch it at night or on the weekend, but I’ve been either tired and/or busy on weeknights and weekends lately too. But that’s a subject for an entirely different blog post.)

managing long-term reminders, take three

Back in November, I had a problem at work, where all of my long-term reminders in Outlook were unexpectedly deleted. The details on that can be found here, with some follow-up here. I’d managed to move all of the tasks to Planner, but I wasn’t really happy with it. At the beginning of this year, I revisited things and decided to delete them from Planner and re-create them in To Do. I still wasn’t 100% happy, but To Do was close enough that it would be workable.

Well, today, I launched To Do and got a message saying “Your account is incompatible with To Do”. Apparently, Microsoft has decided to no longer support using To Do in an environment with on-premises Exchange. Some detail on that can be found here. So I had to print my To Do list to PDF, then re-enter it back into Planner. I’m not real happy about that, and I still don’t really like Planner.

I’d like to switch to Todoist, but that’s now officially on the forbidden list at my company, for some reason. Trello is allowed, but that’s not quite what I’m looking for. Remember The Milk isn’t on either the approved or forbidden lists, so maybe I could try that?

I generally resist combining personal and work stuff into a single account/system, but maybe for this I should consider it. I won’t be storing any proprietary or sensitive data in my reminders system, just basic notes like “renew this SSL cert by this date.” I use Evernote for all of my personal reminders, and that’s probably good enough for the work stuff too, though I’m not really comfortable with the idea. Oh well. I’ve spent too much time on this stuff today, so I should really just stop. Planner is good enough for now, even if I don’t really like it.

 

new Lenovo laptop

The new laptop that I ordered on Sunday showed up today. It’s a Lenovo Flex 5, from Costco. I don’t have much to say about it yet. It’s about what I expected. It seems to be pretty solid, but it’s definitely from Lenovo’s consumer side rather than their business side. It’s got a touchscreen, and it can be folded all the way back so it can be used as a tablet. It didn’t come with a pen, but it appears to support pen input. I don’t know much about Windows 10’s pen support, but I might look into it, just out of curiosity.

The keyboard is okay, but not great. And the layout is sensible, but of course it’s at least slightly different from my other two current laptops (my personal MacBook Air and my work HP laptop), so I’m going to be stumbling on key locations, but that’s life. The camera works, but apparently can’t be used with Windows Hello. (That’s fine. I don’t really need that.) It’s also got a fingerprint reader that I haven’t tried to set up yet.

The laptop didn’t have too much bloatware on it. During setup, Lenovo gives you the option to install a few things that you really don’t need, so I appreciated the opportunity to decline those. I did have to uninstall two separate McAfee products though. I got a few essentials installed on it today (Evernote, 1Password, Firefox, Notepad++, and a few other things). And I got it updated to Windows 10 Pro (from Home). I’ll probably install some dev tools on it tomorrow and/or over the weekend. And maybe Steam too, so I can play some games.

I have a couple of other topics I wanted to blog about too, but they’re totally unrelated to this, so I may write them up separately later or over the weekend.