Hide “AMD Software” entry in Windows 11 Context Menu (right-click menu)


I just bought a Lenovo 14p Gen 3 laptop with preinstalled Windows 11. Since it is an AMD-based laptop, it has an AMD configuration software installed, namely AMD Software: Adrenalin Edition. It provides several useful features for screen display. However, the annoying thing is that it adds an extra entry in Windows 11’s default Context Menu. Luckily, there is a way to block such entry without uninstalling the AMD software.

Desktop right click menu in default installation
Desktop right click menu, showing the annoying “AMD software: Adrenalin Edition” entry.

Steps to hide entry using Regedit

  1. Open regedit.exe and visit \HKEY_CLASSES_ROOT\PackagedCom\ClassIndex\. There should be several tens of entries (keys) under that, all named after {UUID}.
  2. Expand all entries you saw in Step 1 and look for the entry containing keyword AdvancedMicroDevicesInc (“AMD”). Once you find it, copy its corresponding UUID string. We will use it in the steps below.
    In this case, the UUID starting with 6767... is what we need.
  3. Open regedit.exe and visit \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\. There should be three keys under Shell Extensions: Approved, Blocked, and Cached. If there is no Blocked key on your system, manually create it by right-clicking Shell Extensions, and create a new key named Blocked.
  4. Enter Blocked key (which appears as a directory in regedit tool). Under directory Blocked, create a new String (aka type REG_SZ). Rename the String as {UUID}, in which UUID is the same UUID as we found in Step 2.
    Example of final result under Shell Extensions\Blocked key
  5. Go back to desktop and try with right click. If everything is done correctly, the AMD Software entry will immediately disappear in the right-click menu.
  6. If you want to revert our modification, simply delete the value we created in Step 4.


Quick guide: set up chroot environment and build Debian packages (sbuild version)

TL;DR: Pbuilder-related tools are ineffective and redundant. By installing sbuild and schroot, one can set up clean and reusable chroot environments quickly and use the sole sbuild command to build Debian source packages (using src tree or .dsc files).
Fade away please pbuilder/cowbuilder; long live sbuild!

Quick example

Install tools and preparation

sudo apt update;
sudo apt install sbuild schroot;
sudo mkdir -p /var/lib/sbuild/chroots; # the last component is made by us
sudo chown sbuild:sbuild /var/lib/sbuild/chroots;

Initialize a chroot environment using sbuild-createchroot

# Assume host machine is of x86_64 architecture, create an unstable chroot
sudo sbuild-createchroot unstable /var/lib/sbuild/chroots/unstable-amd64 \
  --alias=sid --alias=UNRELEASED http://deb.debian.org/debian;

Keep (s)chroot environment updated

sudo sbuild-update -ud unstable;

Build a Debian package using sbuild with previously created chroot environment

# If you want to drop superuser privilege, add yourself into sbuild group first.
# Other settings might be needed. See sbuild-adduser(1).
# #################################
# Option 1: have proper Debian source package
sbuild -A -v -d unstable /path/to/package.dsc
# Option 2: chdir into extracted source tree with .orig tarball in parent directory
sbuild -A -v -d unstable
# Option 3: integrate with git-buildpackage (gbp)
gbp buildpackage --git-builder=sbuild -A -v -d unstable
# Notes:
# 1. If you need source-only changes (https://wiki.debian.org/SourceOnlyUpload),
#    append "--source" to sbuild's invocation
# 2. If you want to sign your build, append "-kxxxxxxxx"
#    to your sbuild's invocation, where xxxxxxxx is you gpg keyid

How to destroy schroot environment properly

If you do not wish to use schroot and sbuild anymore, you may use the following tool to properly destroy the schroot environment:

# Destroy the chroot instance named "unstable"
sudo sbuild-destroychroot unstable
# This script actually does nothing other than providing instructions.
# You will need to follow the printed instruction and safely
# destroy the schroot instance by yourself.


To be continued…


  • July 19, 2020: Replace httpredir.debian.org with CDN-enabled deb.debian.org.
  • July 19, 2020: Add text related to sbuild-destroychroot.
  • July 22, 2020: Remove “sudo” from sbuild invocation. No privilege is needed in this case.




Fast preparation of a source-only upload for Debian

Let’s assume that you find the source code of a software for Debian with a debian/ directory included. How to prepare the .dsc package (Debian source package) used for upload quickly? I will show you here.

  1. Extract the software into a certain directory, let’s say foobar/.
  2. Repack original tarball and exclude debian/ dir using tar. Rename orig tarball as <PKGNAME>_<PKGVER>.orig.tar.{bz2,gz,lzma,xz}. Note that if your package is Debian native, you should skip this step.
  3. cd foobar/
  4. dpkg-source -b .
  5. (cd ..; debsign ./*.dsc -k<YOUR_GPG_KEY_FINGERPRINT>)
  6. dpkg-genchanges -S > ../<PKGNAME>_<PKGVER>.changes
  7. cd ..; debsign ./*.changes -k<YOUR_GPG_KEY_FINGERPRINT>

All done. You may now upload the source package with dput tool.

被雪藏的大号瑞士军刀:eric6 IDE



  • PyCharm,常见的选择,据说十分强大,然而它是JetBrains公司的产品(意味着你要结合Java使用),也存在商业版,有一种不爽的感觉。
  • Eclipse,没用过不做评价。但是还是Java
  • Python IDLE,这东西能用?

今天我要推荐的是一款不是那么出名的软件:eric6 IDE。


转载:SQLite 外键

SQLite外键(Foreign Key)支持


本篇文章转载自 ITeye:y150988451 的博文,著作权归原作者所有。

hosiet 转载并重新排版。再次转载请保留声明。


从 3.6.19 版开始,SQLite 支持外键约束。(Ubuntu 10.04 的 SQLite 版本是 3.6.22,Debian 6.0 的 SQLite 版本是 3.7.0,Ubuntu 15.04 的 SQLite 版本是,供参考)

外键用来强制约束两个表之间“存在”的关系。 继续阅读