The article describes a project to create a hybrid barcode that combines a traditional 1D UPC barcode with a 2D QR code, allowing scanners to read the numeric code up close while QR readers can decode the full pattern from a distance.
Background
- The author Terence Eden is a UK-based technologist who often experiments with quirky digital/physical hybrid projects; this is a personal blog post, not a news article.
- UPC (Universal Product Code) is the traditional linear (1D) barcode of vertical black bars found on retail products since the 1970s. QR codes are two-dimensional (2D) square matrix codes that store much more data and are scanned by smartphone cameras.
- Retailers are gradually shifting from UPC barcodes (scanned by laser) to QR codes (scanned by cameras) because QR codes can hold URLs, product details, and expiry dates — but many legacy point-of-sale systems still rely on UPC.
- The author's experiment: design a single image that works as a QR code when scanned normally, but as a UPC barcode when the camera is held very close (so the QR positioning squares fall outside the frame). This is a creative hack, not an existing standard — it explores backwards compatibility between old and new scanning technology.
A developer encountered a crash caused by a thread still executing code from a third-party DLL after the DLL had been unloaded. The issue arose because a callback or ongoing operation was not properly canceled before the DLL was freed. The post highlights the dangers of unloading DLLs while threads may still be running code from them.
Once a file is opened with FILE_FLAG_DELETE_ON_CLOSE, the deletion cannot be undone. However, an alternative approach can achieve a similar result without the irreversible flag.
The article describes a debugging scenario where a DLL that was not formally unloaded was nonetheless absent from memory, tracing the root cause to the interaction of two separate bugs in the system's code.
Raymond Chen investigates a mystery where a DLL disappeared from memory without being formally unloaded. The article begins a deep dive into how Windows manages module references, examining possible causes like explicit FreeLibrary calls, reference count issues, or unexpected thread detachments. This first installment sets the stage for diagnosing the missing DLL.
Windows 95 used a set of heuristics to determine whether a running program was a setup program. These heuristics included checking file attributes like the presence of a setup logo bitmap or specific version information.