Tag Archives: Windows 10

Support for Windows 7 ends today

It is a sad day, as Microsoft is officially ending updates and security patches for Windows 7, the popular OS still being used by a large majority of PCs. Windows 7’s popularity stems in part from the large-scale rejection of Windows Vista (which I never had a problem with, personally), itself an apparent upgrade from Windows XP, which was also widely hailed and widely used.

This will cause some problems for people, small businesses and even large corporations that still heavily rely on the OS, as they will no longer be able to secure the platform after today. The fact that Microsoft is willing to provide continuing security updates for $25 per machine to start is not an effective IT strategy for a business, plus you can use Microsoft’s own upgrade tool to upgrade your machine for free. While we all loved Windows 7, it really is time to move on.

While sad, it’s also understandable, as companies must evaluate where they should delegate resources, especially when they have so many previous versions of Windows. On the other hand, considering the user base is still so strong, almost 33 percent right under Windows 10’s 47 percent, one might think they would still consider it an important horse in the stable, but people aren’t going to upgrade if you don’t give them good reason. Plus, I don’t see any major new versions of Windows (Windows 11? 14?) being released anytime soon, now that Microsoft is moving past CEO Satya Nadella’s ‘Mobile-First, Cloud-First” strategy into “Everything AI,” which still embodies some of the previous mantra.

Microsoft has, in my opinion, made great strides lately in terms of opening their platforms, becoming more accessible, and playing nice with other companies. Plus, you could always run Windows 7, or any other Windows version, in a virtual machine and never have to forget the glory days of the last great operating system.

Plus, you know it will end up available like this or this someday anyway.

Determine what application is preventing your USB drive from ejecting [Win 10]

This thing's cool

Boy, I haven’t posted in a while; it has been very, VERY busy here. As penance, I will make up for that with a post that addresses a common problem that afflicts us all: How to determine what application is preventing your USB drive from properly ejecting.

You know the deal: You try to eject your USB drive properly (which you should; otherwise a voltage change or write operation could damage data or the drive), only to have Windows give you the following dreaded dialog:

Uh Oh

Uh Oh

The problem is, this dialog tell you absolutely nothing, other than something is using your USB drive. What are you supposed to do about this? Randomly shut down applications until it ejects properly? Save everything and reboot? What if the problem is not an open app, but a background process? How can you actually find out what app is causing this conflict.

Turns out, it’s not too difficult.

The first thing you want to do is open the Event Viewer, which allows you to see everything that is happening in your system, including recent alerts and what caused them. If you search from the start menu, it’s the only result you’ll see.

Click on the that, and the main Event Viewer interface will appear.

Main Event Viewer Interface

Main Event Viewer Interface

There are a lot of options, and a lot you can do from here. In fact, Event Viewer is a very powerful tool that it doesn’t hurt to become familiar with. For our purposes however, we will need to expand the ‘Windows Logs’ menu on the left hand side, then choose the ‘System’ log underneath that as non-ejecting is a system event.

System Log in Event Viewer

System Log in Event Viewer

You’ll notice the fourth column in the main window is ‘Event ID.’ We need to see events that have an Event ID of 225. If you examine this log immediately after your USB drive fails to eject, you’ll see what you need to see right at the top of the list. However in the image above we don’t have that, so we have to filter the results to only show us events classified as 225.

In the right hand panel of the window, you can see the option to ‘Filter Current Log’ as the fifth entry down. Select that, and the filter window appears:

Filter Current Log dialog

Filter Current Log dialog

There’s a lot you can do here as well, however all you need to do to determine the offending app is enter ‘225’ in the box that currently says <All Event IDs> then click [OK]. Once you do that, you’ll see every 225, or non-eject, event.

All events tagged 225

All events tagged 225

The top one is the most recent one that happened, and highlighting it will, under the general tab in the lower window, tell you exactly which program or process prevented the USB drive from ejecting. In this case, if you look at the full path you can see it is the ‘adobe_licutil.exe’ process, there at the end. Once you know that, it’s a simple process of the well-known [Ctrl]+[Alt]+[Esc] to bring up the task manager and shut the task down from there.

