Preparatory Steps for Migrating 32-bit Microsoft Access Application to Microsoft SQL Server 2019 Express Backend

Something I had to do recently, so notes follow.

  1. Install Microsoft SQL Server 2019 Express.
  2. Install 32-bit version of Microsoft Access Database Engine 2016 Redistributable (if you are using older office, use 2010 version of database engine redistributable). If you are getting an error that Office 16 Click-to-Run Extensibility Component 64-bit Registration prevents 32-bit Office installation – follow these steps.
  3. Install 32-bit version of Microsoft SQL Server Migration Assistant for Access.
  4. Install SQL Server Management Studio.
  5. Create a new database and add users using SQL Server Management Studio.
  6. Run Microsoft SQL Server Migration Assistant for Access, do a migration (do not migrate queries) and relink tables to use a new SQL Server database.
  7. Note the errors in converting tables.
  8. And the hard part: fix your Access frontend.

ZTE MF286R DNS Settings

Note: this advice is generic and should work with any router lacking DNS settings.

I recently subscribed to Telia’s mobile Internet service and bought ZTE MF286R 4G router they sell. The first thing I noticed, was the absence of DNS settings, which is a no-deal for me, because I use my home DNS server as a first line of defence against ads, spam, pr0nogrąphy, malware and other unwanted websites. Thankfully, this problem is (somewhat) easily solvable, but you’ll need some dedicated hardware to host your DNS server locally. If you don’t have any spare hardware or some always-on computer on your network you can give this job to, and you don’t want to maintain your own server, then spare yourself some pain and get a better router.

I use a low power Intel Celeron J1800-based server to run an instance of Pi-hole (among other things). Pi-hole uses OpenDNS or other specified (public or private) DNS server to resolve your requests and it has functionality to apply additional user defined or third party maintained black-lists. What it also can do, is to act as a DHCP server (i. e. it can assign IP addresses to network devices), which we’ll exploit to overcome MF286R’s DNS handicap.

When you appoint Pi-hole as DHCP server, it will serve as DNS server too. However, there can only be one DHCP server on a given network, so, firstly, turn-off DHCP functionality in the ZTE router settings (Advanced settings -> Router):

fig. 1 Turning-off DHCP server in ZTE MF286R router.

After applying this change, your MF286R router will stop handing out local IP addresses to your network devices.

Secondly, turn-on DHCP server in the Pi-hole settings (fig. 2):

fig. 2 Turning-on DHCP server in Pi-hole

Now your Pi-hole will take over the job of handing out IP addresses, and at the same time it’ll start acting as your network’s DNS server.

Stop Huawei P Smart 2019 From Killing My Apps

If you have Huawei P Smart mobile phone, you may have noticed its annoying tendency to kill third party background applications randomly, even those set to be managed manually (Fig. 1).

Fig. 1 Settings -> Battery -> App launch

The auto-launch setting also does nothing (at least on my phone using excellent Blokada and Auto Auto-Rotate applications).

To fix this you’ll need to follow the steps outlined here. I didn’t have PowerGenie app they mention installed, but I did have something called hwaps. Uninstalling it (Fig. 2) fixes the problem with a phone randomly killing background applications and not starting them on boot.

Fig. 2 Uninstalling hwaps using adb

If you have changed your mind, you can restore hwaps application by issuing the following command:

adb shell pm install-existing --user 0 com.huawei.android.hwaps

Disabling Firefox’s DNS Over HTTPS via Windows Group Policy

  1. Download Group Policy templates for your Firefox version here
  2. Copy *.admx files to C:\Windows\PolicyDefinitions
  3. Copy *.adml files to from en-US to C:\Windows\PolicyDefinitions\en-US (or other language folder if applicable and available)
  4. Launch gpedit.msc (gpedit.msc is not available on Home versions of Windows, if you have that, I recommend using third party Group Policy editor like PolicyPlus)
  5. Navigate to Computer Configuration -> Administrative Templates -> Mozilla -> Firefox -> DNS Over HTTPS
  6. “Enabled” -> Disabled; “Locked” -> Enabled.

Huawei B525 4G router: new firmware – no more changing DNS server manually?

Recently I upgraded my Huawei B525s-23a 4G router’s firmware (new software version 81.191.13.00.1134, Web UI version 81.100.31.02.1134) only to find out the trick to change DNS servers has stopped working:

No more DNS settings for you

After a brief inspection with browser’s developer console, worry not, DNS settings are still here (it’s Huawei, so they are hidden of course); to show the settings navigate to Router -> DHCP, press F12 and enter this into developer’s console:

$('#dhcp_dns').show();

Press enter, and the settings are back:

Change DNS server on your Huawei B525 again!

Tested with Firefox, Chrome and Chromium based Edge.

GOG Galaxy 2.0 wrong currency

Recently I had a problem with GOG Galaxy 2.0 client’s store displaying wrong currency with no way of changing it (no such option in the client itself and under gog.com account settings correct currency was already selected).

