Browsed by
Category: Problem solutions

Prevent Windows 10 from automatically upgrading you to Windows 11

Prevent Windows 10 from automatically upgrading you to Windows 11

Nobody seems to want to upgrade from Windows 10 to Windows 11. Now late 2022, only about 15% of users have upgraded or bought machines with Windows 11 – despite it being out for well over a year. Even the Steam Hardware Survey indicates a 28% install rate on some of the newest/highest end gaming systems.

There’s a whole host of gripes about Windows 11. There have been performance and compatibility issues that are not present on Windows 10. Others greatly dislike the UI changes (this is my big gripe). Still others mention being told their hardware is incompatible. However, you may, like many others, find yourself FORCED to upgrade to Windows 11 whether you want to or not. Windows has a nasty habit of pushing such upgrades without asking.

If you want to make sure you don’t get a Windows 11 upgrade but still keep getting Windows 10 updates, you can try this trick:

First, navigate to Windows Update, then hit Pause Updates on that page.

Run services.msc, find the Windows Update service and Background Intelligent Transfer Service (BITS), right click on them and pick Stop.

Next, browse to C:\Windows\SoftwareDistribution\, and delete the contents.

That is it. The two services will eventually restart on their own, and next time it checks for updates it will only get Windows 10 updates.

Edit – If you want an extra layer of assurance, run the tool InControl from GRC, this free utility changes a few Microsoft sanctioned registry keys to specify what version and feature update of Windows you want to remain on. There are also details on those registry keys for those that would rather manually configure it themselves: https://www.grc.com/incontrol.htm

Links:

Libby stinks, I want my Overdrive

Libby stinks, I want my Overdrive

Overdive Media pulled their app for PC Windows 10/11 in February 23, 2022. Unfortunately, their new app, Libby, doesn’t allow you to actually download and listen to the mp3’s on your Windows desktop.

I seemed to have 2 copies of the app and they do seem to still work as of Dec 2022.

Download links:

ODMediaConsoleSetup.msi version 3.6.0 – Copyright 2016 Overdrive, Inc.

ODMediaConsoleSetup.msi version 3.2.0 from software.informer

Links:

No drives found when installing Windows 10 on new Z690 motherboard with a NVME drive.

No drives found when installing Windows 10 on new Z690 motherboard with a NVME drive.

I have a nice MSI MPG Z690 Carbon WIFI motherboard with my shiny new Intel 12th gen i9-12900k processor. Recently, I tried to upgrade my 1TB Samsung 960 EVO M.2 with a 2TB Samsung 970 EVO Plus M.2; but ran into a hitch. When I booted from the Windows 10 installation USB, the NVME drive would not show up in the list of drives for installation. Running Windows repair tools didn’t help.

The process I used was to first use the Windows installation media creator to make a bootable Windows 10 installation USB. Then, I turned off the PC and replaced my 1TB drive with the blank 2TB drive. When I booted off the USB device and tried to install Windows 10, Windows setup claimed it could not find any drives:

Hmmm. I tried running the installer repair tools – but it would give a unhelpful errors and no drives would appear. Even though I had 1 NVME drive and a standard old SATA drive as well.

I read around a bit and found something helpful from Majekk who also saw his NVME drives disappear.

This is probably because you have Intel Rapid Storage Technology enabled. If yes, I would suggest keep using it, because it will let you get as much performance as possible, from you NVMe drives, on Windows 11. You need to run W11 installer (with VMD enabled) and the load Intel drivers. It will make your M.2 drive appear in the Windows installer. https://download.msi.com/dvr_exe/mb/intel_rst_19.0.zip Remember that the drive will never be visible in BIOS when using VMD. It is normal.

If you rather don’t want to use VMD (not recommended) – disable the Intel Rapid Storage (or Intel RAID – don’t remember how it’s called in BIOS).

When I went into BIOS, I noticed VMD (RAID) was indeed enabled in my BIOS because I had a set of RAID 5 drives on my previous installation. For an experiment, I turned off VMD (RAID) in BIOS, booted from my Win10 installer USB, and sure enough I could see my NVME and other drives during Windows installation. If I turned VMD back on, the drives would disappear.

The solution came from something I should have realized earlier. The Windows 10 installer (and apparently Windows 11) doesn’t know about my fancy Z690 chipset storage devices. I needed to download the Intel RAID storage controller drivers, unzip them on my Windows installation USB drive, and then manually load those drivers at the drive selection page during Windows installation.

So, here’s the two solutions (but solution 1 is best)

