Windows 11, and more audio stuff

I feel like I’m blogging too much lately, but I also feel like I have a lot of stuff rattling around in my head, and I need to get it out.

I’ve mentioned in a recent post that we’re in the middle of a company-wide Windows 11 upgrade at work. They finally got around to pushing it out to my desktop on Wednesday and my laptop on Thursday. The desktop upgrade broke networking, which was a bit of an issue. I won’t get into the details, but I had to unplug the PC and walk it over to our help desk so they could get it working again. That cost me a couple of hours, between the upgrade and all the troubleshooting and back and forth.

The laptop upgrade was easier. I had a similar networking issue, but I knew how to fix it now, and could do that myself, in that instance. Also, I could continue working on the desktop while the laptop was updating itself. (With the desktop, I hadn’t brought in the laptop that day, so I was stuck fooling around on my phone while the upgrade was running, and while I was waiting on the help desk…)

Windows 11 hasn’t broken any of the tools I rely on for work. It’s made one or two things slightly harder to do. I don’t think it’s made anything easier. (I’ve probably said this before, but my criteria for OS upgrade success these days isn’t “does it make things better?” but rather “does it break anything important?” and “how much more of a pain is it vs. the old version?”)

I’ve been toying with the idea of upgrading my home desktop PC to Windows 11, despite the fact that it’s not really supported. (The CPU is too old.) I set a registry value that is supposed to bypass the CPU check. But that still wouldn’t allow me to run the installation assistant. So, then, I made a bootable installer on a USB stick, but that won’t let me upgrade, just do a clean install. So, anyway, that was all a waste of time.

Back on the audio stuff: There were three football games airing exclusively on the NFL Network yesterday, and I wanted to watch them. (Maybe not all of them, but I wanted to kill a little time with football playing in the background.) My NFL+ subscription lets me do that, but I couldn’t get the audio working in the NFL app on my Apple TV. This is one of those things that should just be a minor irritation, but I was in enough of a mood when this happened that I got really frustrated with it. I actually could get sound, weirdly, if I switched from my TV speakers to AirPlay output to my Sonos speakers. (I’m using a Sonos soundbar as my TV speaker anyway, but I have it directly hooked up to the TV, so the Apple TV isn’t normally aware that it’s even using the Sonos.) I’m definitely not the only person to have this issue with the NFL app. I’ve found references to it on Reddit and the Apple forums. And the NFL+ site has an article about troubleshooting audio problems, but it’s typically generic and useless.

The frustration was mostly around how complex something as simple as watching TV has gotten… It used to be that you could just turn on your TV, and, you know, watch a football game. Now I have to turn on the TV, switch the HDMI input to the Apple TV, turn on the Apple TV, launch the app, watch it lock up, force quit the app, relaunch the app, wait for it to load, find the right button to press to get into the right feed… Yeah, I know I’m an old man. I should be happy I have so many options for quality entertainment.

And a little more on my new Beats Studio Pro headphones: I found a good video review of them from MKBHD. And I used them last night to watch 65 on Netflix. “Loud dinosaur movie” was a good choice for checking them out. They worked well for that, and successfully drowned out the Christmas music outside.

I’ve been awake today since 5:30 AM. It’s almost noon now. I haven’t done much useful, but I made myself a nice breakfast, went for two walks, listened to some music, read some comics, and had a croissant for a snack, so life is good, I guess.

Quicken Classic

I’ve been using Quicken for a long time, and I’ve been complaining about it for nearly as long. (My earliest Quicken complaint on this blog is likely this one from 2004.) And, once in a while, I get frustrated enough with it that I start looking for alternatives. There were two things that happened recently that have got me interested in that again.

First, they’ve changed the name of the desktop product to Quicken Classic. Here’s a video where their CEO tries to explain that. The name change itself doesn’t really matter to me, but it makes me worry a bit that they’re de-emphasizing the desktop product even more than they already have. Their web product is called Simplifi, and it might be worth thinking about switching to that, but I’m not keen on that idea. I’m pretty sure I’d lose all my history and wouldn’t have nearly the same functionality I have with the desktop app.

