Ask Paul: March 28 (Premium)

Sunset on March: Ask Paul March 28

Happy Friday! The last Ask Paul of March 2025 is a monster, thanks to an incredible set of questions from readers. Let’s kick off the weekend a bit early by diving right in.

? Getting the message on messaging

Some interrelated questions…

helix2301 asks:

Apple now lets you change your default messaging app even in USA. How surprised are you by this I thought iMessage locked would never change. So far, Whatsapp only one that allows it. You can now change the default message and phone app like on Android. Mail App you can change and default browser. You pointed out while go on FRD that they don’t let you change maps and other defaults cause they don’t want to give up areas make them money.

This is a weird confluence of issues and coincidence for me. I will try to be succinct for a change (and will fail).

  • I’m reading the book Careless People: A Cautionary Tale of Power, Greed, and Lost Idealism, which is an insider account of the happenings at Facebook/Meta, a company I don’t like or trust. I read a lot of industry books and would have normally ignored this. But when I found how badly the company wants it to be banned, I bought it, and it’s disturbing. I never respected Mark Zuckerberg, Sheryl Sandberg, this company, or its products, but it’s so much worse than I imagined. This has catapulted Meta to the top of the charts in my mind now for antitrust regulation. It is a cancer that needs to be stopped.
  • I routinely move back and forth between the iPhone and Android, and while this is normally a fairly seamless process, there is one exception: My text messaging (SMS/MMS) is always screwed up after a switch, in either direction, despite the fact that I always follow Apple’s instructions to the letter for enabling/disabling iMessage on either side of this. I don’t get text messages, group messages are f$%ked, etc. It’s a nightmare, and it’s literally the one thing that has kept me, so far, from switching back to the Pixel during this trip. I would have done so already.
  • Like many people, I’m drowning in what I’ll call messaging apps, and I have too many people using too many ways to contact me using these apps. When everyone was outraged over the coming death of Skype, all I could think was, good, that’s one down. But in addition to text messaging, I use WhatsApp, Slack, Teams, and Facebook Messenger, plus all the DM capabilities in services like Twitter/X, Threads, Bluesky, and whatever else. I want one thing that does all this, what Microsoft tried to do briefly with Windows Phone. And I know I’ll never get there. But reducing the number of apps is desirable.
  • I’m on the iOS, iPadOS, macOS, and watchOS developer betas across those devices, and it’s been a busy several months. Apple updates those OSes more frequently for developers than it does with the public, and it seems like I’m always getting new beta releases these days. Keeping up with the changes is difficult, and as is the case with Windows 11, remembering when something is available, privately or publicly, is next to impossible. So I find myself getting used to some feature and then realize, oh wait, this isn’t public yet. So my kids or iPhone-using friends won’t see it, or whatever.

With all that in mind, I just noticed the change you mention. Or, changes. A) that you can change the default text messaging app in iOS now (or, in iOS 18.whatever) and B) that the only third-party option, on my iPhone, at least, is WhatsApp. I hate Meta, and WhatsApp, frankly, is a crap app that is difficult to use, especially if you have multiple devices. You can only have one “active” across iPhone or Android, and it’s ridiculous. But I need it because everyone–and I mean, literally, everyone–in Mexico uses it for everything (again, literally). We use WhatsApp every single day here. We used to interact with our cable provider when the Internet went out the other day (for the first time in possibly two years).

So. I want one app that can do everything, but at the very least, fewer apps. If WhatsApp, and, seriously, f#$k Meta, can be that app, then fine. I would consider that. But this capability is, for now, iOS-only. Not only was my (always flawed) understanding/memory of the default app thing being EU-only for the most part, but WhatsApp doesn’t work for SMS/MMS on Android. At least so far. If/when it does, I would likely switch. If only to spare myself from the iMessage/whatever terribleness every time I move between the iPhone and Android. I will definitely be keeping an eye on this now.

Regarding default apps on iOS, on my iPhone I now see a long list of apps for which I can set new defaults: Email, messaging, calling, call filtering, browser, translation, passwords & codes (for which you can have multiple choices), and contactless (wallet), plus keyboards (also multiple choices). But not maps. So I guess there are still one or more EU-specific choices there. I have non-Apple choices on everything but messaging and calling. But maybe now that can change.