Solution 1: This method includes full Intel storage controller and RAID support. It’s your best bet for full perforrmance and full functionality.

  1. Create your USB Windows 10 installer USB stick.
  2. Download and unzip the MSI Intel RAID storage controller drivers onto the USB stick you created in step 1. https://download.msi.com/dvr_exe/mb/intel_rst_19.0.zip
  3. Turn the system off and install the NVME M.2 drive
  4. Boot to BIOS, turn VMD (RAID) on
  5. Save BIOS settings and boot off the Win10 install USB stick
  6. When you get to the drive selection page in the Windows installer there will be no drives. Click the ‘Load Driver’ button.
    • Browse to the USB stick, select the directory where you unzipped the Intel RST drivers. Be sure to point to the proper sub-directory with the floppy version of the driver files: <unzip root>\VMD\f6vmdflpy-x64\
    • You should see at least two Intel devices listed. You don’t need to select anything, just hit ok and Windows will load the drivers
  7. You’ll be returned to the drive selection page and you should see your NVME, RAID, and other drives listed!
  8. Pick the boot drive you want to install too, and hit OK.
  9. Windows 10 will install and you should boot normally after that. You should see all your drives – including any RAID sets you already had.
  10. Be sure to run Windows Update and download/install the latest Intel RAID drivers.

Solution 2: No RAID support later without completely reinstalling Windows. It’s also likely you will not be getting the full performance of your NVMe or other drives either.

  1. Create the USB Windows 10 installation stick.
  2. Turn the system off and install the NVME M.2 drive.
  3. Boot into BIOS, and turn VMD (RAID) off
  4. Reboot from the windows installer USB stick.
  5. Install Windows like normal. Turning off VMD will let you see all your attached drives during the installation phase (all but any RAID drives) and install Win10 on any of them.
  6. You will not be able to use hardware RAID of your motherboard unless you completely re-install Windows. If you turn VMD/RAID on later, the system will ‘lose’ the NVME drive and refuse to boot. If you set it up with the RAID controllers, then the Windows bootloader apparently makes sure the drivers for the VMD device are always loaded. This is why it’s recommended to use solution 1, because it lets you use RAID later if you want.
Scanning multiple pages into a single PDF

Scanning multiple pages into a single PDF

I have a Brother DCP-L2540DW combined scanner, copier, and laser printer unit. It’s been a great little unit I picked up for about $100 on a Black Friday sale that has cheap cartridges and loads of features for the occasional printing/copy job. On a side note, laser printers are a FAR better option than inkjet printers if you only occasionally print something. Now that good laser printers are below $100 and their toner is far more stable than inkjet printers that dry up and clog if not used regularly, they’re really the way to go for occasional everyday printing.

Recently I had to scan in about 100 pages of text and wanted to scan them in a single PDF document. Low and behold, the Brother toolkit provides a way to stack up all the documents in the feeding tray, scan the whole lot, and then automatically output a single paginated PDF document. Really awesome!

Instructions:

  1. Install and click on the Brother Utilities provided with the printer: Image
Image
  1. Click ControlCenter4 to open the Control Center 4 app.
Image
  1. On the Scan top menu, click the button for the type of scan that you would like to perform. For a multi-page PDF, you want to select File. A new dialog box will open:
  1. Be sure to change the File Type to PDF and then select the folder you want to save the document.
  2. Load the upper tray with the pages you want to scan. I’ve scanned up to 40 pages simultaneously this way without issue.
  3. Press the Scan button and the bottom and it will scan all the pages and combine them into a single PDF that is located in the folder set in the Scan Location directory you specified.

 If you have enabled the ‘Show settings dialog before scan’ option, then you will be prompted to choose your desired settings and then click Start Scanning.

 If you are using the Continuous Scanning option, you will need to load the subsequent pages either on the flatbed or in the Automatic Document Feeder (ADF) if available and then click Continue.  Once you have scanned all pages, click Finish.

Installing Stable-diffusion 1.4

Installing Stable-diffusion 1.4

Time to play with some AI generated art!

Here’s some great instructions on how to install the older stable diffusion 1.4:
https://www.howtogeek.com/830179/how-to-run-stable-diffusion-on-your-pc-to-generate-ai-images/

8GB of VRAM or less

One of the first things you’ll run into is that you’re not going to be able to generate any images at 512×512 or larger if you have a graphics card with 8GB of VRAM or less. Even smaller if you only have 4GB of VRAM. The first/easiest method is to limit the output image size. There is also an option that splits the model into 4 parts and loads each separately (thought it will take longer), or using a more optimized/compressed set of trained model data.

So how do you do that if you have an older graphics card that only has 4GB or 8GB of VRAM? TingTingin has some tips at the end of his installation video if you are using a card with 8GB of VRAM (nVidia 3070’s for example).

Summary (at 15:45): Modify your txt2img.py and add the line ‘model.half()’ after model = instantiate_from_config(config.model) in the load_model_from_config() function.

Paravirtualization of GPU

Paravirtualization of GPU

Looks like nVidia now allows paravirtualization of a single GPU between different virtual machines. This is really cool for AI work. Craft Computing shows you how to set up the graphics cards and virtual machines.

Check out some of his other great videos as well. I like this one where he was finally able to figure out how to use ANY graphics card for 3D Acceleration in a virtual machine:

