USB Spec Meeting Anecdote: The Premium of Translucent Blue

2025-02-10
USB Spec Meeting Anecdote: The Premium of Translucent Blue

At a USB specification meeting, a company showcased their USB floppy drives, surprisingly offering separate versions for PCs and Macs. Committee members were puzzled, as the specification ensured the same drive worked on both systems. The representative explained that the drives were electronically identical; the only difference was the Mac version came in translucent blue plastic and cost more. This reflected the then-popular translucent plastic trend of iMacs and highlighted how some manufacturers leveraged design differences for price premiums.

Read more
Hardware floppy drive

Missile Software's 'Null Garbage Collector': Memory Leaks? Not a Problem!

2025-02-07
Missile Software's 'Null Garbage Collector': Memory Leaks?  Not a Problem!

A developer recounts a clever application of a 'null garbage collector' in missile software. Because of the limited flight time and ample hardware memory, memory leaks in the program weren't a concern. Engineers calculated the potential memory leakage during flight and added double that amount of memory to ensure the program wouldn't crash before mission completion. This approach cleverly leveraged the program's runtime constraints, effectively solving the memory leak issue—a kind of 'ultimate garbage collection'.

Read more

Go 1.24 Cryptography Overhaul: Achieving FIPS 140-3 Compliance

2025-02-06

Go 1.24 significantly refactored its cryptography packages to achieve FIPS 140-3 compliance. This is a major step forward, featuring a pure Go (and Go assembly) implementation of a FIPS 140-3 validated cryptographic module, eliminating reliance on cgo or syscalls. Microsoft Go 1.24 also updated, adding macOS preview support and enhanced Azure Linux support, but maintains its use of system libraries for cryptography, diverging from the official Go approach. New environment variables like GODEBUG=fips140=on and GOFIPS140=latest control FIPS mode; the runtime automatically enables it on FIPS-compliant systems (Azure Linux, Windows).

Read more
Development

A Hidden Teapot and Design Flaw in Windows' 3D Pipes Screensaver

2024-12-28
A Hidden Teapot and Design Flaw in Windows' 3D Pipes Screensaver

The beloved Windows 3D Pipes screensaver, known for its mesmerizing pipe animations, hides a little-known secret: a rarely appearing teapot. This teapot is a tribute to the Utah teapot, a standard reference object in computer graphics, but its incredibly low appearance rate led to user complaints about low productivity. The article also reveals that in older Windows versions, the screensaver caused high CPU usage on servers due to software rendering, recommending a black screen saver for servers instead.

Read more

C++ Compiler Errors: Nonsensical Errors from a Function Declaration

2024-12-12
C++ Compiler Errors: Nonsensical Errors from a Function Declaration

A developer adding XAML support to a C++ application encountered a series of compiler errors simply by including the winrt/Windows.UI.Xaml.h header file. The errors stemmed from what appeared to be a normal function declaration: `template struct consume_Windows_UI_Xaml_IExceptionRoutedEventArgs { [[nodiscard]] auto ErrorMessage() const; };` The root cause was a pre-existing macro named ErrorMessage in the developer's project, conflicting with the function name. This macro created an ErrorMessageString object and returned a pointer to an error message string. The macro's lack of boundaries caused the compiler to misinterpret the function declaration as a macro invocation, resulting in errors like "not enough arguments." The solution involved disabling the macro using #pragma undef before including the header or removing the macro entirely and replacing it with an inline function.

Read more