Un naufragio personal

Ángel Ortega

HP Invents Printer-As-A-Service

HP has reached a new level on motherfuckery:

HP has begun a new program called the "HP Instant Ink" plan. Under this plan, printers monitor how many pages are printed, and HP bills customers monthly. If a customer does not pay his bill, his Instant Ink cartridge stops working. [...] And, according to Paragraph 10a of HP's terms of service agreement, HP makes no guarantees that Instant Ink cartridges will arrive on time or that they will work. So, if the inkjets in a cartridge clog, HP is not responsible.

https://cheapskatesguide.org/articles/printer-as-a-service.html

It’s Time for Twitter to Die

Electronic Experimental Music with Debian

Minimum Profit text editor compiled statically

How to get root on Ubuntu 20.04 by pretending nobody’s /home

Escape from Microsoft Word

A lovely article that describes Microsoft Word in a unique, philosophical way, and explains why its Platonic ideas and concepts are so distant from what real writers do and think:

https://www.nybooks.com/daily/2014/10/21/escape-microsoft-word/

XFS 2468 Bug

Jonathan Corbet:

"[...] timestamps in this filesystem are now good through 2468. Developers now have clear warning of a problem coming in 448 years, but chances are they will procrastinate on addressing it for at least 440 of them."

https://lwn.net/Articles/834396/

How to Get Fired Using Switch Statements and Statement Expressions

An orchard of batshit insane things done using the switch C keyword. For example, co-routines:

#include <stdio.h>

#define coroutine_begin() static int state=0; switch(state) { case 0:
#define coroutine_return(x) { state=__LINE__; return x; case __LINE__:; }
#define coroutine_finish() }

int get_next(void) {
        static int i = 0;
        coroutine_begin();
        while (1){
                coroutine_return(++i);
                coroutine_return(100);
        }
        coroutine_finish();
}

int main(void){
        printf("i is %d\n", get_next()); /*  Prints 'i is 1' */
        printf("i is %d\n", get_next()); /*  Prints 'i is 100' */
        printf("i is %d\n", get_next()); /*  Prints 'i is 2' */
        printf("i is %d\n", get_next()); /*  Prints 'i is 100' */
        return 0;
}

https://blog.robertelder.org/switch-statements-statement-expressions/

LDM: My Favorite ARM Instruction

Color blindness

An interesting article by Rob Pike on moderate deuteranopia:

The most common variety of color blindness is called red-green color blindness, or deuteranopia, and it affects about 6% of human males.

https://commandcenter.blogspot.com/2020/09/color-blindness-is-inaccurate-term.html