Random number generators vs noise generators

Random number generators vs noise generators

Squirrel Eiserloh compares random number generators and noise functions. He does a great job summarizing the pros/cons of each and then shows how the noise functions can replace random number generators and then provide many other benefits (unordered access, better reseeding, record/playback, network loss tolerance, lock-free parallelization, etc) while often being smaller and faster than traditional random number generation.

Setting up dialup modems at home without a land line

Setting up dialup modems at home without a land line

If you’ve ever wanted to try out dialup connections for retro purposes, you might think you need a land phone line to do it. You could use a full-fledged telephone line simulator, but those are expensive and actually overkill. Instead, you can use certain voice over IP (VOIP) adapters to generate the dial tone you need. They can be found on eBay for about thirty bucks. Spend about fifteen minutes configuring it and any pair of modems will be able to connect through it. Even better, you could use IP forwarding to make the dialup-to-VOIP work with anyone else in the world via modem-over-TCP/IP.

Which VOIP devices can do this?

  • Cisco SPA122
  • Cisco SPA2102
  • Linksys SPA2102
  • Linksys PAP2T
  • Sipura SPA2100

Cathode Ray Dude shows you how with a full write up here or watch this video:

If you want to manually make your own device that creates a simulated dial tone, you can check out this write-up that I did previously.

Wisdom from Robert Martin of Clean Code

Wisdom from Robert Martin of Clean Code

Some really wise quotes:

No matter how bad your legacy code is, never EVER create a project to ‘clean up the code’. It will never get completed, you’ll inevitably have to stop, and it will end up worse than you started. This has happened every time in my experience.

The only proven way to get out of bad code requires EVERYONE on the team to get on the same page of how code is supposed to be written. Make them take the Clean Code class/read the book and then use the boyscout approach. That approach is every checkin you check in the code a little better than you found it. That’s it. In time, those little refactors move the ship in the right direction, become dominant, and then surround and destroy the bad code.

Code that has not been touched for years likely doesn’t NEED to be touched. Sure, it may be messy, but if it works, there’s no point in spending time on something you aren’t going to improve functionally.

Code reviews are largely useless. People go in, listen for 5 minutes and then at the end everyone leaves saying, “I sure hope he knew how it all worked because I toned out.”

TODO comments are fine, but should be completed before submission and never checked in. After they are checked in, they become TODON’T comments because they never get completed.

If people get into an argument about syntax/details and it lasts more than 5 minutes, then neither person has solid evidence for why it should be their way. Just flip and coin and move on.

Running Windows 1.01 and old versions of DOS

Running Windows 1.01 and old versions of DOS

I learned to program back on an old TRS-80 Model III computer as a kid. Long before Windows and even DOS, most home computers required you type in programs or load them from cassette tapes. If you were really rich, you might afford a floppy drive, but that was an expensive luxury I never had. My next computer was an IBM XT, and it ran the advanced and stalwart DOS 3.30 – which was dramatically better.

Running those old operating systems today requires you either buy one of those old systems and keep it running, or you have to emulate them. You can easily emulate DOS 3.3 and Windows 3.0 and higher on VMWare or Virtualbox, but going earlier than doesn’t seem to be supported anymore.

Enter 86Box – an emulator that lets you emulate REALLY old machines. In fact, I was able to get Dos 3.2 running Windows 1.0.

Here’s what you’ll need:

Part 1 – 86Box Setup

  1. Download 86Box and install it (source is on github).
  2. Download the latest romset and put it in the directory for 86Box called roms\
  3. Download DOS 3.2 image disks here.
  4. Download Windows 1.01 image disks here.
  5. [For later fun: download any of the other amazing images on the parent page]
  6. Start 86Box and set up 86Box by selecting Tools->Settings from the top menu, and set the system up with the following settings.

Part 2: DOS 3.2 and Windows 1.01 install

  1. Start up the 86Box.
  2. Set Media->Floppy 1 to disk01.img, then issue a ‘CTRL-ALT-DEL’ to reset it. The system should start up and boot to the dos 3.20 floppy drive
  1. Run ‘fdisk’ and it should detect your hard drive. You’ll need to create a partition to set up the hard drive.
  1. Reboot and boot from the DOS 3.20 disk again.
  2. Format the hard drive by using ‘format c: /s’
  3. Set Media->Floppy 1 to ‘DISK1-SETUP.IMG’ from the Windows 1.01 (5.25)
  4. [optional] type ‘set prompt=$p$g’ if you want to see your full path in the command prompt
  5. Run ‘setup’ from a: and follow the instructions to install Windows 1.01 on C:. Change the disks when prompted by selecting Media->Floppy 1 and setting it to each of the floppy disks for the Windows setup until it’s completed.
  6. type ‘C:’ to switch to the hard drive
  7. ‘cd \windows’
  8. ‘win’ to start windows
  9. Voila!