How to adjust the size of your Hyper-V virtual machine’s window

I recently started a new job, and due to the need to make VPN connections, I’ve been getting familiar with Hyper-V Manager. I’m using a laptop, so one of the first things I wondered was how I could fix the size of my virtual machine’s window so that I don’t have to do a lot of scrolling. Unlike with Remote Desktop Connection, where you can specify the size of the window before connecting, Hyper-V Manager did not appear to have such a configuration option.

It turns out the answer to my question is very simple: for a Windows 7 virtual machine, at least, all you have to do is change the screen resolution on the VM itself. To do that, right-click on the VM’s desktop and choose Screen Resolution (for Windows 7) or Display settings > Advanced display settings (for Windows 10) and choose a resolution small enough to fit on your physical computer’s display.

After you adjust your VM’s resolution, the window in which the VM is running resizes itself automatically, and you’re good to go.

SQL query for finding column in database

Last week, one of my coworkers was trying to figure out which tables in a database contained a particular column name. That’s something I’ve had to do in the past, and although I didn’t remember the exact details, a quick search turned up this gem from a Stack Overflow thread:

SELECT column_name, table_name FROM information_schema.columns WHERE column_name like '%{column name}%'

This query returns a list of all tables and views in the database that have column names containing the name for which you are searching.

If you know the exact name of the column, you can change the where clause to WHERE column_name = '{column name}'.

2016 cars for NASCAR Racing 1999 Edition

A couple of months ago, I explained how to get NASCAR Racing 1999 Edition running on Windows 10 using DOSBox. That’s all well and good, but the cars included with the game are—much like the game itself—relics of the past.

Since NASCAR Racing 1999 Edition has an in-game paint scheme editor, however, there’s nothing to stop us from creating our own updated cars. That’s exactly what I’ve done, and you can now download my set of all 39 full-time 2016 Sprint Cup Series cars. The paint schemes are not perfect by any means, but they’re good enough for my purposes, and I hope you’ll enjoy using them.

To bring your game up to speed, simply unzip the .car files to your game’s cars directory; assuming you followed the instructions in my previous post, you can find that directory at %userprofile%\Documents\DOSGames\NR1999\cars. The files should be compatible with both NASCAR Racing 1999 Edition and NASCAR Racing 2. Start the game and make your way to the “Driver Info” section to create a fresh entry list.

I’ve adjusted each car’s skill numbers to approximately reflect real life. For example, Kevin Harvick and Brad Keselowski should run near the front of the pack each race, while Michael Annett and Jeffrey Earnhardt will be closer to the tail end of the field.

Possible resolution for email bouncing with 554 5.7.1 null error

Last month, a staff member at work reported getting an email delivery status notification error when attempting to send to an AOL email address:

<XXXXXXXXXX@aol.com>: host core-aba03c.mail.aol.com[172.27.22.39] said: 554 5.7.1 null (in reply to end of DATA command)

The SMTP reply code indicated the receiving server rejected the sender’s email, but the “null” message didn’t provide any additional insight, and a search for 554 5.7.1 null turned up no solid leads. The staffer had corresponded previously with the intended recipient, so why, then, was her email rejected?

It turned out that the user attached an email thread—i.e., an Outlook item file—to her outbound message. (In Microsoft Outlook 2016, you can do this from the Message ribbon by choosing Attach Item > Outlook Item.) I asked her to save the email thread as a PDF file and send that instead, and when she did so, her message was delivered without any problems.

Interestingly enough, a user on the Gmail Help Forum later that same day—after our staff member successfully sent the email—reported getting similar errors when attempting to send email to AOL addresses. This may be noteworthy because we do use Gmail accounts via Google Apps. I suppose it’s possible that there was actually a problem with AOL’s server that was resolved between the time our staffer sent the email with the Outlook item file attached and the time she re-sent her email with a PDF attachment; even if that was the case, however, adding email attachments in unusual file formats is a good way to get your outgoing mail rejected, and it’s a good thing to check if you have to troubleshoot a bounced email.

How to run NASCAR Racing 1999 Edition on Windows 10 using DOSBox

