Evernote, and Apple, and other stuff

In my last post, I mentioned that I had not yet upgraded to the new version of Evernote on iOS, Windows, or Mac, nor had I been prompted to upgrade. Yesterday, the iOS client got pushed down to my iPhone. And I was prompted on my PC to upgrade to the new Windows client. (I skipped that and stuck with the old version for now.)

The iOS client is fine. I don’t have any issues with it. It looks good, and it’s no less functional than the old client, as far as I can tell. It’s not particularly fast, but neither was the old iOS client. So I went ahead and updated it on my iPad too. It works fine there. So no problems with iOS.

For Windows, I decided to upgrade it on my Lenovo laptop and play with it a bit. I’ve honestly barely used that laptop since I bought it back in June. So it seemed like a good place to try out the Windows client without having to worry about messing up my regular setup. The new client works fine, and I think I like a few things about it more than the old client, but I’d need to work with it some more to be sure. It seems to be a little slower than the old Windows client. And the font looks a little weird, but that might just be that I need to tweak the display settings on the laptop. There’s a dark mode, and I’ve found that it works better for me than the light mode. Overall, it definitely seems to be less configurable than the old version, but there’s nothing in particular that I want to change, and can’t.

On another subject: I’ve upgraded both my iPhone and iPad to iOS 14. I waited for 14.1 to come out before upgrading. I’ve had no issues on either the iPhone or iPad. I’ve messed around with widgets a bit, but I haven’t gone nuts with them. For now, I’m just leaving them on their own screen. There’s not much else in iOS 14 that I’m really interested in, but I do want to try out the “headphone accommodations” feature at some point, given that I’m partially deaf in my left ear, but have (fairly) normal hearing in my right ear. Maybe it’ll help.

Upgrading the iPhone triggered the notice to upgrade my Watch to watchOS 7. That turned out to be quite a problem. The update needed 3.1 GB of free space, and I didn’t have that much. In the past, rebooting the watch would often clear enough space to run an update, but this time I had to go as far as un-pairing and re-pairing it. That basically wipes it and leaves you with a fresh OS install, so I then had to go back and reinstall apps and redo my watch face customizations and reset all my preferred options. And it turns out that watchOS 7 doesn’t really do much for you if you have a Series 3 watch, like I do. I was hoping for at least the handwashing timer, but you need a Series 4 for that.

So that’s got me thinking about picking up a new watch. And, of course, with the iPhone 12 out, I’m a little tempted to trade in my phone too. Both my phone and watch are a little less than two years old, and I like to hold on to these things for three years minimum, if I can. So I probably shouldn’t be thinking about buying new Apple gear. But, hey, in a year when I couldn’t travel at all and haven’t had to spend hardly any money on gas or car maintenance, why not blow a few bucks on unnecessary Apple hardware?

And on one last Apple-related note: I got a lot of enjoyment out of my Apple Music subscription today. The new Bruce Springsteen album came out, and I listened to that twice. And there’s a video interview with Bruce that I watched. (Or mostly just listened to, since I was working at the time.) And a new Jeff Tweedy album came out today, so I listened to that too. And I discovered the “My New Music” mix today. Apple already knows enough about my musical taste to put together a pretty good mix, including new AC/DC, Elvis Costello, John Cale, Pixies, and Bob Mould. So I’m feeling pretty good about Apple Music right now.

Evernote changes

Evernote has been going through some changes lately. They’ve introduced new client software for iOS, Windows, and Mac. I haven’t updated to any of the new programs yet though. I assume the iOS one will get pushed down automatically at some point. For the Windows and Mac clients, I don’t think they’re pushing them out automatically, so I can probably keep using the old software until they’ve worked out the bugs in the new stuff.

The new Windows and Mac clients have gotten a lot of bad reviews, from what I’m seeing on reddit and elsewhere, so I’m a little afraid to try them. I’ve been actively using Evernote since 2014, and I’ve got a lot of notes in there. I realize that the folks complaining on reddit are probably a small subset of total Evernote users, and the new clients are probably fine, but I want to be careful.

Evernote’s CEO, Ian Small, has been doing a bunch of interviews with productivity YouTubers recently, to promote the new clients and to answer questions and concerns about Evernote’s direction. Here are links to three recent interviews:

