I think it’s useful to coin pithy terms for phenomena that all software engineers experience but don’t have a name to put to. Our term of the day is “finger trap”.
A few minutes ago I received a request by email from a conference organizer who wants me to speak at an event in a foreign country. Unfortunately, the particular country has become a place I won’t go.
Having decided that I want my policy and my reasoning to be publicly known, I reproduce here the request and my reply. I withhold the requester’s name for his protection.
Michael Bloomberg, the former Mayor of New York perhaps best known for taking fizzy drinks, and now a Democratic presidential aspirant, has just caused a bit of a kerfuffle by suggesting that minorities be disarmed to keep them alive.
I think the real problem with Bloomberg’s remark is not that it reads as shockingly racist, it’s that reading it that way leaves us unable to deal with the truth he is telling. Because he’s right; close to 95% of all gun murders are committed by minority males between 15 and 25, and most of the victims are minorities themselves. That is a fact. What should we do with it?
Elon Musk’s new Starship is not the tall skinny pressurized-aluminum cylinder we’re used to thinking of a real rocket, but a fat cigar-shaped thing made of stainless steel, with tail fins.
I just listened to an elaborate economic and engineering rationale for this. And I don’t believe a word of it.
It had to be that way because Elon Musk grew up on the same Golden Age science fiction magazine cover illustrations I did, and it looks exactly like those.
Has tailfins. Freaking tailfins. And lands on a pillar of fire just like God and Robert Heinlein (PBUH) intended.
The dream is real.
Beto O’Rourke is a pretty risible character even among the clown show that is the 2020 cycle’s Democratic candidate-aspirants. A faux-populist with a history of burglary and DUI, he married the heiress of a billionaire and money-bombed his way to a seat in the House of Representatives, only to fail when he ran for the Senate six years later because Texas had had enough of his bullshit. Beneath the boyish good looks on which he trades so heavily, his track record reveals him to be a rather dimwitted and ineffectual manchild with a severe case of Dunning-Kruger effect.
Beto’s Presidential aspirations are doomed, though he and the uncontacted aborigines of the Andaman Islands are possibly the only inhabitants of planet Earth who do not yet grasp this. Before flaming out of the 2020 race to a life of well-deserved obscurity, however, Beto has done the American polity one great service for which I must express my most sincere and enduring gratitude.
I think this is my favorite Internet meme ever.
Yeah, Hong Kong, we actually have a problem with Communist oppression here, too. Notably in our universities, but metastasizing through pop culture and social media censorship too. They haven’t totally captured the machinery of state yet, but they’re working on that Long March all too effectively.
And you are absolutely right when you say you need a Second-Amendment-equivalent civil rights guarantee. Our Communists hate that liberty as much as yours do – actually, noticing who is gung-ho for gun confiscation is one of the more reliable ways to unmask Communist tools.
We need to be the America you think we are, too. Some of us are still trying.
Officiant: “One comes before us today who wishes to become a Sworn Brother. Let him approach.”
Officiant: “Are there two Brothers present who will affirm that the candidate is of sound mind and good character, being aware that the penalty for error in this judgment is expulsion and disgrace?”
Upon hearing affirmations, the officiant continues:
“Very well. Aspirant. Take your firearm in your dominant hand. Raise it in the posture I now demonstrate, and repeat after me. After each line, the assembled Brothers will affirm with one voice.”
My gun protects the weak.
SO MOTE IT BE!
My gun speaks for liberty.
SO MOTE IT BE!
My gun defends myself, my neighbors and my nation.
SO MOTE IT BE!
My gun guards civilization.
SO MOTE IT BE!
With this oath I become a Sworn Brother of the Order of Defenders.
SO MOTE IT BE!
I will defend, and teach others to defend themselves.
SO MOTE IT BE!
I will shoot neither in anger nor haste nor from any sort of intoxication, but in grave knowledge of the consequences.
SO MOTE IT BE!
When a Sworn Brother calls for aid in defending, I will answer.
SO MOTE IT BE!
These things I swear by all I hold sacred.
SO MOTE IT BE!
Following the initiation, all repair to a shooting range for convivial practice.
I wrote the above after thinking about Rudyard Kipling’s Ritual of the Iron Ring for newly-graduated engineers.
Rituals like this exist to express and formalize what is best in us.
The Order of Defenders does not exist. Perhaps it should.
Hi, I’m Joe Biden. I’m the perfect apparatchik – no principles, no convictions, and no plan. I’m senile, and I have a problem with groping children. But vote for me anyway because orange man bad.
Hi, I’m Kamala Harris. My white ancestors owned slaves, but I use the melanin I got from my Indian ancestors to pretend to be black. My own father has publicly rebuked me for the pandering lies I tell. I fellated my way into politics; put me into the White house so I can suck even more!
Hi, I’m Elizabeth Warren. Even though I’m as white as library paste, I pretended to be an American Indian to get preferment. My research on medical bankruptcies was as fraudulent as the way I gamed the racial spoils system. So you should totally trust me when I say I’m “capitalist to my bones”!
Hi, I’m Bernie Sanders. I honeymooned in the Soviet Union. I’m an unreconstructed, hammer-and-sickle-worshiping Communist.
Hi, I’m Kirsten Gillibrand. I used to be what passes for a moderate among Democrats – I even supported gun rights. Now I’ve swung hard left, and will let you just guess whether I ever had any issue convictions or it was just pandering all the way down. Tee-hee!
Hi, I’m Amy Klobuchar, and I’ve demonstrated my grasp on the leadership skills necessarily for the leader of the Free World by being notoriously abusive towards my staff.
Hi, I’m Robert Francis O’Rourke. I’m occupying the “imitate the Kennedy” lane in this race, and my credentials for it include DUI and fleeing an accident scene. The rumors that I’m a furry are false; the rumors that I’m a dimwitted child of privilege are true. But vote for me anyway, crucial white-suburban-female demographic, because I have such a winning smile!
Hi, I’m Pete Buttigieg. I was such a failure as the mayor of South Bend that my own constituents criticize me for having entered this race, but the Acela Corridor press loves me because I’m fashionably gay. And how right they are; any candidate you choose is going to bugger you up the ass eventually, but I’ll do it like an expert!
Hi, I’m Bill de Blasio. I’m as Communist as Bernie, but I hide it better. And if Pete thinks his constituents don’t want him in this race? Hold…my…beer!
Hi, I’m Cory Booker, and I’m totally not gay. OK, maybe I’m just a little gay. My city was a shithole when I was elected and I’ve done nothing to change that; I’m really just an empty suit with a plausible line of patter, especially the “I am Spartacus” part. But you should totally vote for me because I’m…what was the phrase? Oh, yeah. “Clean and articulate.”
Hi, I’m Marianne Williamson. If elected, I will redecorate the White House so it has proper feng shui. I am the sanest and least pretentious person on this stage.
David Gelernter recently wrote an essay on Giving Up Darwin that is not obviously stupid. Dr. Gelernter, in many ways an astute thinker, does not commit obvious stupidities – but I have had to call him out before for allowing himself to be blinded by a hunger for epistemic gaps that fit the shape of religion. Apparently it is, alas, time to do that again.
The sage Confucius was once asked what he would do if he was a governor. He said he would “rectify the names” to make words correspond to reality. He understood what General Semantics teaches; if your linguistic map is sufficiently confused, you will misunderstand the territory. And be readily outmaneuvered by those who are less confused.
And that brings us to the Jeffrey Epstein scandal. In particular, the widespread tagging of Epstein as a pedophile.
No, Jeffrey Epstein is not a pedophile. This is important. If conservatives keep misidentifying him as one, I fear some unfortunate consequences.
Pedophiles desire pre-pubertal children. This is not Epstein’s kink; he quite obviously likes his girls to be as young as possible but fully nubile. The correct term for this is “ephebophile”, and being clear about the distinction matters. I’ll explain why.
Nobody stepped up to design a Loadsharers logo, so I did it myself. Here it is:
Yeah, I’m not much of a graphic artist, but I can do a semi-competent job of whacking together a simple logo when I need to. If you’re an actual pro and think you can fix this or do better, have at it. The
XCF SVG I made this from is in the Loadsharers repository at https://gitlab.com/esr/loadsharers
Instapundit recently linked to an article at the libertarian Reason magazine with a premise I found – considering the authors and the magazine – surprisingly dimwitted. No, a border wall is not necessarily morally equivalent to the Berlin Wall, or anywhere near it. Consider Hadrian’s Wall, or the Great Wall of China. Sometimes there are actual barbarians on the other side of it.
But this does motivate me to try to clarify my own thoughts about libertarianism and immigration. Is there, in fact, any libertarian defense of border and immigration controls?
For a few years in the 1990s, when PNG was just getting established as a Web image format, I was a developer on the libpng team.
One reason I got involved is that the compression patent on GIFs was a big deal at the time. I had been the maintainer of GIFLIB since 1989; it was on my watch that Marc Andreesen chose that code for use in the first graphics-capable browser in ’94. But I handed that library off to a hacker in Japan who I thought would be less exposed to the vagaries of U.S. IP law. (Years later, after the century had turned and the LZW patents expired, it came back to me.)
Then, sometime within a few years of 1996, I happened to read the PNG standard, and thought the design of the format was very elegant. So I started submitting patches to libpng and ended up writing the support for six of the minor chunk types, as well as implementing the high-level interface to the library that’s now in general use.
As part of my work on PNG, I volunteered to clean up some code that Greg Roelofs had been maintaining and package it for release. This was “gif2png” and it was more or less the project’s official GIF converter.
(Not to be confused, though, with the GIFLIB tools that convert to and from various other graphics formats, which I also maintain. Those had a different origin, and were like libgif itself rather better code.)
I can walk again.
Wearing a joint-immobilizing boot brace, so I lurch around with a gait even more graceless than my usual palsied semi-stumble, but I can walk. And shower. And make my own breakfast. Hallelujah!
Better news: my prognosis is good. The joint had osteoarthritic damage that may be trouble down the road, but I’ve been osteoathritic in both feet for years now without symptoms. The big good news is that the joint cartilage wasn’t damaged, so I should get full use of the ankle back.
Boot brace for three weeks, physical therapy to strengthen the ankle after that. I won’t be back in kung-fu class for a while. Still, the medical level of this saga is going as well as could be expected.
The financial level, not so much, We got socked with a surgery bill of $2,238 today. Followup and PT…I don’t know what that will cost,but it won’t be cheap.
What’s worse, healthcare.gov chose this perfect time to yank our ACA subsidy because we can’t document the regular income streams. Of course we can’t document them because we don’t have them. Which means we have to pay another $2000 to keep our existing coverage for just the next month, and the bureaucrats have told us to apply for Medicaid. Which we may not be able to get before open enrollment in January.
This means the amount of money I need to pull in without burning savings just went up by $2000 a month. Which is doing a good job of keeping me focused on getting Loadsharers off the ground. If it does well, I’ll do well, and have successfully attacked the larger problem of LBIP funding.
There’s going to be a Linux Journal article, and at least one technology-press interview. I’ve even (gasp!) tweeted about this, something that happens approximately once every other blue moon.
I have a list of 11 people who have taken the pledge. I think we need around 11,000 (mostly supporting LBIPs other than me) to make a real dent in the problem. So please, go out and prosyletize to your tech-industry friends, and ask them to spread the word. We need this to go viral.
At the end of my last post I said I was wandering off to think about scalable, low-overhead recommendation systems.
It’s funny how preconceptions work. I know, I think better than most people, how often decentralizing systems to avoid single points of failure is good engineering. Yet I had to really struggle with myself to jettison the habits of thought that said “If you want to use money to help people, you’re going to have to build a centralized, heavyweight structure around the management of that task.”
But struggle I did. Because I’d already tried that, and failed.
I also had to get past the idea that identifying good funding targets can be crowdsourced. Nope. Identifying candidates and digging up information on them can be, but actually evaluating merit and centrality will take knowledge most contributors not only lack but have no strong reason to try to acquire.
Once I got my head clear, this is what came out:
The basic trick here is piggybacking not just on the payment transfer capacity of remittance systems but on their patron/client communications channels as well. That way Loadsharers doesn’t need to manage anything itself other a handful of adviser web pages and a bunch of trust relationships.
Also notice the implications of how I designed the Adviser role. By the time we have a half-dozen or so advisers I won’t be key man anymore. That’s intentional.
I also like the fact that there will, in effect, be a (mildly) competitive market in adviser skill, with loadsharer contributors tending to gravitate to advisers who exhibit activity and diligence. That’s intentional too.
I just finished giving a talk – by remote video – at South East Linux Fest, about the Load-Bearing Internet Person problem.
An LBIP is a person who maintains the software for a critical Internet service or library, and has to do it without organizational support or a budget backing him up.
That second part is key. Some maintainers for critical software operate from a niche at a university or a government agency that supports their effort. There might be a few who are independently wealthy. Those people aren’t LBIPs, because the kind of load I’m talking about isn’t technical challenge. It’s the stress of knowing that you are it and you are alone, the world out there has no idea what a crapstorm it would be if you failed at your self-imposed duty, and goddammit why doesn’t anybody care?
LBIPs happen because some of the most critical services can’t be monetized. How do you put a meter on DNS? Or time synchronization? Or having a set of ubiquitous and reliable crypto libraries? Where there’s no profit stream, markets are not going to directly solve this problem.
I know at least two LBIPs whose health has broken under that strain – Dave Taht and Harlan Stenn. Me, I’m still generally healthy, but my recent medical issues have re-focused my mind on the LBIP problem.
I spent seven years trying to solve this problem by founding an organization to collect funds from sponsors and distribute them to LBIPs. That was the Internet Civil Engineering Institute. It shut down late last month because, as it turns out, recruiting people who are both willing and entirely competent to run an organization like that is really difficult. I failed at it.
(I’ve designed and founded two nonprofits that survived my departure and are still on mission, one 17 years on and the other 26 years on. I’m actually good at that game, but ICEI failed anyway. Possibly someone smarter or more streetwise than me could have made ICEI work, but given my previous track record of success I don’t think that would be a smart bet.)
What I said at SELF was this: centralized attacks on the LBIP problem have failed, so we need a decentralized, distributed one. Services like Patreon, recurring PayPal remittences, and SubscribeStar give us the technology to do that. What we need to add is consciousness about the problem and some social engineering.
Here’s the challenge I put to the audience there: If you have a good paying job, earmark $30 a month – the equivalent of a moderately-priced restaurant meal. Identify three LBIPs. Remit them $10 a month.
Then go to every gainfully employed programmer you know and explain to them why they should do the same thing, and also further spread the word.
The fanout is important. One of the failure modes we want to avoid is for all that support to go to a handful of highly visible hackers like, er, me. There are lots of LBIPs working in obscurity; we need to solve this problem at scale, not just for a few prominent figures.
The SELF audience liked this idea – and then somebody raised the question I should have expected: “How can we know who to fund?”
Sorely tempted as I was to say “There’s always me…”, I didn’t. That would have been a humorous answer of the funny-because-it’s-true kind, but the discovery problem is a serious one. Several other questioners chewed on various possibilities. I ended up saying I would try to jump-start a discovery process on my blog by collecting a list of LBIPs.
That’s not going to be a solution that scales well, though. We’ll have to feel our way to a better one; I have some ideas which I’ll develop in future posts.
I do have a name for the effort – thought it up a few minutes ago. Loadsharers. We need to work out how to be effective loadsharers.
For now, my comments are open. Please check in if you (a) want to take the loadsharer pledge – $30 in 2019 dollars to one, two, or three LBIPs every month (ideally three), or (b) have an LBIP to recommend.
I will curate a list of LBIPs I think are worthy. I should not be the only person doing this. Eventually we’ll set up a recommender system and a way for LBIPs to declare funding goals. Mumble web of trust? Something like that should be doable.
Please do not wander off into trying to design a better mediation/discovery system in this comment thread (yeah, I know my audience). Save that for my post on that topic, coming soon.
As final and obvious point: yes, I think I’m a worthy LBIP, go ahead and do that $10 thing at me, initially. (Note to self: create a “Loadsharers” tier.) But I have a relatively low monthly figure that I consider “enough”; above that, I’d really rather the money went to other people.
So don’t be surprised if, a few weeks down the road, you get a patron notice from me saying “Enough! Roll a D6 and if it comes up 5 or 6, drop me and go fund someone else.”
/me wanders off to think about scalable, low-overhead recommendation systems…
Anybody who has visited my Patreon page should know that I have two special support tiers.
At Bronze ($20 per month) level, you get included in the credits of the project pages for all my solo stuff. Here’s a recent example.
Today I’m announcing two new perks for Institutional ($100 permonth) supporters. This tier is intended for people with corporate budgets behind them.
When you sign up, you get to chose a name (possibly your corporation’s) and at your option a URL to back the name; this will be included in the credits pages. You will also get an individual shout-out in the “Acknowledgements” section of my forthcoming book “The Programmer’s Way: A Guide to Right Mindset”
By joining my feed at Institutional level, your company can demonstrate good Internet citizenship through supporting the often thankless and obscure work needed to keep the infrastructure humming.
Thanks in advance for your support.
I shipped the first release of another retro-language revival today: COMIT. Dating from 1957 (coincidentally the year I was born) this was the first string-processing language, ancestral to SNOBOL and sed and ed and Unix shell. One of the notational conventions invented in COMIT, the use of $0, $1…etc. as substitution variables, survives in all these languages.
I actually wrote most of the interpreter three years ago, when a copy of the COMIT book fell into my hands (I think A&D regular Daniel Franke was responsible for that). It wasn’t difficult – 400-odd lines of Python, barely enough to make me break a sweat. That is, until I hit the parts when the book’s description of the language is vague and inadequate.
It was 1957 and nobody knew hardly anything about how to describe computer language systematically, so I can’t fault Dr. Victor Yngve too harshly. Where I came a particular cropper was trying to understand the intended relationship between indices into the workspace buffer and “right-half relative constituent numbers”. That defeated me, so I went off and did other things.
Over the last couple days, as part of my effort to promote my Patreon feed to a level where my medical expenses are less seriously threatening, I’ve been rebuilding all my project pages to include a Patreon button and an up-to-date list of Bronze and Institutional patrons. While doing this I tripped over the unshipped COMIT code and pondered what to do with it.
What I decided to do was ship it with an 0.1 version number as is. The alternative would have been to choose from several different possible interpretations of the language book and quite possibly get it wrong.
I think a good rule in this kind of situation is “First, do no harm”. I’d rather ship an incomplete implementation that can be verified by eyeball, and that’s what I’ve done – I was able to extract a pretty good set of regression tests for most of the features from the language book.
If someone else cares enough, some really obsessive forensics on the documentation and its code examples might yield enough certainty about the author’s intentions to support a full reconstruction. Alas, we can’t ask him for help, as he died in 2012.
A lot of the value in this revival is putting the language documentation and a code chrestomathy in a form that’s easy to find and read, anyway. Artifacts like COMIT are interesting to study, but actually using it for anything would be perverse.
A day or so after the not-so-thrilling last installment of my medical troubles (previous post), I get my hands on a knee scooter. Rented from a local pharmacy.
This is a big improvement over the wheelchair. I’m more mobile on it, and can pee standing up. If you think that last bit doesn’t matter, pray you never find out what an epic getting on and off a toilet seat is when you don’t have the use of your dominant leg.
Unfortunately, life is tradeoffs. You can fall off a knee scooter; I have, twice. No serious harm done, but that kind of thing is another increment of pain and exhaustion in a process with quite a sufficiency of those, thank you.
The ankle started hurting yesterday, seriously enough that I briefly considered actually taking a Percocet, but only when it was horizontal in bed. I think my sensory feed from that extremity must still be a bit disturbed by the aftermath of the nerve block, because it took me almost a day to figure out that the pain was due to external pressure from some of the support scaffolding in the ankle dressing.
I think those rigid parts have shifted around in an unhelpful way due to my crawling around and/or mounting the knee scooter. We’re going to try to get an appointment at the orthopedist’s office today to have someone there inspect and rewrap the thing.
Which means I’m going to have to deal with getting down (and later up) the steps in front of my house. Yeek! Neither scooter nor wheelchair is well adapted to this; I’ll probably have to bust out the kneepads and crawl again.
It hasn’t been all bad. Saturday a couple of my friends from our Friday night game group came over to boardgame with me; Xia: Legends of a Drift System. A good time was had by all.
My far friends on the net have come through as well. My Patreon feed is $356 per month thicker than it was a week ago. And there have been a bunch of one-off donations. John Carmack (yes, the John Carmack) sent $1000, for which I am humbly grateful.
SELF is definitely a scrub, but we’re making plans for me to video in my keynote. Topic change: I’m going to talk about infrastructure sustainability considered as a problem of load-bearing people, and the fact that the hacker culture doesn’t have any customs about how to support our old maintainer/warhorses or arrange an orderly succession when they die in harness.
I’ve actually been worrying about this problem for years, but mostly because of load-bearing people near me who weren’t me. Now my attention is seriously focused. :-)
I am able to work, and a good thing too or I’d be going bonkers. NTPsec is in a bit of a quiet period right now; we’ve delivered NTS, and the next big push I have in mind will have to wait until Go has a TLS 3.0 binding. So I’ve been making progress on the Go port of reposurgeon.
The Patreon is up to $1709 now. At $2000 it would cover monthly mortgage and bills; that’s starting to look attainable, which is a damn good thing given that I still have no clearer idea what the medical stuff will end up costing than “a lot”.
I increasingly think that software users and engineers who care about the infrastructure commons they rely on not collapsing out from under them are going to have to adopt something like the old custom of tithing, in self-defense.
In simpler times, before state-welfare schemes or insurance companies, community citizens in good standing were often religiously required or strongly encouraged to “tithe” – give a small fraction of their income to a church expressly for relief of the poor.
Nowadays we can cut out the middlemen and attendant risk of corruption. We have Patreon and SubscribeStar. Can we grow a social norm that hackers with regular jobs in the profit-making sector should use services like these to split (say) $30 a month among three infrastructure developers of their choice?
Yes, I am asking this for me, now. But I noticed the problem before it was personal. The problem is bigger than me, and the solution should be too.
The point of suggesting a fan-out of three is to avoid a situation where all that goodwill gets captured by a handful of hackers with high visibility (like, er, myself), and people who want to help have a reason to seek out developers who are doing important work in more obscurity.
UPDATE: A few hours after I initially posted this, I went in in to have my dressing remade – something had gone awry inside it and was griping my foot. A mere resident was enough for that, but since I was there anyway Dr. Miller quite properly came for a look-in.
It was pretty amusing to see the “WTF?” expression on his face when he got a look at the week-old incision site on my foot. Completely healed over, no drainage, the only way to tell there’d been an 5-inch-long entry wound was by the purple stitches. As a friend of mine who’s a GP put it on Saturday, contemplating the place on my scalp where I’d gotten a laceration from that fall two weeks before that required three surgical staples, “Who are you? Wolverine?”
Good genes. Goes with the factory-installed brawler package. Makes me guardedly optimistic about the cartilage in the joint repairing itself. Dr. Miller hadn’t been planning to even see me until the 25th, but now he wants the stitches out a week ahead of the original schedule.
And still later in the day J. Storrs Hall (yeah, the nanotech pioneer guy) showed up on my doorstep with a knee scooter his wife had had to use for a while after knee surgery. Means we can stop renting one.
Thanks to everyone who joined my Patreon feed or upped their contributions. I’m still worried, but a little less so now.
Some good news. The post-op pain has stabilized at a level where the occasional Tylenol will handle it nicely. If Dr. Wilson the anesthesiologist is listening, damn! You are good at your job. The timing of the fadeout on the nerve block spared me agony without overdoing intrusive chemicals. This means I will not have to touch the opiates, an outcome for which I am deeply thankful.
The kneepads I ordered yesterday arrived this morning. Big win – crawling doesn’t hurt now, which improves my options. Also helps with dismounting to the floor off a toilet, which is one of those things you will never realize is a big deal until you have to do it.
But the biggest win is the real wheelchair. My mother is connected to a neighborhood non-profit in West Chester that loans out this kind of equipment. When she first went there the only visible option was a service chair, a wheeled chair designed to be moved by a nurse or assistant rather than to enable the user to self-propel, so that’s what she brought back.
It was awful. A service chair doesn’t cope well with rugs or doorsills. The caster-like wheels on the front are perverse; any kind of turning or backing motion inevitably leaves them in a twisted state that make maneuvering nigh-impossible unless the person moving the chair can brute-muscle it around, which Cathy can’t do.
Mom went back and found out about the basement where they keep the good stuff, and now I have a real wheelchair – that is, the kind designed to be driven by the user’s arms. Massive improvement! The lesser part of it is that the big wheels cope better with sills and rugs; the much greater part is that I can move myself around. Having some autonomy back is, for someone with a psychology like mine, as precious as jewels.
Reduces the burden on Cathy, too. Hoicking my 245lbs around in that service chair was barely within the limits of her strength, hard work. I feel better because I can take that load off her now.
Excuse me while I wheel myself out to the kitchen for a ribeye steak from the Outback. And if, dear reader, you fail to comprehend that this, too, is therapy, you are certainly not qualified to take care of the likes o’ me.
Still trying to get my hands on a knee scooter.
EDIT: Tale continued in next post…