The second thing that got me thinking about moving off Quicken again is some continuing issues with the link to my 401(k) account. I’ve searched the web and found a bunch of other people are also having trouble with Fidelity, which is the provider for the 401(k). In my case, the funds got pretty mixed up, so I deleted and re-created the account in Quicken. That got me a bit further, but there was still a weird thing going on where it looked like I had twice as much money in the account as I actually do. I might have fixed that now, but I won’t really know for sure until I sync the account again.

When I have trouble with Quicken, I start getting “the grass is greener on the other side” thoughts, but then if I stop myself, I realize that Quicken is still the biggest player out there, so if Quicken is having issues with Fidelity, then smaller players like Banktivity and MoneyDance probably are too.

Maybe it’s time to give up on this stuff entirely and just switch to keeping a summary spreadsheet, where I update some high-level numbers once a month.

buggy iTunes on Windows, and alternatives

Part of my normal work-from-home routine is to fire up iTunes on my personal desktop PC and play music throughout the day. (On and off, depending on what I’m doing, of course.)

My desktop is a Windows 10 box, so I’m still stuck with iTunes. There’s a preview version of the new Apple Music client available in the Windows Store, but I’ve been leery about trying it. I’m afraid it might do something horrible to my local library, which is almost 18,000 songs, and around 125 GB, at this point. I’d prefer to wait until a 1.0 release.

But iTunes has been locking up on me a lot recently. So I got a bit fed up today and decided to give an alternative client a try. I’d previously tried Cider, but didn’t like it enough to keep it. That was a while ago, though, so I decided to give it another try. It used to be an open-source project, and you can still download that, but the new version is (I guess) closed source, and costs $4 in the Windows Store. I went ahead and bought it and tried it out today, so I thought I’d post some notes on it.

First, it’s mostly just a shell around the web interface for Apple Music. So if you go to music.apple.com and sign in to your account, that’s basically what you’re getting, with some added bells & whistles. It doesn’t deal with your local library at all. (I don’t mean to belittle it here; the bells & whistles might be really handy for some people.)

My major issue with it right now is that it’s got a “dark mode” interface, and no way to switch to a light mode. And I find that hard to deal with. So it’s definitely not something I’m really happy with. But it has done what I needed it to do today: let me stream music to my PC without locking up, like iTunes was doing.

It has occurred to me that another solution would be to stream Apple Music from my iPhone to my desktop via AirPlay. I have something called AirServer on my PC, and it works pretty well for streaming audio from my phone to my PC. Though that, also, is not a great solution.

Or I could go back to CDs! I do still have a CD player in my PC. I could just play CDs via VLC or Windows Media Player or something like that…

Oh well, I’m starting to overthink this stuff again. Time to get back to work…

Some software notes

Two weeks in, and we’re still cleaning up after the security incident at work over the July 4th weekend. I’ve gone into the office most days since then, and I think all that extra exposure to other humans has gotten me sick. I’ve been mostly useless since Friday. I’m hoping I can go back to my usual schedule this week (M/W/F at home, Tue/Thu in the office). Or maybe work from home all this week, if I don’t start feeling better by Tuesday.

Anyway, all the security shake-ups over the last two weeks have gotten me thinking about some of my software choices, and I thought I’d write up some notes on that.

LastPass vs 1Password

I’ve been using 1Password for my personal password storage since 2014, and I’m still happy with it. But I just (finally) got added to our company’s corporate LastPass account, so I can use that for work. And that comes with a free personal LastPass Families account, so I went ahead and signed up for one.

Short version: I don’t think I’ll be using it for anything. I think it’s probably fine for casual users who need a simple password management solution, but it’s not nearly as good as 1Password. I guess my biggest gripe with it is that it’s very much oriented towards in-browser use. There’s a native Windows 10 client, but it’s very limited and just not very good at all. Again, I think it’s probably fine for a lot of people, but it’s just not good enough for a power-user like me.

LINQPad