It’s kind of interesting to see how much effort he’s putting into this, and how he’s approaching it. Evernote is big enough that he could probably be giving interviews to (for lack of a better term) more mainstream tech journalists, but he’s going with random productivity YouTubers instead. It seems like he’s trying to really reach out to the serious productivity nerds.

One thing he’s had to defend is his choice to rewrite the clients in Java Script, using Electron. That’s actually a pretty safe choice for a cross-platform app right now, but it does leave you with an app that’s probably going to be slower than an app written in, say, C# on Windows or Swift on Mac, using native libraries on each platform. But Electron apps don’t have to be slow.

With all the uncertainty around Evernote, I spent a little time recently looking at the possibility of moving to OneNote. Microsoft has an importer that you can use to make the move. I haven’t tried it, but it’s good to know that it exists. I use OneNote at work (since that’s our standard), and it’s fine, but I like Evernote a lot more.

So hopefully, they’ll keep iterating on the Windows and Mac clients, and by the time I switch over to them, they’ll be fast and reliable.

PowerShell profiles and prompts and other command-line stuff

I’ve been spending some time at work this week rearranging some stuff between my two development VMs, and I hit on a few items that I thought might be worth mentioning on this blog. I have two development VMs, one with a full install of Dynamics AX 2012 R2 on it, and another with a full install of SharePoint 2013 on it. Both are running Windows Server 2012 R2. And both have Visual Studio 2013 and 2017 installed. My AX work needs to get done on the AX VM, and any old-style SharePoint development needs to get done on the SharePoint VM.

General .NET development can be done on either VM. For reasons that made sense at the time, and aren’t worth getting into, my general .NET work has all ended up on the SharePoint VM. This is fine, but not optimal really, since the SP VM has only 8 GB of RAM, and 6 GB of that is in constant use by the SP 2013 install. That’s leaves enough for VS 2017, but just barely. The AX VM has a whopping 32 GB of RAM, and the AX install generally uses less than 10 GB. And my company is gradually moving from SP 2013 to SharePoint Online, so my need for a dedicated SharePoint VM will be going away within the next year or so (hopefully).

So it makes sense to me to move my general .NET projects from the SP VM to the AX VM. That’s mostly just a case of copying the solution folder from one VM to the other. Back when we were using TFS (with TFVC) for .NET projects, it would have been more of a pain, but with git, you can just move things around with abandon and git is fine.

All of this got me looking at my tool setups on both VMs, and trying to get some stuff that worked on the SP VM to also work on the AX VM, which led me down a number of rabbit holes. One of those rabbit holes had me looking at my PowerShell profiles, which led me to refresh my memory about how those worked and how to customize the PowerShell prompt.

The official documentation on PowerShell profiles is here, and the official doc on PowerShell prompts is here. User profile scripts are generally found in %userprofile%\Documents\WindowsPowerShell. Your main profile script would be “Microsoft.PowerShell_profile.ps1”. And you might have one for the PS prompt in VS Code as “Microsoft.VSCode_profile.ps1”. (Note that I haven’t tried using PowerShell Core yet. That’s another rabbit hole, and I’m not ready to go down that one yet…)

Anyway, on to prompts: I’ve always kind of disliked the built-in PowerShell prompt, because I’m often working in a folder that’s several levels deep, so my prompt takes up most of the width of the window. The about_prompts page linked above includes the source for the default PowerShell prompt, which is:

