Wednesday, 24 August, 2022 —
transplant
Back on Wednesday, July 27, 2022, I became a living donor kidney recipient. As I finish editing this, I am four weeks post-transplant. Transplant surgery was at Temple University Hospital in Philadelphia. I was hospitalized through Saturday afternoon, July 30th. We’ve been back home in Williams Township, PA, near Easton, PA after a couple of out-patient follow-up immunosuppression infusion sessions.
Since then, I’ve been getting follow-up care with the St. Luke’s Hospital system in the Lehigh Valley, as part of Temple and St. Luke’s transplant partnership. Today, I was back at Temple for the first time since August 3 for stent removal.
Everything has gone tremendously well, and I am extraordinarily lucky to be here. My surgical recovery is going well. I am completely off of pain meds and, after day three post-surgery, apart from the IV steroids delivered as part of four IV immunosuppression infusions, the only thing I had been taking periodically was Tylenol.
Because I had not talked about this other than occasionally and obliquely on Twitter, it’s likely this is surprising news. I’ll explain how I got here. Part II will describe the surgery and recovery separately.
My transplant was preemptive. I have a genetic condition called polycystic kidney disease where cysts grow on my two natal kidneys and reduce their function over time. After a surprise PKD diagnosis within my immediate family prompted me to discuss PKD with my primary care physician, he diagnosed me with Autosomal Dominant PKD. A combination of bloodwork and a kidney ultrasound,showing the presence of cysts, were the foundation for diagnosis.
The oddball thing about PKD is that it is a slow progressing disease. Unlike my understanding of folks with more general Chronic Kidney Disease, I’ve never consistently felt low energy or otherwise off. My appetite’s been good, I’ve been able to maintain a good exercise regimen. In general, apart from what my periodic labwork was informing my nephrologist, I wouldn’t know or have guessed my kidneys were slowly failing. I’ll speak more about the specifics of PKD separately.
A new primary care physician referred me to a nephrologist back in the 2017/2018 time frame, primarily because my lab values had progressed beyond where my physician felt he was comfortable treating me as a generalist. Nephrologists are specialists in kidney function, managing various forms of kidney disease. I met with my nephrologist every four to six months.
Eventually, in fall of 2019, my kidney function tested below 20 percent, the threshold for transplant listing evaluation. It’s also around that point that nephrologists will get more serious about contingencies and discussing dialysis. We were living in Raleigh, NC at the time, and my nephrologist referred me to UNC Hospital in Chapel Hill for transplant evaluation. I also completed dialysis orientation at a dialysis center, but did not get a surgical referral for a dialysis catheter.
Transplant evaluation at UNC took place over the course of a couple of intensive visits and some local to Raleigh with lots of imaging (x-rays, CT scans, MRI), and blood work. My results looked good and I was accepted for transplant listing around April of 2020. Around the same time, Robin and I had decided to move to Pennsylvania to be closer to her family. My PKD was as managed as it could be. I was also on an experimental medication, called Tolvaptan, or Jynarque, intended to slow the progression of PKD. Ultimately, my kidney function continued to decline and in late Fall 2020, my prescription insurance company informed me and the specialty pharmacy dispensing the medication to me that they would no longer pay for the drug on my behalf since I no longer met the experimental criteria for the medication.
After the move to Pennsylvania, my NC nephrologist referred me into Temple University Hospital’s transplant program. I also started seeing an Easton, PA-based nephrologist at St. Luke’s. Thankfully, a lot of the medical imaging from UNC was transferrable to Temple and I was actively listed with Temple in June 2021. Multiple listings are allowed, and if you change where you are primarily listed, you can shift your waiting time credit with United Network for Organ Sharing from one transplant center to another. We did that, and that essentially bought me 15 months of credited wait time.
The typical wait for a deceased donor kidney, which is the majority of US kidney transplants is between 3 to 5 years, depending on blood type and listing region. Some transplant candidates get transplants in far shorter amounts of time, but, those are rare circumstances. In my case, there wasn’t an immediate need for transplant since my nephrologist and I agreed that I didn’t need dialysis.
In Summer of 2021, my kidney values were getting to a point where it was time to get serious about soliciting for a living donor. Dialysis wasn’t imminent, but the possibility of needing it wasn’t remote, either. With Robin’s help, I drafted a note to ask family, then friends, if anyone would consider making a living donation when the time was right. But, in a shock, even before I could ask, a member of my family preemptively contacted me to let me know they were willing to be a living donor.
Fall 2021 through to February 2022 was time my family member spent getting screened according to Temple University Hospital’s Living Donor program, but remotely at a qualified hospital close to their city of residence in the Midwest. Thankfully, they qualified to donate and we were identified as a compatible match.
The next piece of the puzzle was determining when to transplant. My transplant nephrologist and I talked about when transplant would be appropriate. At the same time, my donor’s life circumstance were such that there were two optimal times of year for them to donate in consideration of family obligations and care assistance during surgery and recovery. Between the medical considerations and my donor’s circumstances, we determined that the end of July would be an optimal time for preemptive transplant. In March 2022, we formally scheduled surgery, and the process was essentially locked in. At work, I informed my boss and team in early April.
Everything got a lot more real, very quickly. Transplant evaluation and listing were concrete, certainly, but the prospect of major surgery still was very abstract to me. Now, it no longer was.
My acting transplant nurse coordinator at Temple answered tons of questions about the lead-in to surgery and what I could expect in terms of recovery after transplant. Over the course of time between April and early July, I met with my regular nephrologist, my transplant nephrologist, met with a new primary care physician, updated CT scans, echocardiograms, and had a ton of bloodwork done. In the support angles of things, I met with a social worker, transplant dietician, and we made plans with work and family for surgery, recovery, time off from work, making sure our pets were cared for while we were out-of-town, etc.
At work, from April when I informed my team to the Monday before surgery, I kept as much of my normal schedule as I could around sometimes last minute medical appointments. In terms of what I was working on, as my surgery date approached, it became focused on handing off in-flight projects to the rest of my team, and spending several training sessions talking through areas of responsibility I primarily handle on the team.
My donor flew into town July 19 and we drove down to Philadelphia for pre-surgery labwork, meeting with the lead surgeon, getting questions answered by the transplant team, and going through pre-admission testing. Pre-admission testing was satisfying the surgical staff with yet more bloodwork, and, if necessary, any additional testing they wanted to have on hand before surgery. In my case, it was one more EKG. A full morning into early afternoon shuttling around the hospital. Afterward, we drove down to the John Heinz National Wildlife Refugee, hiked a bit, then dropped my donor back off at the airport to return home.
In Part II, I talk about the day of surgery, my memory of going in and coming out of surgery, and landing in the surgical ICU. Part III, will cover my immediate post-surgery recovery. I’ll have other transplant related posts over the coming weeks and months, too. This is nearly 1,500 words! Thanks for reading and thank you for your love and support.
Sunday, 7 August, 2022 —
software
Patrik The Dev, on Twitter:
(W)hat’s your reasoning for PHP? The industry is generally moving away from it (except huge existing codebases) so I wanted to hear your thoughts
Marco Arment on Twitter:
PHP has ALWAYS lived up to its role in my stack as the fast, conservative, ubiquitous platform that just works and needs no server babysitting.
PHP lets me sleep at night, spend time with my family, or go on vacation without worrying that it’ll fail.
It has never failed me.
If your codebase works for you, there are no benefits to trying to rewrite it in a new language or framework.
Scaling horizontally indefinitely would be less expensive than rewriting.
The web app side of the industry has had, for multiple years, a tendency toward rewriting software once a language or framework becomes less popular. Meaningfully, it’s fairer to say, “when a language or framework becomes less meteorically popular.”
A memorable example were teams abandoning Rails applications and reworking them in NodeJS. I think a lot of the growth of front-end frameworks in the last 10 years has similarly encouraged chasing popularity instead of identifying and sticking with something that works.
I started my software career in 2000 and over the past 22 years, I’ve been part of a lot of rewrite projects. Only rarely have any of these projects provided a benefit to the team or organization at large. More frequently, the rewrites were an expensive distraction from operating and enhancing currently working (and generally stable and profitable) software.
There are conditions where rewrites make sense. But, they’re less rewriting the application and more refactoring specific parts of the application to something else. Would I rewrite my Rails application to Go because “Go is more performant”? I would not. I might, however, identify some critical pieces of expensive processing with a well-defined scope that would benefit from a substantial speed increase and that particular piece, I might rewrite. More likely, I would examine my present language and framework for missed opportunities for performance optimization first and then, and only then, would I consider the value of a rewrite.
Again, rewrites are expensive distractions and only in vanishingly rare circumstances are they worthwhile. Refactoring and performance work, however, has higher utility, better odds, and accordingly better payouts.
In summation: Favor refactoring within your application’s existing language and framework before you consider rewriting parts of the application in new languages and frameworks. Favor rewriting select parts of the application over rewriting the application wholesale.
Sunday, 7 August, 2022 —
links
privacy
civics
Pia Ceres, reporting for Wired:
Now that the majority of American students are finally going back to school in-person, the surveillance software that proliferated during the pandemic will stay on their school-issued devices, where it will continue to watch them. According to a report published today from the Center for Democracy and Technology, 89 percent of teachers have said that their schools will continue using student-monitoring software, up 5 percentage points from last year. At the same time, the overturning of Roe v. Wade has led to new concerns about digital surveillance in states that have made abortion care illegal. Proposals targeting LGBTQ youth, such as the Texas governor’s calls to investigate the families of kids seeking gender-affirming care, raise additional worries about how data collected through school-issued devices might be weaponized in September.
The CDT report also reveals how monitoring software can shrink the distance between classrooms and carceral systems. Forty-four percent of teachers reported that at least one student at their school has been contacted by law enforcement as a result of behaviors flagged by the monitoring software. And 37 percent of teachers who say their school uses activity monitoring outside of regular hours report that such alerts are directed to “a third party focused on public safety” (e.g., local police department, immigration enforcement). “Schools have institutionalized and routinized law enforcement’s access to students’ information,” says Elizabeth Laird, the director of equity in civic technology at the CDT.
Schools concerned about keeping students productive and safe from school shootings and other potential harms have installed highly invasive monitoring software on school-owned devices issued to students that makes extraordinary and unproven claims about efficacy.
I get that screens can have tons of distractions and teachers probably need some assistance in keeping students focused, but all of this just seems over-the-top invasive against student privacy, particularly for students who don’t otherwise have their own devices.
The ease and comfort with which kids can get automatically referred to law enforcement is flat out shitty.
Saturday, 6 August, 2022 —
healthcare
transplant
As mentioned on Twitter, I’m now a kidney transplant recipient. My transplant was in Philadelphia and, a week later, we returned home to Williams Township, PA, about 90 min. away.
Part of my post-transplant follow-up is getting frequent bloodwork to check various values, particularly kidney function and levels of a specific anti-rejection medication. That necessitates going to a local medical facility, having bloodwork drawn, processed and the results sent down to my parts of my medical team that are in Philadelphia.
I did the first of these remote labwork visits on Friday and the difference between Philadelphia and the Lehigh Valley is the prevalence of masks in medical settings. At the hospital in Philadelphia, near universal masking, notionally enforced at hospital entrances. Up here, “Masks recommended, but optional.”
You can probably imagine where this is going.
The next two people in the door to the lab facility within the larger medical complex are both unmasked, one of whom appears to be a medical professional who works within the building. I am now an immunocompromised individual and now I’m hoping neither of these unmasked folks have Covid.
My request is simple. Even if you’ve given up on masking anywhere else, medical facilities aren’t optional for immunocompromised folks. Wear a mask when you’re at a hospital, a lab, or a doctor’s office. You don’t know who else needs to be.
Saturday, 6 August, 2022 —
software
Allen Holub:
The idea of a “full stack developer” is an insane fantasy, given the complexity of modern software. That’s why we have full-stack teams. Every skill needed to get an idea into our customers hands is represented on the team by at least 2 ppl, & everybody teaches everybody else
This is true-ish. But, it’s far from an absolute, and accordingly, the sentiment is incomplete (Twitter’s design inherently limits nuance.). In my mind, the distinction is in where and how teams invest in complexity and specialization.
What do I mean by that? It breaks down a few different ways:
- Teams with very complex application stacks and deployment mechanisms likely need a lot of internal specialization within the team
- Teams with simpler application will more likely have “full-stack developers” or, what I think is the more applicable term, generalists
- Teams can outsource a lot of complexity to limit where they need specialized knowledge
- Teams frequently insource a lot complexity out of aspiration vs. necessity
Here’s where I see some differences between insourcing and outsourcing from a team. I’ll use a Rails application as an example:
- If the Rails application is a monolith, using server-side rendered HTML, deployed to Heroku, I think the team can primarily be composed of Rails generalists with some specialization for CSS and HTML and also for Rails performance optimizations.
- If the app instead uses a heavy front-end JavaScript framework like React, the team will likely need a specialist in JavaScript and React
- If the app uses other distributed systems within the application or has more complex job processing needs, the team will likely need a specialist in asynchronous job processing, publish/subscribe buses, and job repeatability/idempotency
- Moving towards further complexity, the application is deployed to a cloud provider with Kubernetes, maybe there’s a discrete database vs. using a hosted solution, and the team is now looking at needing specialists conversant in those topics as well
Particularly in the last case, an on-team specialist may not necessarily be a person responsible for maintaining a consumed service. My own team closely matches that last bullet point, but no one on the team is managing our Kubernetes or Google Cloud infrastructure. Our company’s systems engineering team is directly responsible for those items, but our team-based specialists are familiar with how to successfully use those services.
In the first case, we’re looking at a pretty good range of potential teams. Everything from hobbyist applications to solo or paired founders on up to small companies or well-focused teams in a larger engineering organization.
Other things a team may insource vs. outsource:
- Continuous integration
- Code quality metrics, linting, and automated feedback
- API documentation and publication
The overwhelming issue I see with Holub’s sentiment is the assumption that applications and therefore teams need that complexity and the specialization that comes with it. I agree that some teams do, but I suspect many teams don’t. Accordingly, those teams would be better off not taking on that complexity absent very compelling technical and business reasons for doing so.