I’m using Ansible to manage a small fleet of Raspberry Pis. I’d been using the copy
module to set a value in /sys
:
- name: Enable compressed swap now (with zsmalloc)
become: true
ansible.builtin.copy:
content: zsmalloc
dest: /sys/module/zswap/parameters/zpool
unsafe_writes: true
But that always reports that the file changed, even if it already had that value. Today I got the lineinfile
module to update the value. This only says the value changed when it actually did:
- name: Enable compressed swap now (with zsmalloc)
become: true
ansible.builtin.lineinfile:
path: /sys/module/zswap/parameters/zpool
regexp: "^(?!zsmalloc).*$"
line: zsmalloc
unsafe_writes: true
Since these “files” only have one line, this uses regexp
to see if that line already matches the expected value. If so, it moves on. If not, it writes the new value.
Note: unsafe_writes: true
is there because you can’t write arbitrary filenames into /sys
and then mv
them into place. You have to write directly to the target “file”.
The little desk thermometer my mom’s sales rep gave her way back when.

Smile!

I’m looking at the old, unused clothesline and remembering hanging up clothes to dry when I was younger. That made me think of when my dad taught me how to make a springed, wooden clothespin into a little gun that could shoot self-striking matches across the room.
And then it occurred to me that people might get mad at you for teaching a young kid how to make burning match guns.
Dad was always great about sharing dangerous knowledge.
This is a “breakfast fatty”. It’s basket woven bacon, layered with sausage, then eggs and cheese, and rolled up, basted with maple syrup, and smoked for 2 hours.
The Midwest is not known for its healthy food, but wow, does it ever taste good.
I could either fly out at 5AM with a 1 hour layover, or 7AM with a 6 hour. And that’s why I’m sipping coffee at 0230.
Let’s go Ballers! 👏🏻,👏🏻,👏🏻-👏🏻-👏🏻
These games feel like small town events in ways people in neither place would believe. Everyone’s having fun and happy to be there, more than at big, super corporate happenings. Local companies dominate the ads. Downtime entertainment has footraces for kids and grownups competing to make funny voices. There are taco trucks.
And I can’t get enough of it.
I am sorry, little spider buddy, but you have broken the covenant. I know you do an important job of keeping pests out of our house, but the pact is clear: we avoid each other at all times, upon pain of exile. And so your removal was swift, unyielding, and punctuated with no small amount of shouting.
To those following in your many footsteps, I warn you to respect the covenant.
China Is About to Show Off Its New High-Tech Weapons to the World
On September 3, China will hold a “Victory Day” military parade in Tiananmen Square to celebrate the 80th anniversary of its victory over Japan—and to send the West a message.
Somewhere, a Chinese PR team prays that this will become the first Google result for “tiananmen square tanks”.
If you ever feel like your career’s been all over the place, remember that the same guy wrote “Fury Road” and “Babe”.
Being on a customer call at 7AM should come with hazard pay.
That feeling when you feel absolutely crummy, then you remember other people have it worse, so then you feel guilty about comparing your problems to theirs, but then remember that it’s not a contest and it’s OK to feel any way at any time, no matter how your circumstances compare to another’s.
I see too many people wearing heavy backpacks with the straps loose so that they’re hanging low on their backs.
Don’t do this. This is how you mess up your back.
You want to carry weight high up on your back. It puts much less strain on all of you. Tighten the straps as much as possible so that the bulk of the weight is under your shoulder blades. You’ll be amazed how much easier it is to carry the same weight.
We’re fostering kittens again. This pair is only a week old and we have to bottle feed them. Their eyes are still closed. One of them snuggled against my hand after its dinner.

Today I learned that our $6000-per-month UnitedHealthcare “platinum” insurance doesn’t fully cover generic thyroid medication, so our monthly cost for them rose from $1 per month under Aetna to $59 per month under UHC.
This is what the Republicans’ “death panels” look like.
In honor of its new financial arrangement with Donald Trump, Intel announced its new flagship CPU: the Inanium.
Mirrorshades: The Cyberpunk Anthology
By hiding the eyes, mirrorshades prevent the forces of normalcy from realizing that one is crazed and possibly dangerous. They are the symbol of the sunstaring visionary, the biker, the rocker, the policeman, and similar outlaws.
This is now online for free reading. It’s a must for young cyberpunks who want to understand their history.
UnitedHealthcare sued by shareholders over reaction to CEO’s killing
The group, which seeks unspecified damages, argues that the public backlash prevented the company from pursuing “the aggressive, anti-consumer tactics that it would need to achieve” its earnings goals.
The investors actually said that. They demand UHC be more “aggressive, anti-consumer” to make more money for them, presumably by killing more Americans.
It’s time to start building the guillotines.
I’ve spent too much of this weekend writing Ansible to make all my Raspberry Pis similar.
This might say more than I’d wish about my nerd level, and about how many tiny computers I have laying around.
Trucking companies sue California, seeking a release from Clean Truck Partnership
They include Daimler, which manufactures about 40% of U.S. trucks, and Volvo, which makes about 15%, along with Paccar and Traton.
Those are among the companies suing California for the right to damage our air and our breathing. They are also among the companies whose vehicles I will never, ever consider buying. They can go rot for all I care.