function prompt {
    $(if (Test-Path variable:/PSDebugContext) { '[DBG]: ' }
      else { '' }) + 'PS ' + $(Get-Location) +
        $(if ($NestedPromptLevel -ge 1) { '>>' }) + '> '

In the past, I’ve replaced that with a really simple prompt that just shows the current folder, with a newline after it:

function prompt {"PS $pwd `n> "}

Yesterday, I decided to write a new prompt script that kept the extra stuff from the default one, but added a couple of twists:

function prompt {
    $loc = $(Get-Location).Path.Replace($HOME,"~")
    $(if (Test-Path variable:/PSDebugContext) { '[DBG]: ' } else { '' }) + 
    $loc + 
    $(if ($NestedPromptLevel -ge 1) { '>>' }) +
    $(if ($loc.Length -gt 25) { "`nPS> " } else { " PS> " })

The first twist is replacing the home folder with a tilde, which is common on Linux shells. The second twist is adding a newline at the end of the prompt, but only if the length of the prompt is greater than 25 characters. So, nothing earth-shattering or amazing. Just a couple of things that make the PowerShell prompt a little more usable. (I’m pretty sure that I picked up both of these tricks from other people’s blog posts, but I can’t remember exactly where.)

Anyway, this is all stuff that I’m doing in the “normal” PowerShell prompt. I also have cmder set up, which applies a bunch of customization to both the cmd.exe and PowerShell environments. Honestly, the default prompt in cmder is fine, so none of the above would be necessary if I was only using cmder. But I’ve found that certain things were only working for me in the “normal” PowerShell prompt, so I’ve been moving away from cmder a bit. Now that I’m digging in some more, though, I think some of my issues might have just been because I had certain things set up in my normal PowerShell profile that weren’t in my cmder PowerShell profile.

Cmder is basically just a repackaging of ConEmu with some extra stuff. I don’t think I’ve ever tried ConEmu on its own, but I’m starting to think about giving that a try. That’s another rabbit hole I probably shouldn’t go down right now though.

I’d love to be able to run Windows Terminal on my dev VMs, but that’s only for Windows 10. (It might be possible to get it running on Windows Server 2012 R2, but I haven’t come across an easy way to do that.) Scott Hanselman has blogged about how to get a really fancy prompt set up in Windows Terminal.

And at this point, I’ve probably spent more time messing with my PowerShell environment than I should have and I should just settle in and do some work.

moving and resizing windows in AutoHotKey

One of the minor little issues I’ve had since this whole “work from home” thing started is that I frequently need to switch back and forth between using my laptop on its own vs. remoting into it from my desktop PC. I always need to be connected to our work VPN, and we’re not allowed to install the VPN client on personal PCs. And I don’t have an easy way to connect my personal monitor, mouse, and keyboard to the laptop. (Yes, I know there are a bunch of reasonably easy ways to do that. I just haven’t made the effort.) So I spend most of the day remoted in to the laptop via RDP from my desktop PC. But I disconnect and use the laptop directly whenever I need to be in a meeting, so I can use the camera and microphone. (And, yes, there’s probably a way for me to use the camera and mic while remoted in, but I haven’t bothered to try figuring that out either.)

Anyway, the issue with all that is that the change in resolution between the laptop screen and my desktop monitor confuses things, so my window sizes and positions are generally all screwed up when I do that. So I wanted to write a little AutoHotKey script to automatically move and resize the windows for my most commonly-used programs. (In my case: Outlook, OneNote, and Firefox. I do my actual development work via RDP into a VM, not on my “real” computer, so it’s just the productivity stuff running on the laptop.)

Of course, given the way these things tend to go, I just lived with it until June, when I finally got around to writing the script. And, again, of course, I found issues with the script, but didn’t bother correcting them until… today. So here’s a script that looks at the current monitor’s resolution, then moves and resizes Outlook, OneNote, and Firefox so they’re tiled and just the right size for my preferences.

SysGet, Mon1, Monitor
;MsgBox, screen dimensions: %Mon1Right% x %Mon1Bottom%

X := 70
Y := 32
Width := Mon1Right - 240
Height := Mon1Bottom - 150
;MsgBox, X=%X%, Y=%Y%, Width=%Width%, Height=%Height%

WinRestore, ahk_exe OUTLOOK.EXE
WinMove, ahk_exe OUTLOOK.EXE,, X, Y, Width, Height
WinRestore, ahk_exe firefox.exe
WinMove, ahk_exe firefox.exe,, X*2, Y*2, Width, Height
WinRestore, ahk_exe ONENOTE.EXE
WinMove, ahk_exe ONENOTE.EXE,, X*3, Y*3, Width, Height

Nothing fancy, but it does what I need, and I thought it might be useful to post it here. It’s using the SysGet command to get the screen dimensions, and the WinMove command to move the windows.

I also considered using PowerShell with WASP for this, but I’m more familiar with AHK.

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.

backups (and maybe upgrades)

I haven’t upgraded my MacBook Air to Catalina yet, but I might do it soon. I should probably wait for 10.15.2, really, but 10.15.1 might be good enough for me. I did a full backup with Carbon Copy Cloner today, and also ran a Time Machine backup, so I’m ready, I guess.

Between CCC and Time Machine, I’m pretty well covered on the Mac. I’ve been having trouble finding a good backup solution for my Windows 10 desktop machine though. After my problems from last last year and into early this year, I’ve been trying to find something that works well. I’ve had problems with both Macrium and Acronis, which seem to be the two best consumer-level Windows backup tools out there. I gave Arq a try, back in February, but had some issues with it and didn’t go back to it. And I gave Macrium one more try in September and couldn’t get it to work.

I do keep most of my important files in OneDrive, so I’m not really too worried about losing anything. And I have File History set up and working. (Though the drive I’m using for that is a little finicky.) So I’m mostly covered there. But I wanted to get something a bit more like a full backup going.

I tried something called Bvckup today, and it’s not exactly what I’m looking for, but it worked well, and it might be close enough. It’s more of a file sync program that a backup program, so that’s the main issue. It doesn’t create full system images, or even compressed files. It just mirrors one folder to another folder. I have it set up to copy all of the data folders from my hard drive to a second drive. I’m excluding my Windows and program folders, but including pretty much everything else. The backup ran pretty quickly, considering how much data it had to copy. It hit two errors, but reported them clearly in the log and proceeded past them without any issues. The two errors were CRC errors on a couple of fairly random PDF files. Both files were in OneDrive, so I replaced the copies on my hard drive with good copies from OneDrive.

I’m a little worried about these random errors, but I hope they’re just leftovers from the mess in November 2018 (or the related mess in January 2019). Anyway, I’m going to try to get regular backups going with Bvckup now. I’m on a two-week trial. If things work out, I’ll probably spend $50 on the pro version. I may also swap out the drive I’m using for File History with a slightly more reliable one. (Drives are cheap enough that I should be able to talk myself into dumping the slightly dodgy one…)

I’m also getting close to finally giving in and paying for a cloud backup solution. If I do that, it’ll almost definitely be Backblaze. If I were to decide to run it on both my Mac and PC, though, it’ll be fairly expensive, so I don’t know about that. I’m thinking about it though.


Microsoft Build

I wish I could have stayed in the Seattle area for MS Build, instead of coming back to NJ on Saturday. There have been some interesting announcements, including a new Windows terminal program, WSL 2, and .NET 5. At work, I’m still stuck using Windows 7 on my desktop and laptop, so I can’t use WSL, but I’d really like to. (At home, I have Windows 10 on my desktop and laptop, so I can use WSL at home, but I don’t have much need for it there.) Anyway, here’s hoping I can get one or both of my work machines upgraded or replaced at some point this year.

Microsoft, as expected, is pushing a lot of Azure stuff at Build. I should probably watch some videos from Build this week, but I don’t know when I can find the time for much of that. I’m already behind at work just from being away for three days last week. Maybe I can squeeze in the “All the Developer Things” clip from Scott Hanselman at some point today.

Global Azure Bootcamp and Pragmatic Programming

I’ve been doing a bunch of work related to Azure recently. It’s mostly not around actually using Azure, but rather managing Azure and billing for Azure. I’m in the middle of something right now that’s honestly driving me to distraction and making me want to take a month or two off and maybe traipse around Europe or something. Anyway, today is Global Azure Bootcamp. There’s an event here in NJ, at Microsoft’s office in Iselin, but I was too late to register for it, and it’s full up now.

There’s also a lot of online stuff going on, though. It should all get posted to this YouTube channel. I can see a bunch of stuff up there already, and it’s only 8am Eastern time. (The Auckland event is already over. I guess because it’s midnight there right now, so today is already over. Funny how that works…)

Anyway, I really want to watch a bunch of this stuff, but it’s Saturday, and the weather should be pretty nice, and yesterday’s rained out Somerset Patriots game has been rescheduled to today, and I’ve got finish my laundry, and do my grocery shopping, and so on and so forth.

Looking at what’s already on YouTube, I’m kind of interested in two of the videos from the Perth/Beijing cycle:

  1. Understanding The New Azure Role-Based Certifications – I probably don’t have the spare time to study for and pass any Azure certification exams, but a guy can dream, right?
  2. Mission: Azure Kubernetes Service – Because some other folks I’m working with have been talking about Kubernetes, and I know almost nothing about it.

I’m going to the Microsoft offices in Redmond next week for a workshop related to the specific project I’m working on, so that should be useful. But sometimes I feel like I’m really falling behind with all this Azure and AWS stuff. I’ve been reading The Pragmatic Programmer: From Journeyman to Master in my spare time recently. It’s a classic, but it’s 20 years old, so there are a lot of dated references in it. It’s actually been kind of comforting to read it. I guess I’m more at home with references to 56k modems than references to Kubernetes clusters. There’s actually a 20th anniversary version of the book coming out soon, so maybe I should give up on the old version and wait for the new one.

Stumbling Through

I’m taking a scheduled day off from work today. My original plan was to go into NYC and see the new Tolkien exhibit at the Morgan Library. But I started feeling sick earlier this week. And it started getting really cold. Yesterday started out at 1° F, with a “feels like” temp of -12°. So I called in sick yesterday. If not for the weather, I probably could have stumbled through work yesterday and even made it into New York today, but it got to be too much. Today is a little warmer. It started out at 5° (at 6am), and is now up to 14° (at 10am). But that’s still cold enough that hopping on a train to New York seemed like a bad idea. So I’m cocooned in my apartment, trying to stay warm and comfortable.

I didn’t leave the apartment at all yesterday, and spent most of the day reading comics, listening to podcasts, and watching TV. I’m being a little more productive today. I actually left the apartment (to take out the garbage), and I’m currently working through my to-do list, getting some tax stuff organized and taking care of some other miscellaneous paperwork.

I was doing a lot of stuff on my desktop PC this morning, and it had been working fine, but it decided to crash again, about a half-hour ago. I thought I was going to have to reinstall Windows again, but after a few reboots, it came back up, and has been working fine. My faith in Windows 10 in general, and this PC in particular, is getting pretty shaky. I still really don’t want to have to buy a new PC right now, but I might have to. I have other things to worry about right now, so I’m going to hope for the best. But if it keeps crashing, I’m going to have to think about either getting a new PC or maybe giving up on Windows 10 and switching my desktop machine over to a Mac Mini or something like that.

Anyway, that’s not really what I wanted to blog about today. I had a few subjects I was going to cover. First, I was going to return to my comic book indecision post from late last year. The news that St. Mark’s Comics is closing got me thinking about that again, along with a couple of articles related to the DC Universe service. (Specifically: Young Justice sounds pretty good, and the comic book library associated with DC Universe is getting bigger.) I was never actually a regular customer at St. Mark’s, but it was a pretty well-known store in NYC. I still like the idea of supporting independent brick-and-mortal comic book shops, but it’s not really practical for me to do that right now, even with the shop that’s right across the street from me.

I’m also still not ready to switch to all-digital though. I’m going to hang in there with Westfield for a few more months, at least until the end of Warren Ellis’ Wild Storm series. After that, though, I may stop buying monthly books again. I’m looking at my pile, and I see that I’m about a year behind on some of my books. So I’m probably going to need to take a break.

I had a few other things I wanted to blog about, but I should probably stop now. It’s almost 11am, and I want to actually read a few comics today too. I read Christopher Priest’s run on Justice League yesterday, and I want to try getting through maybe a dozen issues of something or other today. I still can’t decide what though. And I probably won’t make it through a dozen comics today either. I’m actually feeling like maybe it’s time for a nap now.

Yet More Windows 10 Grief

My desktop PC has been running fine since rebuilding it back in November. But today, something happened. I don’t know what exactly. I had left the PC on all day, having taken care of some bill paying and stuff in the morning.

I noticed early this evening that it seemed to be stuck in a reboot cycle, crashing every time it rebooted. Long story short, I had to use the “Reset My PC” option to reinstall Windows 10. That option lets you keep all of your files, but forces you to reinstall all of your applications. So that’s what I’ve been doing for the last few hours.

My best guess is that Windows 10 decided to install some updates during the day, when I was out, and something went awry that borked my Windows install. I haven’t seem any evidence of an actual hardware problem.

Since I’ve only just recently had to redo my setup, I still had pretty up-to-date notes and install files, so getting everything back was pretty painless. At this point, I’ve installed just about everything. It took about two hours total to reinstall Windows and all of my applications.

But I’m getting a little annoyed with Windows 10. It seems like there’s way too much that can go wrong with Windows updates these days, and there’s not really any way to control them, if you’re using a consumer version of Windows 10. I’m too deeply attached to the Windows ecosystem to be able to easily pull out and switch over to Linux, or anything like that. And I love macOS, but I can’t really go Mac-only either. (And the Mac ecosystem has its own problems.)

Anyway, here’s hoping that this box holds itself together for a while longer. After some of the expenses I’ve had over the last few months, the last thing I need would be to have to go out and buy a new Windows PC.