I mentioned in my last post that I was thinking about upgrading my LINQPad Pro license. I went ahead and did that, and upgraded to the “Premium” version. The NuGet integration works well.  Access to NuGet is still blocked from my developer VM, so I can’t use it there yet, but I can use it on my desktop PC, where I’ve also installed it. I haven’t tried the debugger yet, but I’m curious to see how well that works.

And the dev VM is still so locked down that I couldn’t actually activate the new license over the internet, but the developer provides a way to get around that, so that was appreciated.

TextExpander vs AutoHotKey

On Windows, I generally use AutoHotKey for my keyboard macros and text expansions. I’ve been using it since 2007. I don’t have the actual AHK product installed on any of my work machines, but I have a compiled script that I do run on my work machines. It was starting to look like that might be an issue last week, due to some new security software they were running on our machines. It now looks like it’s OK, but that got me briefly looking at other solutions that might work, and which I might be able to get whitelisted at work.

So I went back to TextExpander, which I used to use on my Mac, circa 20142016. I stopped using TextExpander when they went to a subscription model, since I was having some trouble with it anyway, and it didn’t seem to be worth the money. But that was a while ago, and they now have a Windows client too, so it seemed to be worth looking into it again.

I signed up for a 30-day trial and installed it on my personal desktop PC and MacBook. It works fine, and does some interesting stuff, but it still has some of the same issues with secure input fields that it had when I last used it. That’s not really TextExpander’s fault, but it does limit its usefulness on the Mac. On Windows, it seems to work well, but it’s not nearly as powerful as AutoHotKey. (Or at least it doesn’t seem to be.)

On the Mac side, this has got me thinking again that I should really try Keyboard Maestro. It looks to me like it’s closer to what I want than TextExpander is, and it’s a one-time purchase rather than a subscription. Maybe when things have settled down a bit, and I’m feeling better, I’ll finally give it a try.

I still have some time on the 30-day TextExpander trial, so I’m going to continue messing around with it. Maybe I’ll figure out how to do some fancier stuff with it, and/or how to work around some of its limitations. I really like the idea of having a single macro program that works across Mac and Windows, so that’s a motivation not to give up on it yet.

 

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.)

MacBook issues, browsers, and bookmarks

I did a nuke & pave on my MacBook Air a few weeks ago. My main reason for doing that was to see if it would clear up an occasional problem I have where the machine crashes if I’ve been using it for more than an hour or so on battery power. Well, it crashed again yesterday, so clearly the nuke & pave didn’t cure the problem.

One other possibility I’ve considered is that maybe it’s Firefox’s fault. The crash has always happened when I’m watching a video in Firefox. That doesn’t necessarily mean much though, since watching long YouTube videos is about the only thing I’d do on the MacBook that would stress the battery for a good bit of time. Regardless, I decided to try switching my default browser on the Mac to Safari, and see how that works out.

I’ve been a big fan of Firefox since before it was Firefox. And I still like it, and use it as my default browser on both Windows and Mac. It’s been losing market share to Chrome though, and now has only a tiny sliver of the browser market. So maybe it’s time to give something else a try, at least temporarily. Safari is supposed to be very efficient in terms of battery use on the Mac, so maybe, if my underlying problem is the battery, switching to Safari will fix it.

Switching browsers, of course, means that I need to try to replicate my Firefox setup in Safari, to the extent that I can. A few of my Firefox extensions are available for Safari, but some aren’t. The two big ones are probably uBlock Origin and Privacy Badger. But there are alternatives, and I’ll play around with some of those.

Getting my Firefox bookmarks into Safari wouldn’t be difficult if I was just switching over entirely, and didn’t care about keeping them up to date in both browsers. But I want to keep using Firefox on my PC, so I really want to keep the bookmarks in sync. The best way I could find to do that was via iCloud for Windows. This article describes the process of setting it up and enabling bookmark sync between iCloud and Firefox. I went ahead and did that, and it seems to work OK. So now I have Firefox Sync keeping my bookmarks in sync between my desktop and laptop PCs, iCloud sync keeping my Safari bookmarks in sync between my iPhone, iPad, and Mac, and iCloud for Windows bridging Safari and Firefox. I think that, even if I decide to switch back to Firefox on the Mac, I may keep iCloud for Windows running, just so I can have the same bookmarks across iOS, Mac, and Windows. (I’ve always used Safari on iOS, but never really did much with bookmarks there.)

