It’s been exactly one month since I woke up a little after midnight with a tube down my throat and two more sticking out of my abdomen and a long red seam down my chest, where the good surgeons from Franciscan Cardiothoracic Surgery had pried me open to re-plumb my heart. My last clear memory before they yanked the throat tube out was of looking at an X-ray image of totally blocked main left ventricle cardiac arteries and being told I was headed for surgery instead of home, some 14 hours earlier.
As if recovering from that trauma, which included several hours of having my blood diverted through a fancy aquarium aerator while my heart was taking a nap and my arteries were rearranged and supplemented with veins fished out from behind my left knee was not enough, two weeks later I ended up back in hospital again with severely painful clots (embolisms) in my lungs. Nevertheless, healing proceeds: in the last week or so I’ve been able to spend enough time at the computer to do actual damage.
First, there was the matter of fixing a software package and install script hastily uploaded to the client site the night before surgery. Secondly, a local heat wave was setting off overtemp warnings on my development laptop, when I noticed that the graphics processor wasn’t reporting temperatures. Foolishly, I attempted to upgrade the graphics driver, ending up with a text-only display. Hmm, back out, reinstall the stock drivers, and the graphics desktop returned, albeit with a few quirks. I’m still not up to speed yet–when I think hard, I break into a sweat and have to take a nap, so best not tackle any seriously difficult problems just yet.
Several other projects have simply been put on hold: I have been content with putting in short half-hour spurts of work once or twice a day. As noted elsewhere in earlier posts, my rehabilitation has already started with daily walks to keep the circulation going and build up cardiac strength. Early walks, plodding along in a light-headed daze, have given way to reasonably-paced striding. After having tackled a few wilderness paths that proved to be a bit rugged, we’ve contented ourselves with flat-land walks on the north side of Shelton, close to the medical facilities, or, alternately, on the relatively flat and convoluted running trail through the greenspace near Shelton Creek, a park called, appropriately, “Huff ‘n Puff.” These excursions have extended to 1-3Km, of duration 30-55 minutes. Meanwhile, I’m still under motion restrictions while my sternum knits itself back together under the wire lacing that held it shut after surgery, not to mention recoverying from abused and sore muscles and ribs that were stretched and bent into abnormal shapes.
One of the side effects of such drastic surgery, where life is sustained artificially, is the possibility of cognitive impairment: fortunately, so far only a few well-known facts have had to be re-verified, but we haven’t pushed the envelope too hard or taxed the coding skills excessively. Starting coumadin (warfarin) treatment to avoid repeat emboli has been a bit of an ordeal, with twice-daily injections of blood thinner while adjusting the rat poison dosage to get to the proper levels. The formula also includes careful attention to diet, to reduce the amount of clotting factor, vitamin K, which is present in most green leafy vegetables, a challenge for a dedicated vegetarian. But, finally, after two weeks of injections and frequent blood tests, we are “in range.” This means no more injections and now just a matter of infrequent blood tests to adjust the warfarin dosage from time to time and avoiding cuts and bruises for the next six months while the treatment runs its course.
This interlude of recovery gives us pause to think about the gift of a few more years to enjoy life and family, and to think about when to declare a true state of retirement and what exactly that entails. Unix and Linux will always be a part of our life, but perhaps with a little more focus on enhancing personal goals and less about deadlines and external projects. We have grandsons who are beginning to mess around with computers and need some guidance (i.e., indoctrination in the benefits of “the one true operating system” and maybe some instruction in scripting and programming). The new generations of tiny machines with analog interfaces, like the Arduino and Raspberry Pi beg to be incorporated in other hobbies and home projects. The rehab program requires regular exercise, which means much more time on the bike when we get cleared for that type of activity (probably after the bleeding danger is over: meanwhile, trips to the gym for some stationary workouts are in order). Yoga is another activity on modified hold until the bones and muscles heal. Beginning a new phase as a cardiac patient puts a new perspective on life, truly a reboot and fresh start with new priorities and goals.
The newest Mason County Park is Oakland Bay Park, off Agate Road near the head of Oakland Bay, 15Km from downtown Shelton. The park is down a narrow dirt road to a well-appointed parking area and well-signed trail that winds down through a forest of Western Red Cedar and maple, dropping 40 meters in elevation to a bench above the bay, near Malaney Creek before looping back up a series of switchbacks and stair steps. A single park bench is placed at the only view of the bay, the low point of the trail.
This hike was possibly a bit more ambitious than expected for less than a month from open heart surgery and two days out from my hospital stay for pulmonary embolism, but we had been fairly active before the operation. The main concern was to avoid falling, due to knitting bones and a heavy load of anti-coagulant.
We hiked this on July 9, 2014, and had the entire park to ourselves, the previous user having been in process of leaving as we arrived. I’m not sure of the distance for the loop trail, but it was certainly more than 1Km, plus a number of ups and downs and switchbacks over the 40-meter elevation change from top to bottom.
Because of my recent heart operation, we are off the bike until the bones heal. However, part of the cardiac rehab is regular walking. Not satisfied with marching up and down Railroad Avenue (on good days) or circumambulating the sidewalks and trails around Mason General Hospital (on bad days), we’ve been looking at the many short hiking trails around Mason County. Mason County Washington encompasses the lower arm of Hood Canal and several inlets of South Puget Sound as well as islands and the southern quarter of the Olympic Mountains. Therefore, there are lots of hiking opportunities.
We started with the county parks, but there are also a few city hikes of note in Shelton. One is the short Goldsborough Creek trail, that provides access to the former site of the Goldsborough dam that supplied power to the city of Shelton and later to the Simpson Lumber Company from the late 1890s until the late 1990s. In 2001, the 30-foot-high dam was removed, replaced with 34 concrete weirs spaced down the drop to allow salmon to climb past the former dam site to spawn in the headwaters in the marshes near Little Egypt Road.
The trail starts just past the Ford/Chrysler/Jeep dealer, at the driveway to the Pavilion (now the Shelton Senior Center), and follows the old dam road for about 400 meters before a side trail leads to the creek and then along the creek side back to behind the car dealership. In addition to the weirs, there are a number of trees that create obstacles and pools. In July, the creek levels are down, but the weirs are popular with white-water kayakers during the spring runoff. The forest is mixed lowland trees and shrubs, with abundant sea spray, just starting to bloom.
The lower loop trail is little more than 1Km. A less-distinct trail continues another several hundred meters to the Simpson Railway where it crosses the creek.
We walked this trail on July 4, 2014. A couple of hours later, I had a pulmonary embolism that was totally debilitating and required several days treatment and recuperation in hospital, so we were fortunate that the clot didn’t choose to move during this wilderness hike.
“The time has come,” the Walrus said, “To talk of many things: Of shoes–and ships–and sealing-wax– Of cabbages–and kings– And why the sea is boiling hot– And whether pigs have wings.”
–Lewis Carroll, “The Walrus and the Carpenter”
Cardiac Artery Bypass Graft (CABG, pronounced cabbage) is not a term one thinks about while riding one’s bicycle. Indeed, the association is with elderly, out-of-shape American males who have been indiscriminate in diet and lax in activity. However, all of those things are cumulative over time, leading eventually to atherosclerosis in the elderly of both sexes who haven’t succumbed to some other infirmity. Somehow, though we don’t feel “elderly” at 70, we do fit the demographic age group, are overweight, and exercise in spurts.
So, after a decade of daily bicycle commuting, near the end of which a cardiac stress test was passed with flying colors, I found myself, in semi-retirement, having some pain on casual, but aggressive riding. “Out of tune, out of shape” seemed a reasonable assumption, and, indeed, the pain vanished with longer rides and more regular riding. This went on for the next nearly five years, with occasional attempts to find answers, and several thousand kilometers of training and touring.
However, the persistence of some pain, usually at the start of a ride, led to a medical consult before commencing on our 2013 self-supported bicycle tour. GERD (Gastro-Esophageal-Reflux-Disease) seemed a resonable solution and, indeed, a round of the popular treatment Omeprazole seemed to alleviate the symptoms, and off we went on tour, with no adverse affects during the 700-Km tour, riding up to 70Km per day over several weeks, towing a heavy (45Kg) trailer full of gear.
After the tour, however, the symptoms resumed, and eventually could not be reconciled to either poor choice of food before or during the ride (though cold weather was once thought to be a factor). A second round of Omeprazole was ineffective, though a switch to the more preventive treatment, Ranitidine, seemed to help some. Rides became shorter, as pains returned soon after the start of a ride, and required a stop to subside. And, multiple stops, on a 30-km ride around Payette Lake in Idaho.
Yet another medical consult, this time insisting on a cardiac stress test. We had registered for a week-long inn-to-inn bicycle tour at the end of July and were woefully behind in training for it. After waiting more than a week for a referral, we took matters into our own hands and contacted our HMO’s cardiac unit directly, the closest in-house cardiology department being in Tacoma, rather than Olympia, where we usually go for specialty care. Yes, we could get in Friday afternoon. Meanwhile, the referral through our primary physician came through, too, though we would not have been scheduled until at least the following week.
On Friday, the stress test started normally, though my pulse rate went up quickly and blood pressure had been abnormally high during the last few doctor visits (abnormal for me, but apparently not for the average 70-year-old in poor health). As soon as the test went to the next level at three minutes, classic angina pain set in; every reading spiked as pulse and blood pressure headed for the 200 mark, and the EKG readout looked like the audio track from one of our grandson’s heavy metal rock recordings. The test was immediately terminated. The cardiologists had gone home for the day, so I was prescribed a cocktail of nitro and heart regulators and sent home for the weekend, cautioned to “do nothing.” Of course, I did tidy up, package, and upload my latest code project to the NIH, so as to justify my time and possibly leave behind something useful…
Monday was a consult with the cardiologist, who, with one glance at the EKG result, announced “serious blockage,” and muttered “time bomb” while scheduling a cardiac catheterization for early the next morning to plan the next step.
Cardiac catheterization is a minimally-invasive look at the heart’s arteries with a scope inserted into a groin artery, through which also the blocked artery might be opened without surgery using a balloon and a mesh expander called a stent. The procedure is performed at an ambulatory surgery center, in this case, at the Franciscan Cardiac Unit at St. Joseph’s Hospital in Tacoma, 80Km from home.
On awakening, I was shown the result: two of the three major arteries supplying blood to the left ventricle (the big one) were blocked over 90% and the third one compromised. The blockage, at the junction of the arteries, was not fixable and would have to be bypassed. I had been minutes from a fatal heart attack every time I had felt a twinge in my chest over the past at least 200Km of riding, or even while taking out the garbage. In these cases, the patient is not released, but scheduled for open-heart surgery at the next available opportunity.
Fortunately, there was a procedure in progress and the team agreed to put on a second procedure (an open heart surgery for bypass or valve replacement takes four to six hours or more). I was sedated once more and wheeled off to the surgery suite.
I have been told that the prep is quite involved. First, they paint you orange from head to toe with an antiseptic solution, attach various plumbing to manage bodily fluids, stuff your nose with anti-MRSA goop, then chill you to preserve the meat for what comes next, which is both terrifying and a miracle.
To get at the heart or lungs, sometimes surgeons can work between the ribs, or cut through only a few on one side. But, for most, it is necessary to open the thorax completely, which means cutting the sternum from top to bottom. I will have a scar about 25 cm long from my collar down.
Next, the blood flow is diverted through a pump and diffuser to oxygenate the blood and keep it flowing through the brain for next hour or so. And the heart stops, the old definition of The End.
Working quickly, the surgical team takes sections of veins harvested at some point in the process from the legs and chest and sews them into the main arteries and the blocked arteries to create a new pathway. Fortunately, with bicycling, I had lots of nice leg veins from which to choose, leaving a rather large scar behind my left knee. and an area that will remain numb for at least several months.
With the two bypass channels secured in place, and the seams checked for leaks, the heart is restarted and the massive wounds reclosed, stitching bone back together with heavy-gauge wire, and super-gluing external tissues together.
Finally, at nearly midnight on a day that started before 8:00 with the first injections of sedatives, I become aware of what seems to be a vacuum cleaner hose stuffed down my throat, which is being pulled out with the most unpleasant sensations. Amazingly, the tortured vocal cords still work, but it hurts. I immediately begin coughing up a sticky clear fluid and foam that is trying to fill my lungs, a process that continues, nearly two weeks later. Deep breathing exercises are supposed to help the expectorant process, but the ribs and chest hurt, and the lungs don’t seem to expand all the way, possibly due to two rubber tubes stuffed in the sac with them, that are draining fluid and blood away into a container under the bed.
But, the important part is, I am still alive, and probably wouldn’t have been had I not sought treatment when I did or had persisted in “riding through the pain” the last couple of months when we aborted rides that were especially painful.
Before long, I get bundled out onto a high-rise walker with hooks and racks for oxygen and aero-bars for a cruise around the ICU station, two laps. Before leaving the Intensive Care Unit, the various tubes get yanked out, and off I go down the hall to the Progressive Care Unit, where I have to get up to the bathroom. Often. Meals are delivered, but the food is inedible, some beef-eaters idea of “vegetarian” cuisine as boiled-to-mush starch and green paste. I manage a few pieces of melon and occasional bowl of cream of wheat or oatmeal, and beg a snack pudding from the floor nurses the last day.
After I spend two nights in the PCU, get my cardiac jumper cables snipped (they are supposed to pull out, but hang up somewhere) and demonstrate the ability to climb a long flight of stairs without aid, Judy arrives with my clothes (sans personal cell phone, which disappeared somewhere during the personal effects transfers) and I am out the door, four days nearly to the minute that I was wheeled into the operating room for prep, and climb a bit unsteadily into the car for the 80-Km trip home, via the pharmacy. I am now officially labeled with Cardiac Artery Disease, and must take several medications daily for whatever time remains to me.
Adapting to the residual diuretics, laxatives, and pain killers is part of the post-op/post-hospital period., and brings its own set of horrors. Judy has bought me a La-Z-Boy chair, electrified, in which I will spend the next few weeks until I can lever myself in and out of bed without putting weight on my shoulders/elbows, etc. No pushing, pulling, or lifting more than 4Kg until the cloven sternum is fully knitted under its metal lacing. The lung fluid continues to collect, now without a built-in vacuum, but I learn to spit into a cup without leaving slug trails everywhere, mostly. Sleeping in the chair elevated to aid breathing and coughing leaves me with a painful kink in my neck (hence the title).
Sleep has eluded me since waking festooned with tubes, with the constant need to clear my airway of slime. I am expected to get 8 hours of sleep, but it comes in 10 and 15-minute snippets. The food is better, as Judy learns to cook what I usually prepare. Melon continues to be a favorite, but I am soon eating well, then sleeping longer and longer as the flow of slug slime from my lungs diminishes. It is hard to remember to use the “Incentive Spirometer” gadget they send home to build up your lung capacity and help clear the fluid. The indicator is set at 750ml: I started past 1500ml in the ICU and peak the device at 2500 by the time I am home, leaving me to nearly turn blue waiting for the device to reset itself. I still need to remember to practice deep, cleansing yoga breathing several times a day.
Finally, I manage to get in at least four hours of sleep, in 30-minute chunks as the diuretics work to dump the remaining 5 liters of fluid pumped into my system during the surgery by the heart-lung machine. This works too well, and I am soon 5Kg below my check-in weight by the time the pills run out. I also had dropped the narcotic pain killers, opting for plain acetaminophen instead, so I spend most of the next day fuzzy and depressed, nose dripping, like a street junkie down on his luck.
Six days after returning home, I am ready to venture out: first mission, replace my lost phone. A trip to the mall 30 Km away in the rain is mostly pleasant–I am not allowed to drive for six weeks while the bones heal–but then, done with the diuretics, the accumulated laxatives win the battle for fluid. Dizzy with low fluid levels, I stumble from one restroom to the next as we finish our shopping and head for home. Still, I am alive, and moving under my own power. Life is good.
At last, down to my normal lifetime medication list and the lung output continuing to drop, we can plan the rest of the recovery. The glue lines start to itch, tapes begin to peel, walks around the yard become less tiring. Back and forth up and down the sidewalk; breathe, fall into an even cadence, faster, further. There are trails yet to ride.
Dr. Roger Chamusco and P.A. Bjorn Larsen, Group Health Cooperative, who treated my symptoms as an emergency and acted promptly.
Dr. Susan Hecker and her staff, Franciscan Cardiothoracic Surgery, who stayed overtime after a long procedure to perform mine, tired, but steady.
The ICU and PCU staff at St. Josephs Hospital, who put up with me through my recovery and discharge.
And, of course, Judy, who put on her nurse’s hat once more to see me through transition to convalescence at home and was there for me throughout my ordeal, and who said “Stop!” when I pedaled to the edge.
Once again, as winter draws to a close, it’s time to assess our systems, shovel out the office, and plan for the year ahead. But, we seem to be a bit late, as everything catches up at once. This has been one of those weeks/months where things fall apart when touched.
With tax time rapidly approaching, it’s that time of year to fire up the Windows XP virtual machine to run TurboTax. Realizing that Microsoft is finally, in April of 2014, pulling the plug on the venerable platform first released in 2002, after three service packs, innumerable hotfixes, and an on-again, off-again sliding End-of-Life date, not to mention three successor (if not successful) systems. Of course, many of us Unix professionals who don’t depend on Windows for our livelihood have nearly abandoned Microsoft altogether, but still are plagued with having to keep a working copy of Windows around “somewhere,” increasingly as a virtual desktop residing on a Linux or Apple workstation or server.
Vista was a complete failure: our copy–that come with “rover,” our 2007 Compaq laptop that has run Ubuntu Linux (and been updated at least every 2 years) since we unpacked it–spent its life unused but available as an alternate boot option until the hard drive failed and was replaced in 2012, with no hope (or desire) to revive the Windows installation. We had acquired a copy of Windows 7 with our HP Netbook ‘mini’ in 2010, which copy also lay dormant, minutes after unpacking it, taking up hard drive space until recently. With the increasing dependence on Windows security (if there is such a thing) solutions for networking in the government, it looked like we might have to revive it, just to do business. The first boot-up of Win7 in over three years took 3 days to complete, installing the updates, with multiple reboots. Happily, in the meantime, the Unix/Linux support team, of which I am part, found a Linux solution to our immediate needs, so the NTFS partitions lapsed into dormancy once more–until the prospect of the demise of XP sent us shopping for an updated alternative for the Microsoft interoperability problem. We do have some Windows applications that happily run under WINE, the Linux WINdows Emulator, but many others don’t.
Having migrated a friend’s home system from Apple (due to a serious case of narcolepsy in her Imac, a rare but aggravating problem that Apple seems to want to ignore) to a shiny new HP laptop, we had become painfully introduced to Windows 8, that ‘new idea’ from Microsoft that turns your desktop or laptop into a badly designed giant cell phone with no phone service. A few minutes with that made me almost long for Vista. But, realizing that Windows 7 seems to be Vista overlaid with the XP desktop, we decided the best option for the Chaos Central network would be to integrate Windows 7 into our stable of virtual machines, to be pulled up on demand, anywhere on the network it was needed.
Attempts to migrate the Windows 7 installation on the Netbook to a virtual appliance proved to be frustrating, as it appears to be difficult, if not impossible, to create a copy that doesn’t demand to see your genuine Microsoft license to boot up, which is difficult when you have a machine that doesn’t have an optical drive, and did not come with an install disk in the first place. Thinking (wrongly, it turns out), that making a ‘recovery disk’ on a thumb drive would suffice, we proceeded to do so, which promptly destroyed the Ubuntu boot partition, rendering the machine totally useless, since that is also where the GRUB boot manager keeps the information on how to boot to all the systems, including Windows. Erk.
So, time to reinstall Linux. Having also been increasingly disenchanted with the Unity desktop (which turns your Linux desktop or laptop into a decently designed giant cell phone with no phone service), I decided to install Mint Linux (yet another Debian-based variant, similar to Ubuntu), with the XFCE desktop, a lightweight system that is annoyingly similar in appearance to the XP desktop, but nonetheless familiar and functional, as far as menu navigation goes, and with the ability to paste hot links all over your desktop instead of in a peek-a-boo toolbar with inscrutable icons instead of text labels.
Of course, once Grub was restored, we could boot to Windows, but, in process of trying to get around the Grub issue in order to export the Windows system, we ended up running the newly-created Windows Recovery disk, which restored the Windows 7 installation to Day 0 (no patches, no added software or files)–and promptly refused to boot again without the Genuine Microsoft Windows 7 installation disk, which we still don’t have, and for which the “Recovery Disk” is not a substitute, despite the fact that is the only thing we end users can create from the installed system we bought and paid for. Have I mentioned lately how much I dislike Windows?
At this point, we are at the verge of simply continuing on with a static XP system, for as long as Quicken and Electric Quilt will support their applications on it. Setting aside this issue for a while, having given up a chunk of our on-line and off-line storage to yet another unusable Microsoft product, we turned our focus back to the primary business of making and supporting Linux software, and the goal of organizing the accumulated piles of paperwork and other paraphernalia in the office.
Just then, my desktop workstation, ‘zara,’ which was recently converted to CentOS6 to be a bit more compatible with the customer development systems on the server, suddenly shut down in the middle of browsing the web. That usually means overheating. We had recently done a bit of mid-winter housecleaning on ‘strata,’ our big development laptop, which had been shutting down because of overheating, and also had thoroughly cleaned the interior of the virtualization server when we replaced the hard drives in it last month. The laptop fan had stopped running, but a thorough cleaning and redressing the wire harness got it running again, solving that problem.
The desktop machine was another issue. The CPU heat sink resembled the filter in the clothes dryer, and the fan was barely turning over. After cleaning the heat sink fins of lint and giving a fan a few spins in an attempt to “loosen it up,” it still wouldn’t turn over more than a few turns. So, we pulled it and peeled off the sticker over the shaft bearing. intending to re-lubricate the bearing. Unfortunately, the bearing seal on this fan was plastic instead of rubber, and couldn’t be easily removed.
But, we had recently retired our Internet gateway server, ‘armonk,’ a 12-year-old IBM desktop machine running FreeBSD, replacing it with a Raspberry Pi, which is more than adequate for that use. The IBM had been running smoothly, so I went to the temporary holding area for dead computers (which has encroached on the studio area downstairs), popped the lid, and pulled the CPU fan. It spun smoothly, so I bored out the mounting screw holes to countersink the shorter screws for the AMD CPU heat sink on zara, reassembled the system, and we’re back on the air again.
So, here we are, behind in our work, with the retired IBM now truly inoperative, no Windows 7 working copy, taxes undone, and the office and network still not completely reconfigured as we planned. The fan fiasco occurred in the middle of replacing the printer table under the window with a storage cube system. The old HP 1200 laser printer, which we haven’t used for several years, was finally taken off “standby” and retired along with the IBM server. The storage cube now holds the ethernet switch, wireless router, Raspberry pi network servers and overflow books, in preparation for moving Judy’s desktop workstation, ‘giskard’ from her downstairs studio to the table formerly occupied by the IBM, and the old laptop, ‘rover,’ downstairs, to make space on the office table.
Oh, and the color laser printer suddenly decided it is out of cyan and yellow toner, printing everything with a magenta cast. With receipts on the government contracts running behind (30-day due dates are simply ignored, by official policy) and a few months of lean billable hours behind us, the prospect of shelling out several hundred dollars for new toner cartridges just doesn’t fit the budget this month. The ink-jet printer in Judy’s studio is out of black toner–we have a new cartridge, but waiting to move the workstation upstairs to service that one…
So it goes. Spring cleaning continues: the goal here was to unclutter the office and upgrade the network services with fanless/solid-state low power devices that are reliable and recover automatically after power failures. At the same time, it is hard to schedule a shutdown time to open the cases and blow out the accumulated dust that is the primary killer of computers, and to replenish supplies. We don’t print a lot these days, and toner seems to have a finite shelf life that sometimes is longer than the useful life of the printer itself, so we tend not to order ahead. A couple years of competitive bidding on contracts that trimmed upgrade/replacement budgets to the bone, plus the low ratio of billable to overhead time during contract turnover times means keeping vital systems running well past their reliable life, risking work disruption due to inevitable disk and fan failures.
On a final note, moving Judy’s old workstation upstairs seems to have killed the monitor, an old, early flat-panel model that had been cantankerous at best. So, we’re up and running on our one remaining ancient and massive glass CRT monitor, until we can afford a new modern one to service both her workstation and the Dell virtualization server. Right now, we have to switch the cable back and forth for the rare times we need a console on the big Dell server. I did dig out an old KVM switch (keyboard-video-mouse, not to be confused with Linux Kernel Virtual Machine, which is what we run on the server) to share one console between two machines, but the circuitry in that had failed either from lack of use or too much moving. We’re due for another desktop machine, budget permitting, as ‘giskard,’ a Linux machine built from spare parts at least six years ago, isn’t modern enough or robust enough to run what we need, and the audio has never worked right, and we are way overdue for new monitors.