Speaking of which. It would be a game changer for Google to bring its Phone and Messages apps–including the backend protections against spam–to the iPhone. I don’t expect that, these things are key differentiators for Pixel and Android (Samsung, for example, uses the Google Messages app). But that would be amazing. This stuff is terrible on the iPhone now, so any other choices are welcome. Those Google apps would be ideal.

JustMe asks:

You’ve mentioned before that in Mexico you use WhatsApp. I was curious if you had adopted it more into your US routine when you return to PA or if you use it mostly in Mexico. I know outside the US, WhatsApp has a massive following.

No, as noted above, I can’t stand WhatsApp … but would also use it instead of the iPhone Messaging app in a heartbeat. But I would prefer to use something else. I suspect that the opening of the default SMS app (and phone app) on iPhone will unleash a torrent of new third-party choices, and I can’t wait. But I do switch to WhatsApp for that, it will be because it’s the only choice, not because it’s any good.

anderb asks:

Has Signal had some good publicity this week?

Actually, yes. This week’s US governmental stupidity–they never disappoint–has triggered a boom in Signal app downloads. So it’s worked out well for them, which makes sense. There’s nothing wrong with the app. There’s some very wrong with the idiots who were using it.

Well, there is one thing wrong with the app. I can’t use it for SMS/MMS. So I won’t be using it. I don’t need another messaging app.

? Windows 10 EOL as a national security issue

Kenneth_Burns asks:

Is it possible governments could get involved in the Windows 10 EOL situation? As October nears they might say something like:

“Look, Microsoft, more than half of Windows computers are still running Windows 10. If you stop supporting them with updates, you’ll create a security problem for everyone. You need to address this mess you created by extending support or allowing Windows 11 to run on more hardware.”

What the enforcement mechanism would look like I don’t know. Fines? Lawsuits?

Never say never, I guess, but I don’t see this happening.

Certainly, this has never happened in the past with the two versions of Windows–Windows XP and Windows 7–that were similarly popular at the time they were heading out to pasture. In those two cases, Microsoft extended support past the initial EOL date, and with Windows 10, it is offering one year of additional paid support to consumers for the first time (plus three year of paid support for commercial customers, which includes governments). So I think they’re covered. It’s not like the EOL of Windows 10 came up suddenly or was unexpected.

There’s a side issue here where Microsoft does, of course, work with governments as needed, and it does so quietly. Terry Myerson once told me about the internal response to a UK hospital ransomware attack, where the network was all still on XP, which was long unsupported, and the UK government reached out to it. His response was, “What was I going to do, say no to the UK government?” So they helped them fix the problem. Of course they did. And it’s this kind of activity, I think, that would prevent any government pushback on support lifecycles. Microsoft can point to how newer computers have better security controls, via both hardware and software, and that these require Windows 11. (Windows Hello ESS, etc.)

One could also make the argument that governmental computers need to be up-to-date on security even more than those used by individuals or business because of national security reasons. I’m sure Microsoft and its PC maker partners give them incredible volume deals for this sort of migration. It’s better for everyone.

? Exploring file alternatives

JustMe asks:

You’ve recently talked about Files as a replacement for File Explorer in Windows (I think it was on Windows Weekly). Have you moved that way or are you still researching? Have you ever used XYPlorer?

I really like how Files looks, but there are usage behaviors I don’t like, and the performance is terrible. And so I ended up killing that experiment, and it’s not an app I can recommend to anyone. It’s too bad, it’s a pretty app, and modern, and there’s a lot to like. But the issues are serious and too problematic to ignore.

Regarding File Explorer alternatives more generally, I’m of two minds here. Obviously, it would be ideal if File Explorer just worked. And by that, I mean, worked well. It’s mostly fine, day-to-day, but there are weird issues with the app, some that appear to be tied to the WinUI 3 makeover that Microsoft has been updating over time, and some that are more low-level, where I feel like this app’s internals need a Windows 8-type makeover. It’s overdue. The issue is mostly performance related. If you leave it in its default configuration and launch it, File Explorer will appear, but its home page takes a long time to load. So you wait for it.