Combining my Safari/iCloud bookmarks with my Firefox bookmarks left me with quite a jumble of duplicates. I had, at some point in the distant past, used Safari as my default Mac browser, and had a bunch of very old bookmarks in there that I’d never cleaned up. And I had a bunch of out-of-date bookmarks in Firefox too, that I’d just been ignoring. So I spent some time this morning trying to clean up my bookmarks. I did that in Firefox on my PC, and hoped it would sync back to iCloud with no problems. So far, it seems to have done that.

Browser bookmarks, in general, aren’t as important as they used to be. But I’m still a weirdo who wants a nice selection of useful bookmarks organized in a sensible hierarchy. I’ll see how my current setup works over time, but I’m also considering some alternatives. On the Mac, I’ve been curious about URL Manager Pro. That might be a good home for my bookmarks. There’s no PC version, but I could just get them over to the PC via iCloud for Windows, I think.

I currently use Pinboard as a place to dump miscellaneous bookmarks, but that’s not a carefully organized collection of stuff that I can traverse easily. I’ve got over 18,000 bookmarks in there right now. So I can’t really use that for my browser bookmarks. There’s a similar service called Raindrop that seems to allow you to apply a bit more organization than Pinboard does. Specifically, it allows you to use both tags (like Pinboard) and something they call “collections”, which can be nested. So that makes it seem like I could combine my carefully organized Firefox/Safari bookmarks and my Pinboard bookmarks into one service. I’d keep the stuff I use regularly in top-level collections, and toss all of the random old Pinboard links into a “miscellaneous” collection or something like that.

Well, anyway, this is mostly just me messing around on a Sunday morning. It’s now almost noon, and I haven’t done much else with the day, other than organize bookmarks. But, hey, it’s relaxing.

replacing stuff

So I seem to have wound up replacing a bunch of stuff this week. It started with my landlord coming in to replace my air conditioning unit on Monday. They’ve needed to do that for quite a while now. That’s kind of a long story, but suffice it to say that, after around four hours of work, they managed to replace my A/C unit and thermostat. The A/C unit seems to be working fine. I can’t really say much about that, other than that it’s keeping the apartment cool and making less noise than the old one was. I’m curious to see whether the new unit has any effect on my electric bill. I can’t imagine that the old one was very efficient. I’ll look at my electric bill next month, but it’s getting into autumn now, so the bill would be going down anyway.

The thermostat is kind of interesting. The old one was a very old analog thermostat. The new one is a fairly low-end Honeywell digital thermostat. It’s programmable, but doesn’t have wifi support or any of that stuff, so you have to program it by pressing buttons on the unit itself, which is pretty annoying and time-consuming. I’ve got it running under a program, for now, but I may give up on that and go back to just nudging it up or down occasionally, like I used to do with the old thermostat.

Having the new thermostat and A/C unit has gotten me mildly interested in maybe getting a fancy thermostat with HomeKit support. But then I remind myself that I’m a single person in a one-bedroom apartment, which I almost never leave these days. So I really don’t need a smart thermostat.

The landlord was kind enough to leave the manual for the thermostat behind, so, as I normally do with these things, I wanted to put it in a folder, label the folder, and file it in my filing cabinet. I bought a Brother PT-1950 label maker in 2007, when I first got on my GTD kick, and I’ve been using it to label stuff since. But when I tried to use it to label my new “thermostat” folder, it didn’t work. I first thought that the batteries were dead, so I hopped on Amazon and ordered some new AA batteries. Then I remembered that I had an A/C adapter for the label maker, and tried that. I got an “EEPROM error”, which, according to the internet, means that I need to get the label maker serviced. Given that it’s more than ten years old, I decided to just trash it and get a new one instead. I looked at the Wirecutter reviews for label makers, but rejected their recommendations and bought a Brother P-Touch PT-D210 instead. It was only $35 from Amazon, and I was pretty sure that it used the same cartridges and A/C adapter as my old one.