I fixed it by following this post on GOG forums and deleting everything under C:\ProgramData\GOG.com\Galaxy\webcache (closing Galaxy client beforehand).

Ricing Firefox for Usability, Privacy and Distraction Free Browsing

Motivation

Preventing ADHD, computer AIDS and returning browser back to what it was supposed to be — a tool to read and learn, not to consoom content.

Introduction

While Mozilla engages in an open warfare against their users, somehow they still haven’t managed to completely kill their only product that matters: Firefox continues to be the only major (that sweet <4 % market share) browser which is not beholden to Google’s browser engine. In this article I’ll explain how to minimize your web footprint, read what you want to read without distractions, and be quicker and more efficient about it.

This article is written as a series of notes to myself (and others) and follows a fresh installation of Firefox 72.0.2 (everything should work with later Firefox versions with no or minimum changes).

Changing visual browser options

So the first thing I do after installing Firefox is change the following settings in about:preferences.

General section

  1. Check Restore previous session.
  2. Make Firefox default browser & uncheck Always check if Firefox is your default browser.
  3. Uncheck Ctrl+Tab cycles through tabs in recently used order.
  4. Check When you open a link in a new tab, switch to it immediately.
  5. Check Always ask you where to save files in Downloads subsection.
  6. Under Digital Rights Management (DRM) Content leave Play DRM-controlled content checked if you can’t stop consoooming netflix.
  7. In the Firefox Updates subsection check Check for updates but let you choose to install them.
  8. Uncheck Use a background service to install updates.
  9. Uncheck Automatically update search engines.
  10. In the Browsing subsection uncheck the following options
    • Show a touch keyboard when necessary
    • Search for text when you start typing
    • Enable picture-in-picture video controls
    • Recommend extensions as you browse
    • Recommend features as you browse
  11. Under Network Settings make sure Enable DNS over HTTPS is unchecked.

This is how general settings section looks like after applying these settings (click to open full-sized image in a new tab):

Home section

  1. Under New Windows and Tabs select Homepage and new windows and New tabs to open Blank page.
  2. Uncheck everything in the Firefox Home Content subsection.

This is how home settings section looks like after applying these settings (click to open full-sized image in a new tab):

Search section

  1. Set DuckDuckGo as your default search engine.
  2. Uncheck everything under Search Suggestions.
  3. Remove everything except DuckDuckGo from the list under One-Click Search Engines.

This is how search settings section looks like after applying these settings (click to open full-sized image in a new tab):

Privacy & Security section

  1. In the Enhanced Tracking Protection subsection Select Custom radio button and leave everything checked as is (we’ll return to cookies and tracking with our add-ons).
  2. Leave Send websites a “Do Not Track” signal that you don’t want to be tracked set as Always (never-mind that no big web spy conglomerate like google cares about that setting)
  3. In the Permissions subsection click on Settings under Location, Camera, Microphone and Notifications, check Block new requests asking to access your [..] and save.
  4. In the Autoplay settings click Block Audio and Video as default behavior (or leave default Block Audio if you must).
  5. Check Prevent accessibility services from accessing your browser and restart Firefox.
  6. Uncheck everything under Firefox Data Collection and Use.
  7. Uncheck everything under Deceptive Content and Dangerous Software Protection unless you are a literal child or your computer is used by children.

This is how search settings section looks like after applying these settings (click to open full-sized image in a new tab):

Uninstall Mozilla Maintenance Service (Windows OS specific)

Open Windows Control Panel and uninstall Mozilla Maintenance Service. This service is supposedly only used to update Firefox and Thunderbird without triggering UAC confirmation dialog. After uninstalling this service the checkbox named Use a background service to install updates under Firefox Update subsection in General settings tabs will disappear.

Remove Pocket

Open about:config, search for extensions.pocket.enabled and set it to false.

Controlling Firefox through Windows Group Policy (Windows OS only)

For an example how to use Windows Group Policy for Firefox you can read here.

Essential extensions for privacy and minimizing distractions

Install the following extensions:

uBlock Origin settings

Subscribe to additional Filter lists: Adblock Warning Removal List from Ads category; Fanboy’s Cookie List, Fanboy’s Annoyance List and Fanboy’s Social Blocking List from Annoyances, Select your country specific block-list from Regions, languages and click Apply changes. Your filters list will look something like this:

Containing with Multi-Account containers

If you must use google’s services, but don’t like all that tracking business too much – this extension is for you. It spares you the inconvenience of disabling cookies altogether and prevents cross-site tracking by creating sandboxes for specified websites. Works best when combined with Cookie AutoDelete extension (explained further on).

Rename default containers to suit your needs. I name mine as follows: Google sandbox, Social media, Banking and Shopping; then force Google domains, like google.com, mail.google.com, youtube.com (and their country specific versions if needed) to always open in Google sandbox (open add-on’s menu, select desired container, open website you want to contain in that container and click Always open in [container], repeat with all the websites you want to contain, i. e. force all the twitters, facebooks and reddits to open in Social media container, your bank to open in Banking container and so on).