Most of the alternatives are obvious enough:

  • Disable all the junk on the home page that’s taking so long to load. In Folder Options, I uncheck “Show recent files,” “Show frequently used files,” and “Show files from Office.com” under Privacy. This solves the problem nicely, as File Explorer now loads quickly. And I never use those things in the home page anyway.
  • Change the home page from Home to This PC. This also solves the problem nicely, and since I don’t use most of what’s in the default home page anyway–I do use those Quick access folders, but that’s going away in a future update, and they’re in the navigation pane anyway–this works fine. That said, I would love to be able to configure home to be any folder location. I would set it to my “To do” folder, for example.
  • Use an alternative. This is kind of the “nuke it from orbit” solution, but there are two big issues. One, Explorer.exe is the Windows shell, so it’s always running anyway. And two, all the alternatives–that I’ve tried, anyway–are terrible. What’s needed here is something that can configure itself as the default file manager app (as File does do) and then work with all the file system extensions and every file system interaction I may have with good performance and reliability. And … I don’t know. I’m not sure that it exists. Or even can exist.
  • As a potentially interesting middle ground between just using File Explorer and choosing an alternative, there are also Registry/utility-based changes you can make to File Explorer that dump the WinUI 3 user interface and return it to a previous state, meaning you basically get the File Explorer from Windows 10 or some older version of Windows. These are less pretty, but they (seem to) run faster and more reliably, and this, too, is of interest. I don’t care what it looks like. I just want it to work. Check out Tip: Rewind the Windows 11 File Explorer and Tip: Use the Classic File Explorer in Windows 11 for more on this option.

I’ve tried a lot of File Explorer alternatives. I originally expected to record an episode of Hands-On Windows about File Explorer alternatives yesterday, but I pushed that back because I wasn’t happy with any of them. Someone mentioned DirectoryOpus in the forums the other day, and that’s a nostalgic favorite from my Amiga days, but it’s non-starter today in Windows, and it’s expensive, especially for someone like me who uses multiple PCs. Being native on Windows 11 on Arm is also ideal, but many alternatives are x64-only. The XYplorer app you mention looks interesting, and it’s not expensive, but it’s x86/x64 only. I’ve heard of it, of course, but can’t recall if I’ve tried it. I will take a look, thanks. (It does seem quite fast, even on Arm.)

For now, replacing File Explorer feels like more trouble than its worth. I just want something that works. And it being built in to the OS is, of course, ideal. I can’t say that I ever thought about this too much during the Windows 8.x and 10 eras. And I like how it looks in Windows 11 now. I just don’t like the performance. But as I said up front, day-to-day is OK, assuming I change the home defaults. It’s when I’m doing something unusual, like massive file copies between drives or PCs, that it really falls flat. That’s when alternatives really matter to me.

Anyway, I will keep looking and experimenting. This is something I’d like to figure out and then never think about again.

? Predictability is an illusion

brettscoast asks:

Would it be fair to say given what we know so far despite any confirmation\communication to the contrary from Microsoft that we may see Windows 12 (next version) released later this year? or is an early 2026 release more likely? A couple of hypotheticals I know.

I wrote many, many words on this topic the other day in Making Sense of Windows 11 in 2025 (Premium), but the recent change to the Windows Insider Program’s Dev channel is the start of whatever shift to some next Windows version, whether it’s called Windows 11 version 25H2 (most likely, I guess) or Windows 12. The problem is that history is no longer any guide, so there’s no way to know for sure almost anything about this release, including its timing. For now, I will assume that it will release at roughly the same time as previous feature releases, meaning October-ish. But that can change. Everything else has.

There are milestones to look out for that may or may not provide more information about the timing, the contents, and the branding of this next release. There’s a Microsoft AI event on-campus in one week, on Friday, April 4, and since this is the consumer AI stuff, it could be tied to this next release. There’s Microsoft Build, of course, which is May 19-22. And then there’s the possibility of a standalone virtual or in-person Windows event. So I suspect we’ll get at least some clarity in time. Them not specifying the name of this release at the Dev channel switchover adds some mystery to it. But we’ll see.

? Spin the wheel

rtillie asks:

Just saw the vivaldi – proton teamup, what browser are you currently using most? I tried Brave for a bit last year, but the sync (for favorites) was a bit of a disappointing experience.

Odd, I really like how Brave sync works. Brave is a bit “boring” from a UI perspective, I guess. But that will appeal to some, and the security/privacy stuff is unassailable.