It arrived today, along with the AA batteries I’d bought. The first problem was that I hadn’t noticed that this label maker uses 6 AAA batteries rather than the 6 AA batteries required for the old one. So I had to run over to ShopRite for AAA batteries. The second issue is that it uses slightly different tapes from the old one, so the half-used tape in the old one will have to get tossed. The new one came with a starter cartridge. Also, I have a spare cartridge from the old one that’s new enough to be compatible with both old & new label makers, so I have a full cartridge ready for when the starter one runs out.

So that was a long digression, all caused by wanting to print a label for a file folder. But now I have a fancy modern label maker, and I’m all set to start labeling stuff again.

Meanwhile, at work, we were notified recently that our company will no longer allow removable storage to be used on work computers. This isn’t a big problem, since I don’t normally have to use removable storage. But I do have a USB drive hooked up to my desktop that I was using for File History backups in Windows 10. (I’ve never needed to go back and pull anything from history, but I liked having it.) So now I need to give that up. Since I can’t use the drive at work anymore, I briefly though about bringing it home and using it to replace the drive I’m using for File History on my home PC. But of course it’s company property (even thought it’ll probably get recycled when I hand it back to help desk). And it’s a few years old. And a new 2 TB drive is only $60 from Amazon. So I went ahead ordered one of those yesterday. And that showed up in the mail today too.

The old drive I was using for File History at home had been acting up. It was still working, but I’d have to unplug it and plug it back in regularly to get it going. And it was almost full. It was a 640 GB drive that I bought from NewEgg in 2011, for $35. (I think it might have been refurbished.) Anyway, I guess I’ve gotten enough use out of it.

I had a second external drive hooked up to my home PC. That one was a 1 TB drive that was more than 10 years old. The only thing I had on it was a Macrium Reflect backup from 2018. I’d been wanted to do a new full image backup, with Macrium or something else, but every time I’ve tried that with my current PC, something went wrong. So I gave up on the idea at some point. I now rely on Bvckup, running daily backups to a second internal HD, which I started using in 2019, and the File History backup mentioned above. I hadn’t been having any issues with that 1 TB drive. Of course, I wasn’t actively using it, but it was recognized by Windows, and I could see the files on it. But, after I disconnected the old 640 GB drive, the 1 TB drive also stopped working. All I can think of is that I somehow shorted something out when I was removing the 640 GB drive. I spent some time troubleshooting it, but eventually gave up.

So now I just have a single 2 TB backup drive, which I haven’t hooked up yet, since it only showed up about 30 minutes ago. I’ll try to hook that up tomorrow, and hope it works.

I’ve got a box with two dead hard drives and a dead label maker in it, ready for the next Somerset County electronics recycling day, which will probably be Oct 2. And now I’m seeing other stuff around the apartment that I should probably replace. But I’m holding off, since replacing one thing seems to lead to a domino effect where I have to replace other things and buy other accessories and so on. So I guess I’ll keep using my 30-year-old toaster over for a while longer.

Ephemeral Port Exhaustion

We’ve been having some trouble with our main web server at work over the last few months. It all boils down to ephemeral port exhaustion, which sounds kind of like a post-COVID side-effect, but is actually something that can happen to a Windows server if you’re opening too many ports and then not releasing them. The post linked above contains some useful troubleshooting information regarding this problem.

I actually think the best explanation of this issue is in a 2008 TechNet article titled Port Exhaustion and You. (That link goes to the original version of the article via archive.org. Here’s a link to it’s current location at Microsoft’s site.)

The basic issue is that you can run out of ports and then anything that relies on opening a new one fails, and you just need to reboot the server. So, not the end of the world, but not good for a production server. We’ve been working around it for awhile. We had it scheduled to reboot once a week, but upped that to twice a week when it seemed like once wasn’t enough. And now it’s gotten to the point where I really think we need to find the underlying issue and correct it.

In our case, the server is running a bunch of web services under IIS. There are more than a dozen separate services, written by various programmers, at various points in time. They’re all (probably) C# programs, but they’re written under various versions of .NET Framework and .NET Core. They’re grouped into three or four app pools.