Task Manager

Task Manager

However, If it is still difficult to determine the specific process from the task manager because of a naming inconsistency, which has happened here, event viewer was also kind enough to provide us the Process ID, or PID, in this case 12592. In this case, if you want to be extra-double-sure, you can use Microsoft’s Process Explorer, a separate download, to identify the process by its PID instead of name, and shut it down from there.

Here’s an example of my Process Explorer, although out of habit I closed the task before taking the screenshot! But you can see the PID column and from there you can definitively ID the offending process.

Process Explorer

Process Explorer

Remember, having to go to the extreme of Process Explorer is rarely required, and simply identifying the process and shutting it down from Task Manager is usually all it takes.

And here comes PowerShell!

DOS Prompt

I love the DOS prompt. I really do. I have books about it, watch videos about it, and teach HCI students about how many of the conventions used in the Graphical User Interface (e.g. cut/copy/paste) are taken from the command line, which were themselves taken from manual conventions used with typewriters (when typists made an error, they would often type the intended word on a separate paper, cut it out with an X-acto knife, and paste it over the mistyped word on the original document).

Although I frequently criticize techy types for being unnecessarily proud of their cult-like, obtuse, user-unfriendly platforms that require deep-dive understandings of underlying technology to get them anywhere close to working (I’m looking at you, FreeNAS and DD-WRT), I have to give the command line credit as it was all we had back then, we didn’t use it for bragging rights, and it worked well enough at the time while requiring some understanding of the underlying machine and software architecture.

However, it appears that the command line is being pushed to the back row. You’ll notice in the image below, which is of my very own Windows 10 Start context menu which appears when right-clicking on the start menu, there is the option for command prompt and command prompt admin.

Win 10 context menu

Win 10 context menu

In the following image, though, taken from a PCWorld post about the most recent Windows 10 Insider Build, Build 14971, you can see that the entries for command prompt are no more, and instead have been replaced with PowerShell.

Windows 10 Power Shell entries

Windows 10 Power Shell entries (credit: PC World)

What is PowerShell you might ask? If you were to just look at it, it might not look all that different from a standard command line. In fact, it IS a command line. However, rather than carrying out one command at a time as is typical with traditional command lines, hence their name, PowerShell allows for a host of capabilities that would be very difficult – although not impossible – via traditional command line commands. It allows for system and network/remote management, as well as scripting functionality supported by the .NET platform. It has many functions, which is also why the name PowerShell is both accurate and misleading.

You see, a shell is a command line. We’ve been using shells forever now, they even have allowed for the authoring of some basic scripts called batches in which a bunch of commands run all at once, but they were also very limited in the universe of the GUI. When a criminal attempts to put malicious code into or onto a system in the hopes it will run, that is often known as shellcode because it provides command-line access to the compromised system (if you’re interested, this is most commonly done through buffer/stack overflow attacks, of which there are many different kinds). Even PowerShell itself has been around for a long time. These types of interfaces have been a staple of computing since the birth of the PC and before.

PowerShell is powerful, and has extensive capabilities that make it as useful as a GUI if you know how it works. Why not just use the GUI? Because a command line interface doesn’t use nearly the resources of a GUI, can run on a low-power system, gives much finer and more focused control than a GUI, and a command line interface won’t crash. You can see that I appreciate the power of the command line, and while I have nothing against PowerShell specifically, I also see it as the end of an era. The DOS prompt was so insanely unintuitive, yet comparatively simple as well; a true paradox. In PowerShell’s defense, here is a screenshot from the carlwebster.com blog showing it running a script that displays firewall rules. And that is just one example of the infinite amount of ways in which it can be used.

PowerShell showing firewall rules

PowerShell showing firewall rules