Preventing tracking with Cookie AutoDelete

Open Cookie AutoDelete extension settings and check these options:

  • Enable Automatic Cleaning? Delay Before Cleaning
  • Enable Support for Firefox’s Container Tabs

Your options should look something like this:

Cookie AutoDelete settings

Now you white-list or grey-list the sites you visit by opening them in an appropriate container (read Containing with Multi-Account containers section above). For example, when visiting www.google.com, Firefox loads it in Google sandbox, then press the Cookie AutoDelete icon in the Firefox toolbar and add *.google.com to white-list as shown in the image bellow.

Repeat this step with other often-visited sites by white-listing cookies in their corresponding containers. This is more convenient than always deleting cookies, because you do not need to login and go through two-factor authentication every time you want to open you mail and at the same time confines those cookies to their corresponding sandboxes.

Every other site not in the white-list will get its cookies deleted 15 seconds after closing its tab (as per Cookie AutoDelete settings above). You can use grey-list to preserve site’s cookies until you close your browser (I find it most useful for e-shopping websites, so cookies won’t get deleted while you were redirected to the payment processor).

Stop CDN tracking with Decentraleyes

Decentraleyes stops requests to various content delivery networks (CDN) for various resources like JavaScript libraries. It comes bundled with commonly used resources on the web and injects them locally instead of making remote request to some CDN. Works good out of the box.

Forcing HTTPS with HTTPS Everywhere

When your browser makes a HTTP request, but website you are about to visit also supports HTTPS, HTTPS Everywhere extension forces HTTPS connection. Works good out of the box.

Tidying up Firefox

I like my software compact and not wasting any space, so default Firefox install needs some clean-up. I mean wtf is this:

To fix this right-click on the marked empty space and select Customize. Now right click on empty rectangles and select Remove from toolbar, or simply drag them away to the space bellow.

While you are here drag Add-ons, Zoom Controls, Options and New Private Window items to the toolbar.

In the strip down bellow click Toolbars and check both Menu Bar and Bookmarks Toolbar, also click Density, select Compact and uncheck Use Touch for Tablet Mode. Update: Mozilla being Mozilla, they hidden this option in clean Firefox installs, to show it again set browser.compactmode.show to true in about:config.

If you are using Linux, uncheck Title bar, if enabled, to make this:

into this:

Click Done, populate (in time) your bookmarks bar and marvel at its beauty:

about:config settings

browser.tabs.closeWindowWithLastTab = false //Do not close Firefox window after closing last tab.

Usability Extensions

Install the following extensions:

Improving your tab game with Tree Style Tab extension

Tree Style Extension allows you to organize and manage your open browser tabs hierarchically in the process saving that sweet vertical space by moving your tabs to the side.

However to save that sweet vertical space there are some extra steps involved. First you must create a folder named chrome in you Firefox profile folder. To do that open a new tab, in the address field enter and load about:support, then press Open Folder button next to Profile Folder field. In this opened location you need to create aforementioned chrome folder and in this new folder you must place a file called userChrome.css, which must contain the following content:

.titlebar-spacer[type="pre-tabs"] {
  visibility: collapse !important;
}
#TabsToolbar {
    visibility: collapse;
    overflow: visible;
}
#TabsToolbar > * {
    visibility: collapse;
}
#TabsToolbar .titlebar-buttonbox-container {
    visibility: visible !important;
    position: absolute;
    right: 0;
}

Now open new tab in your Firefox browser, visit about:config, search for toolkit.legacyUserProfileCustomizations.stylesheets setting and set it to true.

Now you can restart Firefox and, voilà – Firefox’s tab toolbar disappeared and only Tree Style Tab side bar shows (press F1 if it doesn’t).

Post updated 2022-10-28. Everything works with Firefox 106.0.2.

Prevent hard disk drive from sleeping/spinning down/power saving

Modern hard drives have this annoying power saving feature of spinning down when disk is not in use for a couple of minutes. This often results in a few seconds pause when accessing files, game freezing until disk spins up and so on.

To fix it, first thing you wanna check is a setting Turn off hard disk after in advanced power options (Fig. 1).

Fig. 1 Advanced power settings

Make sure it is set to 0. After saving settings, give it a go – if it helps, then great, problem solved. However usually this is not enough, because modern HDD’s have hardware level power saving features which ignore this Windows setting. My go-to tool to prevent drives from sleeping is CrystalDiskInfo (just get Standard edition). Upon installing it, select Function -> Advanced Feature -> AAM/APM Control from top bar menu, select your hard drive(s) and click on Disable under Automatic Acoustic Management (AAM) and Advanced Power Management (APM) sections (if applicable) (Fig. 2).

Fig. 2 AAM/APM Control

Then check option Function -> Advanced Feature  -> Auto AAM/APM Adapation. Lastly check Function -> Startup to make CrystalDiskInfo run on Windows logon (Fig. 3).

Fig 3. Menu