The first thing that makes sense to look at here is how the individual programs are handling outgoing network connections. Normally, in C#, you’d use HttpClient for that. I wrote a blog post in 2018 about HttpClient and included a link to this article about how to properly use HttpClient without opening a bunch of unnecessary connections. I think I’ve got all of my own code using HttpClient correctly and efficiently, though I’m not sure about everyone else’s.

It can be hard to tell what’s going on behind the scenes, though, if you need to rely on closed-source third-party libraries that also open up HTTP connections. I’ve got a few of those, and I think they’re not causing problems, but I don’t really know.

To try to monitor and track down port exhaustion issues, there are a few tools you can use. A number of the articles I’ve linked above mention “netstat -anob” or some variation of that, and I’ve found that helpful. One issue with that, if you’re running a lot of web services, is that you can’t easily see which service is causing a problem.

My big breakthrough yesterday was realizing that I could use “appcmd list wp” to get a list of the PIDs and app pool names associated with the various IIS worker processes. From that, you can tie the netstat output back to a specific app pool at least. (Of course, if you have ten web services under one app pool, then you’ve still got some more work to do.) See here for some info on appcmd.

Anyway, we still haven’t quite got our problem solved, but we’re getting closer. For now, we’ll still just need to keep an eye on it and use the old IT Crowd solution: “Have you tried turning it off and on again?”

burning data DVDs in Windows 10

I’ve never had a problem with burning data CDs or DVDs in Windows 10, as far as I can remember. I’ve generally used the built-in burning function in Windows Explorer. Well, today, I bought a bunch of comics via this Humble Bundle, downloaded all the comics in it, and then wanted to burn them to disc as a backup. I’ve done that plenty of times before, but I couldn’t get it to work today.

After going through a bunch of troubleshooting steps, I finally gave up and downloaded CDBurnerXP. That worked fine. I’m pretty sure I’ve used CDBurnerXP in the past. (I had an entry for it in my Pinboard account from 2009, so I was at least aware of it.)

I briefly considered going back to Nero, which used to be my go-to program for CD/DVD burning, as far back as 2004. But I’m not sure about Nero anymore. They do still sell their “Nero Burning ROM” program, but there doesn’t seem to be a freeware “light” version anymore, nor is there an obvious way to get a 30-day trial of their full product, so I didn’t want to spend money on that, not knowing if it would work or not.

And there’s still a Roxio product for burning CDs and DVDs, but again there doesn’t seem to be a freeware version or a trial version available.

All of which leads me into a rant about trying to find legitimate freeware/shareware Windows software these days. I’ve found that the best way to find something is to go back through my own Pinboard bookmarks and/or blog entries, and try to find something familiar that I’d used in the past. There used to be good semi-trustworthy sites for finding freeware/shareware, like Tucows (which surprisingly was still around until about a month ago.) There were a few others, but at this point, I can’t ever remember their names.

Nowadays, we’ve got the Windows Store, which should be good and trustworthy, but there’s a lot of questionable stuff in there. Is MajorGeeks.com good/trustworthy? Maybe? Their burning tools page looks pretty good. And this Best Free Software of 2020 article from PC Mag has some good stuff in it (including CDBurnerXP). I guess PC Mag is still reputable.

I get worried about downloading freeware programs that may contain malware. The Windows Store should take care of that, I guess, but it still seems like there’s a bunch of crap in the Windows Store, and a bunch of the more useful freeware utilities don’t ever make it into the store.

I wound up tweaking some security settings as part of my troubleshooting today, and I just noticed that Windows has flagged the installer for an old version of ImgBurn from 2010 as a risk. I let it delete that. (A more recent installer, from 2016, didn’t raise any alarms.) Makes me wonder if that was a false positive or not. Did I download a hacked version of ImgBurn in 2010? I guess it doesn’t matter at this point, since I wasn’t going to install a ten-year-old version of ImgBurn anyway.

Oh well. This is just another blog post from a cranky old man who wanted to spend five minutes burning a DVD backup today and wound up spending an hour or two troubleshooting and working around annoying Windows problems.