Monday, September 30, 2024

Your encrypted data is locked on this device

I got a new phone and when trying to use or create a passkey, I was presented with the error:

Your encrypted data is locked on this device

For security, you can no longer access your encrypted data on this device. Try again using a device you've recently used to sign in to your Google Account. 

Visit g.co/OnDeviceEncryption to learn more.

I still had my old phone and hadn't wiped it yet. Surprisingly, I was getting the same error on the old phone as well.

The Device Encryption page linked in the error message is very generic and completely unhelpful. 

I tried a lot of things, clearing cache etc, the usual troubleshooting. In the end, what made it start working was to log into my google profile in Chrome on a computer and run the safety check (the thing that searches all your saved passwords for possible problems.)

After running that check on my computer, passkeys magically started working on my phone...

Sunday, December 19, 2021

QEMU/KVM/virt-manager guest can't access network in bridged mode with iptables

I could not access the network in a guest VM using bridged networking. To fix I had to set the following in iptables:

# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
# ip6tables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT

Sound stops working in Linux

If your sound stops working in linux, you may see errors about being unable to connect to ALSA, or mplayer might say "Audio device got stuck!". If you don't want to reboot, killing pulseaudio will usually do the trick:

$ pulseaudio -k

Sunday, April 11, 2021

View all packages installed from overlay in Gentoo Linux

To easily view which packages were installed from which overlay, using app-portage/eix:

eix --installed-in-overlay <optional overlay name>

If you do not specify an overlay name, it will show all packages from all overlays.

Thursday, October 8, 2020

SQL Server Management Studio (SSMS) 18.x won't save server passwords

Starting around SSMS 18.x, Microsoft changed the way credentials were stored. This caused any saved passwords from previous versions to stop working in the server connection dialog popup.

To fix this, just delete the servers from the drop-down list. Alternatively, exit SSMS, clear out the saved servers in C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\18.x\UserSettings.xml and then restart.

If you use registered servers, the saved passwords will still work and will automatically be saved into the popup. If not, you'll have to type them in again.

Friday, October 2, 2020

Monday, September 21, 2020

Copy & Paste does not work in Firefox on Google Docs

Firefox blocks certain clipboard events by default. This breaks some Google Docs functionality. To reenable it, go to about:config and set dom.event.clipboardevents.enabled to true

Please be aware that this is a global setting and allows all websites access to your clipboard, which is a potential privacy/security risk.

Prevent Gentoo Portage from unmerging kernel sources during a world upgrade

Portage typically unmerges all but the newest kernel sources, while I'd prefer to leave the sources to the running kernel and backup kernel installed. I don't reboot very often and I don't bother to build an updated kernel until I'm ready to reboot, just in case there are any issues. I also like to keep the sources to the previous kernel around just in case I need to revert.

A tip posted on the Gentoo user mailing list in 2009 by Mike Kazantzev shows how to accomplish this:

First, define a kernel set in /etc/portage/sets.conf:

[kernels]
class = portage.sets.dbapi.OwnerSet
world-candidate = False
files = /usr/src

Tthen add the @kernel set to your /var/lib/portage/world_sets file.

By doing this, you will need to manually unmerge the specific kernel source packages you want to remove, but none of them will ever be removed otherwise.

Determining the manufacturer and recording medium of a blank CD or DVD

Every recordable CD and DVD actually has a little bit of data on the blank disc. On CDs this is called the ATIP (Absolute Time in Pregroove) and contains things like the manufacturer, length, dye type, and rated speed. This information is used by the disc drive to choose the optimal burning strategy. 

Keep in mind this info can be faked (Hong Kong manufacturers putting fake TY01 codes on their discs was a thing when Taiyo Yuden discs were in high demand). And the dye type is not necessarily the actual dye type used, but the hint to the drive about which burning mode to use (I've read that azo discs are burned using the cyanine strategy).

To view the atip of a CD-R/CD-RW on Linux using the cdrecord package:

# cdrecord -atip

Recordable DVDs have a similar area called the Media Identification Code. To read this information on Linux using the dvd+rw-tools package:

# dvd+rw-mediainfo /dev/sr0

SQL: Get just the date part of a DATETIME on SQL Server 2005

In Microsoft SQL Server 2008+ there is a DATE type, and getting just the date portion of a DATETIME is as easy as a cast or convert to DATE. But, at my job, we're still using SQL Server 2005. What then?

A common technique is to cast to a float, which gives you a number where the part to the left of the decimal point is the date and the part to the right of the decimal point is the time. Wrap that in a FLOOR function to round down to the nearest whole number and you have effectively truncated the time portion. You can then cast that back to a DATETIME.

I have, however, read that doing it that way can be inefficient as it won't use DATETIME indexes. Another approach that it supposed to be more efficient is to use DATEADD and DATEDIFF like so:

1
SELECT DATEADD([dd], 0, DATEDIFF([dd], 0, GETDATE()));

Again, there is no reason to do that unless you are on a Microsoft SQL Server version prior to 2008.

Easily straighten a crooked scan or photo in GIMP

To easily straighten a crooked scan or photo in GIMP, don't bother with manual rotation and rulers. Just use the Measure tool (Shift-M) and draw a line along a straight edge or horizon line of your image. Then click the "straighten" button and it will rotate the image to match the line you just drew.