Apparently ‘Command Prompt’ can be brought back to the context menu through taskbar personalization settings so I may do that when the update finally rolls out, but I also want to give powerShell a chance – I haven’t used it that much but use the command prompt extensively, so who knows, maybe it will all be for the best. I’m approaching it with an open mind, and I’ll post my thoughts here when I’ve had the chance to work with it for a bit.

Installing VirtualBox and Windows 10 on a Mac

Instructional video time!

I have created a video that walks you through the process of setting up Oracle’s VirtualBox hypervisor on a Mac, and using it to run Windows 10. In a window. On your Mac.

It sounds complicated, but it’s not. I explain it all in the video, however a hypervisor simply allows you to set up logical machines, each of which can run an operating system and act as a separate PC! You can have a machine running Windows, a machine running Linux, and even multiple machines each running a version of an OS (On my Mac, I have a machine running Windows 10, a machine running Windows 7, and a machine running Linux Mint, as you will see).

You can use VirtualBox on any OS, so you don’t have to use it just on  a Mac. If you’ve always wanted to experiment with Linux and find out what the deal is, you can set up a VM and have at it! It’s insanely useful, not terribly difficult to set up, and free, so I encourage you to give it a try.

Links shown in video:

VirtualBox and extensions: https://www.virtualbox.org/

Download Windows 10: https://www.microsoft.com/en-us/software-download/windows10ISO

My Windows 10 upgrade experience

Overall, it went quite smoothly. I expected some problems, but at this early hour everything seems to be working very well, with only some minor feature-based quibbles. No fatal problems, and everything (so far) is running not just smoothly, it appears to be much faster overall.

In fact, the only real issue I encountered was is301.com itself going down for an hour!

The process took about an hour to go fully from Windows 8.1 to Windows 10, which is much faster than I expected. The Windows 10 beta that I mentioned in class I was running in a virtual machine on a Mac could take hours to upgrade, but this was very efficient.

New logos for Microsoft Edge and Logitech

Edge logo

Both of which are bad. In case you haven’t guessed, this will be dripping with my opinion. I always say I don’t inject opinion into these posts, and then this happens. Feel free to disagree in the comments!

As you may know, in the upcoming release of Windows 10, Internet Explorer is being replaced with Microsoft’s Edge browser. That brings many changes including the end of support for Silverlight, and a completely redone rendering engine that hopefully makes the browser very lightweight, and…a new logo.

As you may know, I have been beta-testing Windows 10 on the fast-track, using a virtual machine on a Mac. I know that sounds like a lot, but the first linked post will tell you all about it.

It Begins

You may notice in the Twitter feed over there on the right side of the page, I recently sent out a Tweet stating a July 29 release date has been confirmed for Windows 10.

Ironically, I made that Tweet on my Mac. About an hour later, when I started up my Windows machine, I saw what many of you likely saw on your own machine – this little guy in the system tray!

Well hello there!

Well hello there!

Virtual Machines and My Time With Windows 10 (image heavy!)

As we all know, especially if you read the Windows 10 reveal post on this very blog, Microsoft recently announced that Windows 9 was going to be Windows 10. They skipped a whole number for various theorized reasons, but response to the new OS has been cautiously optimistic. This was helped by Microsoft’s standard practice of releasing an early build that people could download, install, and play with if they were so inclined.

It’s not an alpha release, in which the software is very early, very unstable, and only tested by people inside the company, it’s more closely related to a beta, which is a later, more refined but still buggy pre-release version tested by the public or outside testers/focus groups. Rather than call it either of those however, it’s what Microsoft labels a ‘Technical Preview,’ a current, non-optimized and incomplete yet generally functional version of the still-one-year-away Windows 10. It may have bugs, it may crash, it may behave erratically or unexpectedly, it may even destroy all your data, but you agree to take on that risk if you decide to download it and give it a try.

So of course I downloaded it!

But I’m aware of the risk, and I would never install it on a machine I actually use. Well, not quite anyway. I use what’s known as a ‘Virtual Machine,’ which is a simulation of dedicated hardware on other dedicated hardware. To put it more clearly, I installed it in its own little corner of my Mac.