As a teenager, I spent innumerable hours playing Papyrus’s NASCAR Racing 1999 Edition and its predecessor, NASCAR Racing 2. I never had a steering wheel and pedals, but I managed to keyboard my way around Richmond, Atlanta, and the other tracks included with the games.

Running NASCAR Racing 1999 Edition on Windows 98 was easy: insert CD, install, and drive off into the night. As the years have passed, however, the game has proven to be rather less compatible with modern operating systems. Sure, I could still install it on Windows 7, but running the game with its limited color palette and maximum resolution of 640×480 pixels made my monitors do some interesting things, to say the least.

I recently saw a post in which someone mentioned successfully running NASCAR Racing 2 on Windows 10 using a program called DOSBox, an x86 emulator designed primarily with old games in mind. The individual didn’t say exactly how they did it, but NASCAR Racing 1999 Edition is essentially NASCAR Racing 2 with trucks and additional tracks. Since I still have the original game CD, I decided to look into DOSBox’s documentation and figure out how to make it happen.

Although this guide deals specifically with NASCAR Racing 1999 Edition, the same basic process should work for running NASCAR Racing 2; however, some directory and file names may differ.

Setup

  1. Download and install DOSBox. I used version 0.74.
  2. In Windows Explorer, browse to %userprofile%\Documents and create a folder called DOSGames. Within that new folder, create a subfolder called NR1999.
  3. Insert the NASCAR Racing 1999 Edition CD in your computer’s optical drive, then copy the contents of the nr1999 folder on the CD to %userprofile%\Documents\DOS Games\NR1999.
  4. Copy the following subfolders from the nros\nros\tracks folder on the CD to %userprofile%\Documents\DOSGames\NR1999\tracks. These tracks are not used by any of the game’s default seasons, but you can manually add them to a season data file.
    • BULLRUN
    • POCONO
    • REDROCK
    • RICHMOND
    • WILKES
  5. Start DOSBox. At the prompt, enter exit.
  6. Browse to %localappdata%\DOSBox and create a copy of dosbox-0.74.conf. Next, edit dosbox-0.74.conf to add this line at the end of the file: MOUNT C "C:\Users\username\Documents\DOSGames" This causes DOSBox to automatically mount the DOSGames folder as its C: drive.
  7. Start DOSBox again. At the prompt, enter c:.
  8. Enter cd nr1999 to switch to the directory where the game files are stored.
  9. To enable sound, enter soundset at the prompt. Click “Autodetect Sound Card,” then click “Exit” once your computer’s sound card has been detected.
  10. Enter nr1999 to start the game.
  11. After the game starts, click “Options” and go to the “Graphics” screen. Turn on all textures, and, if desired, increase the number of “Opponents Drawn Ahead”; I set mine to 25.
  12. Go to the “Controls” screen and disable all driving aids. If you have a wheel and pedals, joystick, or gamepad, you can configure and calibrate them at this time. (Read on for a note on gamepad configuration.)

Running the game

  1. Start DOSBox. At the prompt, enter c:.
  2. Enter cd nr1999 to switch to the directory where the game files are stored.
  3. Enter nr1999 to start the game.
  4. Press CTRL + F10 at any time to free your mouse from the DOSBox window. Type exit at the prompt to close DOSBox.

Gamepad configuration

I own a Logitech Dual Action Gamepad. I’m not necessarily recommending that particular controller over your controller of choice, but when I was looking for a gamepad for a different game a few years back, it was inexpensive, and it’s what I have.

The gamepad is a good bit newer than NASCAR Racing 1999 Edition. Perhaps that’s why, on the “Controls” screen within the game, the shoulder buttons on the front of the gamepad don’t register when pressed. Both sticks work, and the buttons on the top of the gamepad near the right stick work, but not the shoulder buttons. I had the same problem with the game installed directly on Windows 7, so I think this is an incompatibility between the game and the controller instead of a problem with DOSBox.

Since I wanted to use one of the sticks for accelerating and braking and the other for steering, that left only the buttons on top of the gamepad available for shifting gears, but they’re not conveniently located for that purpose. Thankfully, DOSBox has a keymapping feature that does recognize when the shoulder buttons are pressed, and can pass that information along to the game itself.

To launch the keymapper, I pressed CTRL + F1. I clicked “z,” then at the bottom of the screen clicked “Add,” and pressed the top left shoulder button. I repeated that process to assign the top right shoulder button to “x.”