I am always switching between different browsers, and if anything, that’s accelerated in recent months. Perhaps because of Arc, and it’s rethinking of the browser user experience, and then its subsequent mulligan, which led me to a series of articles on web browsers: Web Browsers, Innovation, and the Future (Premium), Baby Steps Forward in the Web Browser User Experience (Premium), and Web Browsers, Agentic AI, and the Future (Premium). Obsessed is a strong word, but this has been top of mind for me lately.

I have used a lot of different browsers recently. But after a curious (for me) months-long bout with Microsoft Edge, which I used as the default browser on Windows, Mac, iPhone, iPad, and Android, I recently switched across all those devices to Vivaldi, go figure. This was just before the Vivaldi/Proton announcement, so that was a curious coincidence. But the truth is, there’s something to like about most browsers, and almost any could be used effectively. Most (Brave is the one exception here) require anti-tracking extensions (I use and recommend Privacy Badger and Adblock Plus). Some, like Vivaldi and Opera, are overly complicated because of all the customization choices, but that can also be desirable. I like the pretty, minimalist vibe of Opera Air.

There are two browsers I would like to use more, but can’t. Firefox, of course, but also DuckDuckGo, which has inexplicably never added support for extensions, which is such a basic feature that it’s almost mindboggling. (I have an unpublished article, called I Want to Use the DuckDuckGo Web Browser But I Can’t, which I may or may not finish.) But beyond that, most are workable, and if you’re protecting yourself, it’s basically subjective. Google Chrome and Edge can be fine. A few weeks back, I recorded a Hands-On Windows episode (that’s not out yet) about recent alternatives like Zen browser, Opera Air, and Sidekick, each of which has its high points.

Anyway. The short answer is that what I use keeps changing. I always pay attention to each browser update to see if there’s anything interesting, and I am always testing alternatives. And we’ll see. I do think browsers are about to change a lot. And so this remains top of mind.

? Why Windows?

AnOldAmigaUser asks:

I would personally leave Windows, at least for my daily driver, in a New York minute if I wasn’t sort of tied to certain Office applications that are simply more full featured on Windows. Your re-evaluation of tools seems to have largely led you away from Microsoft Office.

Yes. It is interesting to me that I almost never uses the Office apps. They’re always there, it seems like Office is part of the base install of Windows these days. And I do pay for a Microsoft 365 subscription (two, really, as I have Family and Business Basic). But I prefer to write in Markdown, and I am using Typora for that. And I left OneNote years ago because the real-time collaboration functionality never worked reliably, so I’m using Notion for that now. I wouldn’t use Outlook if you paid me, and I use Excel and PowerPoint roughly once a year on average. So this thing that was previously key for me is no longer necessary, at least day-to-day.

This led me to wonder, besides Windows, what Microsoft products you are using at this point? Clipchamp and VS Code seem to be about the only ones mentioned regularly, and GitHub is a Microsoft product. I don’t count Paint since that is part of Windows.

I think it’s important to include the overall experience as part of the “why” here. That is, it’s not just the apps, many of which are available elsewhere, especially on the Mac. It’s the look, feel, and functionality of the OS itself, and workflow, the familiarity with certain tools, and so on. The short version is that I just prefer Windows to macOS, Chrome OS, or any version of Linux. But the reasons are all over the place. Some are obvious and others are not.

I won’t claim, for example, that Paint and Notepad, two tools I use every day and am quite familiar with, are why I prefer and stick with Windows. But I will claim that they are part of that decision-making matrix. There are plenty of alternatives, for sure. But I am so efficient using these apps and use them so often that I feel like I’m being forced to write with my left hand (I’m a righty) when I use a Mac or whatever.

You may recall those “What’s on your PowerBook?” ads that Apple used to do in the 1990s. The modern Windows equivalent of that is a sort of “what’s on your Taskbar?” thing, at least in my case. As those are the apps I use most often. And those apps are:

  • File Explorer
  • Whatever web browser
  • Typora
  • Notepad
  • Notion
  • Affinity Photo 2
  • Paint
  • Slack

Only two of those are from Microsoft, and both are built in to Windows, yes. But many Microsoft apps fall into that second tier of apps, like Visual Studio 2022 (Windows only), Visual Studio Code (cross platform), Clipchamp (web, cross-plat), and so on.

