Table of Contents

This list is inspired by the Immich team and will be updated over time. Items were accurate when written, but may become outdated.

Python Pre-allocated Integers

Source

The CPython interpreter pre-allocates integer objects in the range -5 to 256. This can result in surprising behavior when (mis)using the is operator:

1>>> a = 256
2>>> b = 256
3>>> a is b
4True
5
6>>> a = 257
7>>> b = 257
8>>> a is b
9False

Sun Grid Engine Qmon Missing Fonts (February 2019)

Source

Sometimes, out of the box, Sun Grid Engine’s Qmon utility is lacking some fonts to actually launch. Install them with:

1yum install xorg-x11-fonts-75dpi
2yum install xorg-x11-fonts-100dpi

Then, you need to configure Qmon to use these fixed fonts. Copy the config file into the user’s home directory:

1cp $SGE_ROOT/qmon/Qmon $HOME

Now, edit the file replacing these lines:

 1  _FontLists_.*.interface: \
 2  -adobe-helvetica-medium-r-*--14-*-*-*-p-*-*-*=R,\
 3  -adobe-helvetica-bold-r-*--14-*-*-*-p-*-*-*=B,\
 4  -adobe-helvetica-medium-r-*--20-*-*-*-p-*-*-*=BIG,\
 5  -adobe-helvetica-medium-r-*--12-*-*-*-p-*-*-*=SMALL,\
 6  -adobe-helvetica-medium-r-*--24-*-*-*-p-*-*-*=HUGE,\
 7  -adobe-courier-medium-r-*--14-*-*-*-m-*-*-*=LIST,\
 8  -adobe-courier-bold-r-*--14-*-*-*-m-*-*-*=LISTBOLD,\
 9  -adobe-courier-medium-r-*--12-*-*-*-m-*-*-*=LISTSMALL,\
10  -adobe-helvetica-medium-r-*--10-*-*-*-p-*-*-*=QUEUEICON
11
12  _FontLists_.*.dialog_font:  -adobe-courier-medium-r-*--14-*-*-*-m-*-*-*
13  _FontLists_.*.matrix_font:  -adobe-helvetica-medium-r-*--14-*-*-*-p-*-*-*
14  _FontLists_.*.browser_font: -adobe-courier-medium-r-*--12-*-*-*-m-*-*-*
15  _FontLists_.*.fixed_font:  -adobe-courier-medium-r-*--14-*-*-*-m-*-*-*

with

 1  _FontLists_.*.interface: \
 2  fixed=R,\
 3  fixed=B,\
 4  fixed=BIG,\
 5  fixed=SMALL,\
 6  fixed=HUGE,\
 7  fixed=LIST,\
 8  fixed=LISTBOLD,\
 9  fixed=LISTSMALL,\
10  fixed=QUEUEICON
11
12  _FontLists_.*.dialog_font:  fixed
13  _FontLists_.*.matrix_font:  fixed
14  _FontLists_.*.browser_font: fixed
15  _FontLists_.*.fixed_font:  fixed

Ephemeral Network Ports (2021)

Source

When connecting to a remote server, a dynamic port number may be used. This can make things challenging when your IT department wants to know what ports to open in the firewall. The range of port numbers potentially used will vary by operating system.

Command Professional Edition Missing DLL (Early 2022)

Source: Hours of my life wasted

Command Professional Edition is missing a DLL file in the installer that prevents the command line version from running. Downloading the missing DLL from NuGet and placing it in the correct directory will fix the issue.

Command Professional Edition Progress Bar (Early 2022)

Source: Even more hours of my life wasted

The command line version of Command Professional Edition will crash immediately if it is run in a context where there is no terminal width (for example, from a Python subprocess call). This is because it tries to draw a progress bar and wants to know terminal width to draw it. A terminal window must be spawned for every execution.

Authentik/Qt Port Number (March 2024)

Source

The Qt network library may include the port number in the hostname (for example, https://blog.nathanv.me:443). Authentik will treat this as a completely different host.

Hiding Tkinter Combobox Popdown (August 2025)

This is less “cursed knowledge” and more “horrible hack”, but to my knowledge there is no way to prevent a Tkinter combobox from showing it’s popdown widget when clicked. In the event you want to draw your own custom widget, you can immediately destroy the popdown widget after it is shown:

 1import tkinter as tk
 2from tkinter import ttk
 3
 4combobox = ttk.Combobox(root, values=["Option 1", "Option 2"])
 5
 6def on_click(event: tk.Event) -> None:
 7    popdown = combobox.tk.call("ttk::combobox::PopdownWindow", str(combobox))
 8    combobox.tk.call("destroy", f"{popdown}.f")
 9
10combobox.bind("<Button-1>", on_click)

Authentik Verified Email (November 2025)

Source

Authentik version 2025.10 now defaults email_verified to False for OIDC providers. Some applications require email_verified to be set to True to allow login. In particular, the Kubernetes API server is one of these applications. This means any upstream applications like Headlamp that use the Kubernetes API server will also stop working with little indication.

To fix this, in Authentik, go to Customization -> Property Mappings. Create a new “Scope Mapping”. Set the scope name to “email” and the Expression as:

1return {
2    "email": user.email,
3    "email_verified": True,
4}

In your OIDC providers, add the new scope to the provider scopes under “Advanced protocol settings”.

xlrd Error Codes (November 2025)

Source

With the xlrd Python library used to read old .xls files, cells that contain an error will silently return the internal error code rather than a string such as "#N/A", like openpyxl does.

This is a pretty major footgun if your code is expecting the cell to contain a number as an actual value versus an error code are indistinguishable.

A way to handle this is as follows:

 1from xrld.biffh import XL_CELL_ERROR, error_text_from_code
 2
 3...
 4
 5cell = sheet.cell(rowx=row, colx=col)
 6value = cell.value
 7
 8# check if the cell contains an error
 9if cell.ctype == XL_CELL_ERROR:
10  # if so, convert the error code into the equivalent error text
11  # https://github.com/python-excel/xlrd/blob/3a19d22014d7b3f3041b7188d21a653c18c709bf/xlrd/biffh.py#L90-L100
12  value = error_text_from_code[value]