After exiting the keymapper, I started the game again. The left and right fire buttons then registered when pressed on the “Controls” screen. Success!

Summary

NASCAR Racing 1999 Edition has long been supplanted by newer, shinier racing games, but the nostalgia is strong for me. The graphics are extremely dated, to be sure, but even running in a tiny window, the game is still just as much fun as it was back in 1999.

If you want to replicate my setup, here’s what you need:

Upgrading BIOS fixes Windows 10 docking station DVI output problem

Since late last year, I’ve been upgrading our desktops and laptops at work from Windows 7 to Windows 10. For each machine, our process has consisted of doing the free upgrade to Windows 10, then doing a clean install. For the most part, the transition has gone smoothly, but I recently ran into a problem with an upgraded HP ProBook 6460b and accompanying HP docking station (VB041UT#ABA). Both pieces of hardware were purchased in 2011, so we’re not talking about brand new equipment here, but the computer does what we need it do.

The problem

With Windows 7 installed, the problem laptop output video through the DVI and VGA ports. After I installed Windows 10, however, if a VGA monitor was connected, it would display only at the laptop’s native resolution of 1366×768, and the external monitor connected via DVI would fail to find a signal.

If no VGA monitor was connected, the DVI monitor would display the HP logo on the boot screen and the Windows logo as Windows began loading, but then the screen would go black. The power button on the monitor would remain lit up like it was getting a signal until I opened the lid on the laptop; at that point, the monitor would lose its connection and display the “check cables” message, and the only way to get it to display anything again was to close the laptop’s lid and reboot.

Troubleshooting

We previously upgraded another 6460b with the same model docking station to Windows 10 without running into any issues, so I had no reason to believe the laptop model in question was incompatible. I tried swapping cables, monitors, and even the docking station itself with another identical docking station that I knew worked with a laptop upgraded to Windows 10. I compared the laptop’s display settings, power settings, and graphics driver version with the working laptop, and everything was in sync.

After checking the obvious things, I began my online search, and finally ran across a forum thread in which someone mentioned having to update BIOS on a Dell laptop to correct a similar problem. It seemed like a long shot, but I restarted the problem laptop and a working machine, pressed Esc on boot and then F1, and checked the BIOS versions on each computer. Sure enough, the laptop that output video correctly boasted BIOS version F.60, while the problem laptop reported version F.42.

I downloaded the latest BIOS from HP (version F.61) and let the flashing process run over a weekend. Once the BIOS was updated, I docked the laptop, and video was output to the DVI and VGA monitors, both of which displayed at the correct resolutions.

Troubleshooting, part 2

All appeared to be right with the world until I rebooted the laptop, at which point the computer forgot what resolution it should be using on the external VGA monitor, and reverted to the laptop’s native resolution. I opened Device Manager, expanded the Monitors grouping, and uinstalled the Generic P&P Monitor listed there, then rebooted, and the VGA monitor was detected correctly once more.

Following another reboot, however, the VGA monitor once again reverted to the laptop’s native resolution, and after that point, uninstalling the generic plug-and-play monitor from Device Manager had no effect on the setup’s performance.

After fighting the issue for a while longer, I finally opened the Intel Graphics and Media Control Panel, went to the Display section, and added a custom resolution (1280×1024) and refresh rate (60Hz) appropriate for the monitor connected to the VGA port, and rebooted again. After that, I went into Windows display settings and clicked through to the advanced display settings, and I was able to select my newly-added custom resolution for the VGA monitor.

Summary

The DVI output problem was resolved by updating the laptop’s BIOS. The BIOS update initially appeared to have fixed the VGA resolution issue, too, but I ultimately had to define a custom resolution in the graphics control panel to get away from the laptop’s native resolution being displayed on that second external monitor.

Although the laptop detects when something is plugged into the VGA port on the docking station, it appears to be failing to detect exactly what that something is, reporting only that a generic plug-and-play monitor is connected. I can’t explain why it worked immediately after the BIOS update without a custom resolution defined unless there is some sort of intermittent hardware problem, but the user has reported no display issues since I added the custom resolution and swapped the laptop into place.