There are also these apps that only pop-up as needed. I use Greenshot for screenshots, and ImageGlass 9 for viewing images. I use OneDrive regularly too, even though most of my day-to-day and book work goes through Google Drive, but both are kind of there, in the background. That files on-demand type functionality is huge for me. (I use GitHub via VS and Code, but mostly from the command line, and I use GitHub Copilot inside VS.)

It would seem to make you a candidate for regular platform hopping, which you sort of do anyway, though you prefer Windows. Can’t say that any OS really means anything to me, they are just vessels for the applications I use.

From an apps perspective, I usually prefer apps on Windows over the same app on other platforms. Linux apps look goofy on Chrome OS, for example, with a big white bar at the top. Microsoft Edge doesn’t fully use the screen in full screen. Etc. I guess it’s a look and feel thing. But again, it’s not one thing. It’s all these things, and more. And while alternative platforms have gotten better over time, and there are Linux distributions that look friendly and are more like Windows or the Mac, I just haven’t really connected with anything like I do with Windows.

But yeah. I will keep looking, for sure.

✍️ Finding the AI cursor

lvthunder asks:

Can you go into more detail about this Cursor AI program? I’m confused about how you got it to give you that to-do list. Maybe I missed something.

Sure. I feel like this stuff isn’t obvious, honestly.

I did write a bit about this in .NETpad 2025: With a Little Help From My (AI) Friends (Premium), which dates back to when I was first made aware of this app. At that time, I had opened up the GitHub repository for the public version of my .NETpad, and not the version I’m now working on. And I had selected a block of code and prompted it with something pretty basic:

Is there a way to write this code more efficiently?

I was just trying to test the thing, but what it did surprised me. It analyzed my entire codebase, not just the selected code. And it returned quickly with a very detailed list of recommendations for improving the code.

This was impressive to me. And I implemented many of its suggestions since then, mostly in the new version of the app, especially those related to code redundancy, which I’m always working on reducing, and modularity. As I noted at that time, I’ve looked into formal coding patterns like MVMM many times, but find them difficult, and I’ve kind of worked around that, just trying to get things done. But with that kind of hanging in the back of my mind, I spent the intervening weeks continuing to work on the app update. And I keep running into these issues that trigger a pause where I go back and rethink part of and try to re-do it better in whatever ways. It’s taking more time than I’d like.

But the way Cursor works is the same way that Visual Studio Code works, which makes sense. And at a project or solution level, that means that it basically works with folders. In Visual Studio Code, for example, I open whatever book project by opening its local folder. And that folder was created using a GitHub command line. Writing books this way is a bit unusual. But that’s how web developers typically work, and it’s why Visual Studio Code was created in the first place.

I don’t work on my .NETpad app in Visual Studio Code, though I think I probably could. Thanks to that app’s extensibility, and Microsoft extensions like C# (base language support, which I think is built-in), C# Dev Kit (which, among other things, adds support for Visual Studio solutions), and IntelliCode for C# Developers, I’m pretty sure I could just open my .NETpad project/solution folder, which was created originally in Visual Studio 2022, and then work on it in that app and compile, build, and test it from there. I just don’t happen to do that. I should probably figure that out, I guess.

One final bit on Visual Studio Code, which is relevant only because Cursor is based on it. VSC supports profiles, and I have separate profiles for default (the books), C#, and AI. And you can have different extensions in each. So the extensions noted above (and a few others) are used by the C# profile, but when I’m using VSC for the books, I use the default profile, which has extensions for Markdown, spell-check, and so on.

OK, so Cursor.

Given the slog I’m going through now with the new version of .NETpad, I finally decided it was time to do for that app what I had done previously with the older version. And so I opened my .NETpad project/solution folder in Cursor, and it came up normally as expected. And then I prompted it with this in the Chat interface:

This is a C# project targeting the Windows Presentation Foundation (WPF). It’s Notepad-like text editor with support for multiple documents and tabs. Can you examine this project and tell me how I might improve the code quality and efficiency? I’m particularly interested in removing redundant code.

I didn’t even have time to hold my breath. It quickly started spitting out the following.

I’ll help you examine the project and suggest improvements for code quality and efficiency. Let me first look at the project structure and key files.

Listed 36 items in current directory

Let me examine some of the key files to understand the codebase better. I’ll start with the main window and core functionality files.

Read MainWindow.xaml.cs L1-100

Let me also check the Tabs.cs file since it seems to handle tab management:

Read Tabs.cs L1-100

Let me also check the Backend.cs file to understand the core functionality:

Read Backend.cs L1-100

Based on my analysis of the codebase, here are several recommendations to improve code quality and efficiency:

And then it offered an incredible list of 10 recommendations, each with lengthy explanations, and some with code blocks to replace existing code. Without just republishing all that, the title of each recommendation was:

  1. Code optimization and separation of concerns
  2. Remove redundant code
  3. Improve state management
  4. Event handling optimization
  5. Code duplication in dialog handling
  6. Improved error handling
  7. Performance improvements
  8. Modern C# features
  9. XAML improvements
  10. Configuration management

And it ended that with:

Would you like me to provide more specific examples of any of these improvements or focus on a particular area of the codebase?

What it gave me was enough to occupy weeks of my time. Literally.

This is a problem in some ways. I wanted to get this latest. NETpad version up in GitHub in pre-release form sooner than later. But I also want the code to be as good as it can be, within reason. And there are some incredible suggestions in there.

I will definitely be writing about this in some capacity soon, but let me focus on two items here.

Classes

The first is tied to the use of classes and Cursor’s recommendations that I encapsulate document management, tab management, state management, settings, and search using separate C# classes for each. And this is an interesting thing to me, as I have been kind of concerned about my lack of sophistication when it comes to classes. For example, I do have a DocumentTab class for managing documents and tabs. But I don’t use separate classes for other things, they are instead all part of the MainWindow class. This has always felt “off” to me.

This I’m still working through. But after working up just part of a basic FileOperations class, I decided to start with something simpler. And scanning through the list of recommended classes, the simplest, to me, seemed to be for settings. Yesterday afternoon, I started coding a basic AppSettings class to see how/if that could make sense, be “better” than what I’m doing now.

And you know, I’m not sure. In this case, tackling settings was definitely the easier choice. But it’s also not necessary the right thing for this app. I spent all this time defining the properties this class will need–Theme, WindowState, FontFamily, FontWeight, and so on–and then a basic constructor. (And I wasted even more time trying to create a single Font property as a tuple, and the less said about that, the better.)

With that created, I could then try to actually use the thing. And it’s like … what is the point of this? I have to create an instance of this class when the app runs, I guess. OK, fine. And then one of the first things the app does is read the app settings from disk and apply them to the app. Think about one setting, like the theme, this can be set to light, dark, or system. So I read that setting and apply it to the app, setting the appropriate UIs to that setting (in this case, there’s a set of radio buttons in the app’s settings UI). How would using a class instance make this “better”? It just adds steps. This class instance is a middleman. An unnecessary middleman. So in this case, I don’t think I’m going to continue forward with it. And I wasted a few hours there, I guess.

(It occurred to me that app settings is unusual in that the built-in feature in WPF is essentially a class instance in its own right–called Settings.settings–and thus doesn’t need to be encapsulated again. It’s fine as it is.)

But that doesn’t mean the other recommends, regarding classes or otherwise, aren’t worth pursuing. So I need to work through all that.

Method-level code optimization

The second thing I wanted to spend time on was asking Cursor to make more specific recommendations at the method level. So, for example, I asked it the following:

How would you optimize the TextBox1_TextChanged event handler?

This one prompt resulted in an incredibly detailed list of suggested changes, most of which I think are excellent. It performed a reasoning/thinking bit as above and then provided a list of changes, again with explanations and code. The high-level suggestions were:

The current implementation has several inefficiencies:

  • It’s called on every text change, which can be very frequent
  • It performs multiple UI updates on every change
  • It has redundant state checks
  • It doesn’t handle rapid typing efficiently

And then it listed all the ways I should fix that. Very detailed, with code. Incredible, and very useful.

This is useful enough that I’m considering figuring out how to just work on this codebase in Cursor. But I can go back and forth well enough and keep using Visual Studio 2022 too. This won’t be an issue for many, as VSC/Cursor natively support many languages and frameworks. What I’m doing is a bit unusual.

I hope this makes some sense. I kind of live in this for a few hours each day, and I’m not sure if this is obvious or familiar to anyone else.

Gain unlimited access to Premium articles.

With technology shaping our everyday lives, how could we not dig deeper?

Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.

Tagged with

Share post

Thurrott