Memories of Van Cliburn

Van Cliburn
Van Cliburn

In the long struggle between the United States and the Soviet Union, from the end of World War II until the end of the Soviet era in 1991, there were intense moments of high drama, like the Berlin Blockade and the Cuban Missile Crisis, intermixed with moments when the icy hostility melted a bit. With both countries armed to the teeth with nuclear weapons of a power sufficient to destroy out planet many times over and a firm policy on both sides with the ironically apt acronym MAD (Mutually Assured Destruction), the stakes that world leaders were playing with could not have been higher. The path that eventually led to the defusing of this dangerous situation was not direct. Certainly the final act was played out by Ronald Reagan (undoubtedly his greatest role) and Mikhail Gorbachev, but long before that a young Texan, a classical pianist, was one of the first to breach the barriers between the two countries. In 1958 he won the Tchaikovsky Piano Competition in Moscow, the first American to do so. He played two great Russian concertos in the last round of the competition: the Tchaikovsky 1st and the Rachmaninoff 3rd. He won the hearts of the Russian people as well as the judges of the competition. Nevertheless they cleared their decision with Premier Nikita Krushchev. Krushchev reportedly asked them: “Is he the best?” When answered affimatively he stated: “Then he should win.” After the competition he returned home to a ticker-tape parade in New York City, and a full concert schedule. His records (LPs) were all hits, and I personally bought a lot of them. In later years he received some criticism from music reviewers for a conservative repetoire and rote performances, but at his peak he was a tremendous musician. His recordings of the Prokofiev 3rd Concerto and the Rachmaninoff 2nd Sonata are cases in point.

Van Cliburn and Krushchev
Van Cliburn and Krushchev

I first saw him perform live in a concert that I believe took place in 1966 in Philadelphia. He performed 3 piano concertos in one concert with Eugene Ormandy and the Philadelphia Orchestra. The 3 concertos were the Mozart number 25 in C major, the Beethoven 4th, and the Rachmaninoff 2nd. I well remember his appeararnce on stage, sitting very tall and straight-backed on the piano chair, swaying side to side with the music. Playing 3 concertos in one concert was and is quite a feat. It was rebroadcast on the Philadelphia classical music channel (WFLN) a few weeks later and I made a tape recording of the whole concert from my little transistor radio. Over the years I lost all my old tapes. I wish I still had that one. I have never heard of another recording of that historic concert.

Cliburn appeared frequently at the Robin Hood Dell concerts. These were summer concerts performed outdoors in Philadelphia. On these occasions he wore white formal attire. My friends and I attended these concerts and at the end of each concert, went up to stand in the front row to watch Cliburn give a series of encores. We went often enough to know that when he played Chopin’s Polonaise in A flat it would be the last encore of the evening. He was always generous with his encores and gracious to his audiences.

Van Cliburn died on February 27, 2013 at age 78. He played for presidents, world leaders, and for all the rest of us. He was a sorely needed bit of warmth in the midst of the Cold War. By any measure he was a great American and I count myself fortunate that I was able to see him perform in person on several occasions.

Somewhere in the Middle of the Atlantic Ocean

Just a brief post today (internet service is poor and expensiveIMG_0008). Right now I am 3 days out from New York City, nearly halfway to Southamptom, England, on the majestic Queen Mary 2. This is the view out my cabin balcony. The ocean is shrouded with fog. We are moving along at 23 knots, slower than the liners of old that made the crossing in 5 days — a concession to fuel economy and an attempt to keep the ship as stable as possible in the rough waters. Surprisingly, the outside air temperature has been warm in the high 60s. It is windy, but comfortable out on deck with just a light jacket on despite the date being January 6th.

The 7 day crossing allows adequate time to stop and contemplate the wonder of this world of ours, tucked away in a spiral arm of one of billions of galaxies. There is so much water here on our planet! It is hard to appreciate unless you spend days on a ship crossing an ocean. Of course not many people have time to spend a week on ship, especially hard-working Americans. By the time you arrive at your destination, your week of vacation is over, and you’d have to fly back. Indeed most of the travelers on the ship are British, of retirement age, or both. Ship travel is actually a bargain, considering what you get. It is like eating in a fine restaurant 3 times a day, staying in a fancy hotel for a week, and traveling to Europe all for just a little more than a plane ride. Yes you can do it for less than a thousand dollars a person. But time is money and one thing people don’t have much of these days is free time for themselves.  So instead we have to suffer being crammed into ever-shrinking space in airplanes.

The ocean is ever-changing and yet always seems to remain the same. Now that we are beyond the continental shelf, it is miles deep. There is a vast unknown world out there. It is an awesome and fearful sight. It reminds me of how weak and small we are compared with the power of nature. One can’t help but admire and wonder at the pluck and certainly foolhardiness of those who first crossed it in their fragile wooden boats.

Early this morning we crossed close to the site where the Titanic went down, over a hundred years ago, perpetual reminder of how we are never as smart or clever as we think we are.

Tips for an Extended Stay In Europe

IMG_20140615_103318243_HDRMy wife and I are heading back to Europe again for an extended stay.  A year ago we did the same thing, moving to Paris right after we both retired from our medical careers.  We are planning another 6 month stay.  Prior to this second visit, I was able to think about the things that we did right and the things we did wrong on the first visit. Here’s some of the lessons learned:

  • Staying more than 3 months in France. This requires a visa (in the UK you can stay for 6 months without a visa). Or, you need to be or be married to a European Union citizen.  If you are married to an EU citizen, as I am, you can apply for a Carte de Séjour, which is what I did last time. Be warned: it is much easier to get a visa!  If you go the Carte de Séjour route, you must bring your birth certificates, marriage license, financial records, must open a bank account in France and show you have a steady income, must get all your documents in English translated into French by a state-approved translator, and must be prepared to struggle with the French bureaucracy. Only the persistent persevere. I was able to complete the process, but I don’t recommend it unless your are planning permanent residency in France and have no other option.  Fortunately it will be easier for me this time.  Due to a recent change in British law, I was able to obtain UK citizenship via my mother’s being a UK citizen when I was born (prior to the recent change in the law, you could only claim citizenship through your father, believe it or not!). So I don’t need a visa and can stay in Europe as long as I want through my new UK citizenship.
  • Packing. Last time my wife and I took two moderately sized suitcases each and our carry-on bags with us. This time we are down to one suitcase each. We ruthlessly cut down on what we are bringing. In France nearly everyone dresses in black or gray clothes, so no point in bringing any other colored items. Except for our dictionaries and this essential book we are not bringing any physical books. They are just too bulky and heavy. As much as I love real books, this is one situation where eBooks are essential.  Last time I brought stuff I didn’t wear or use at all. Not this time.
  • Electronics. In order to continue writing posts and developing apps in Europe, I need my electronic gear! When I first came over last year, I was worried that I couldn’t get by with just my laptop with its 15″ screen, as opposed to my big screen system at home. As I have already discussed this is not a big deal anymore and I am totally comfortable doing all my computer work on my Mac Book Pro. Since I do Android and Apple app development, I need at least one device of each for app testing. I have my Android phone (Motorola Droid Maxx) and an Apple iPad Mini 2. I called Verizon about unlocking the phone and apparently all their 4G phones are unlocked by default (an interesting tidbit I hadn’t known). When I get to France I will take out the sim card (it is removed by pulling out the volume control) and get a French sim card. Cell phone data and phone minutes are very cheap and easy to buy as needed in France. Never use your US phone service in Europe, even something like Verizon’s International Plan. It is crucial to turn off your service when you leave the country, or you might be stuck with huge data fees. With all the data syncing that phones do in the background, you can easily run up hundreds of dollars of fees in a few minutes. Fortunately, at least with Verizon and AT&T, it is possible to put your contract on hold while you are abroad. You pay a minimal fee ($5-10 per month), are able to restore service when you return to the States, and as already mentioned, get to use the same phone in Europe with a European sim card. Note that the phone needs to have GSM capabilities which most modern phones have, and may need to be unlocked by the cellular provider — call them to do this. The only disadvantage to suspending or pausing your service is that the contract period is extended by however many months you suspend service, and your eligibility for a phone upgrade may also be delayed.
  • Pausing other services. Services like cable, satellite, internet, phone, trash pickup and so forth should also be paused. This is easy to do online or by calling each company. Again the monthly cost is low while these services are paused, and it is easy to resume service once you return. Mail delivery is a special case. For a brief trip you can have the Post Office hold your mail, but for a trip lasting months this is not possible. We use a mail forwarding service (US Global Mail) that can sort and scan the mail we get, with the option to open and scan or forward what we want to us. It is important to try to go paperless with all your utilities and services, so that you minimize the physical mail you receive, as it costs money to forward mail to France.
  • Health insurance. It is necessary to carry Health Insurance abroad. We use GeoBlue. It is relatively inexpensive but requires you maintain a Health plan in the US as well. We are working on getting health insurance in Europe which would be cheaper, but you can only qualify for this if you are European citizens.
  • Internet. I should mention that the internet service in France is very good, especially compared to the disgracefully slow service I get living just outside of Denver. Free internet at cafés and restaurants is somewhat less available than in the US. Usually you have to ask for a sign-on code to use this. There are some public hotspots in parks, though this is not as widely available as I would like.  TV and internet phones come with residential internet service, and the internet phones are handy for calling back home for free.

So these are some of the tricks we’ve learned from our last extended stay in France. I’ll be happy to answer any questions either here or on Twitter (@manndmd).

Is Medical Board Certification Testing Outdated?

vintage-elevator-operatorTimes change, and, as with Darwinian natural selection, those who adjust survive and those who don’t perish. Henry Ford’s assembly line greatly ramped up the production of automobiles but put many people out of work. The elevator operators of my childhood are long gone. Those who have embraced new technology have usually thrived; those who have fought it or failed to understand it have suffered. Witness the success of Amazon versus the demise of Borders.

Medicine is a conservative business. Who else still uses beepers and fax machines? Doctors have been slow to adapt to new technology, such as Electronic Health Record systems. Nevertheless, despite challenges, I don’t see doctors going the way of elevator operators, at least for the foreseeable future. But there is a medical industry that does need to go the way of the dinosaurs: the medical testing industry.

To briefly recap, doctors used to take a board certification exam after residency that provided lifelong certification.  In the case of internal medicine doctors the examination agency is the American Board of Internal Medicine (ABIM) which is one of the specialty boards that make up the American Board of Medical Specialties. Arguing that the rapid changes in medicine warranted periodic recertification, but probably also noting that once per lifetime certification is not as lucrative as repeated certification, the ABIM subsequently imposed a requirement that certification testing had to be renewed every 10 years. Still not satisfied, the ABIM came up with Maintenance of Certification (MOC), consisting of a lot of busy-work for the already busy physician that includes a mandate to carry out non-IRB approved research on physicians’ patients.

Judging by social media, MOC has really hit a nerve among physicians. I and many others (e.g. see Dr. Wes’s website, containing many good articles on MOC and exposés of the ABIM) have written about MOC, and the whole board recertification fiasco has finally reached the mainstream media in a recent New York Times article.  Despite the aversion to MOC, many physicians don’t seem to be as upset by the every 10 year retesting. Yet the whole concept of sitting down to take a test as a means to assure that a doctor knows what he is doing is as outmoded as using a dial-up modem to assess the internet.

When I was in academics, my colleagues played a game that consisted of arguing a point by quoting some obscure statistic from some obscure study. Something like: “Well, in the MADEUP-VII trial, subgroup analysis of incidence of restenosis based on horoscope sign showed that Scorpios had a 32% risk reduction compared with Virgos, with p less than 10 to the minus 20th.” I was never too good at that game, which is one reason I went into private practice, only to learn that private practice docs played the same game. I’ve considered doing a study comparing these off-the-cuff literature quotes with the actual published data. I don’t think the correlation coefficient and p values would be very good.

There’s really no need to play that game anymore. Just as with the invention of writing poets no longer needed to memorize the poems of Homer, and with the invention of the printing press monks no longer needed to copy books by hands, with modern technology I don’t have to memorize detailed results of medical studies for later regurgitation at Grand Rounds. Today I carry around in my pocket a computer with always-on internet access — a computer much more powerful than the computers that were used to send men to the moon. I have apps that can check drug doses and watch out for drug interactions. I can look up anything in a few seconds. With this capability it is not only unnecessary, but would be reckless for me to rely purely on my memory, especially when dealing with the potentially catastrophic results of making a mistake.

I’m not saying that doctors don’t need to know any facts or memorize anything. I’m not saying that doctors shouldn’t attend lectures, go to medical meetings, or carry out Continuing Medical Education. But the fact is that, as with any craft, the best teacher is the work itself.  Being asked to regurgitate memorized facts on a test is not a test of anything other than the ability to memorize facts. It is not a reflection of how doctors do their jobs today, and is not a indicator of competence in the field of medicine.

The medical testing industry needs to go the way of the elevator operator.

Hacking at Dartmouth in 1969

It probably doesn’t say much about my character that when I first encountered the world of computers back in 1969 at Dartmouth College, my thoughts quickly turned to how I could use them for my own subversive goals. Yes, I was an early hacker. This was in the days before Microsoft, before Apple, even before Unix and the C programming language.  And now that there is no doubt that the statue of limitations applies (it’s been 45 years), I am ready to come clean.

Kiewit Computer Center
Kiewit Computer Center

Sitting in a corner of the campus in those days was a low, concrete, windowless, almost bunker-like building whose architecture appeared out of place amongst the Georgian style of most of the other structures. This was the Kiewit Computer Center. Inside was a GE-635 computer, a behemoth that took up a large part of the building. Per the specs on the Dartmouth College site the CPU had a speed of 300 KHz and the storage was on the order of 340 MB. This beast was tended by a group of computer science majors, headed by the two resident computer gods, Tom Kurtz and John Kemeny, the inventors of the BASIC programming language and both professors at Dartmouth (Kemeny later became president of the college).

Inside Kiewit
Inside Kiewit

The operating system was the Dartmouth Time Sharing System (DTSS), an early example of a multi-user OS that allowed the computer to be shared simultaneously among lots of users. I remember entering the Kiewit Center and then turning to the right, where there was a room full of teletypes for students to use. Each teletype printed on a roll of yellow paper. There were no monitors in those days. Each student had access to 2KB of memory and could log on with their student ID number and first 3 letters of their last name as their default password. Computer usage was very much encouraged at Dartmouth. I remember doing Physics homework on the computer. There were also a number of entertainment programs. One was called DATE and was smart-alacky attempt at an artificial intelligence program designed to entertain your date. Dartmouth was all male at the time and dates had to be imported from neighboring New England schools.

Teletype
Teletype

Compared to modern programming languages, BASIC was torture, but we didn’t know any better. Single letter variables, line numbers, no source code formatting, GOTOs — ugh! Nevertheless it was easy to learn and write, if not to read. I wrote some BASIC programs, but soon even the at-the-time huge memory space of 2KB began to seem cramped. It was at this point that I decided to turn to a life of crime and figure out how to steal some passwords.

I wrote a program that emulated the sign-on to the the system and left it running on a teletype. The next person who sat down at that teletype would write in his user ID and password, at which point the teletype would turn off, after having written the information to a data file. Sneaky! Doing this I collected a number of passwords, including some from the systems programmers. One fellow even had 307KB of memory!

Part of the Password Stealing Code
Part of the Password Stealing Code

Looking over the program listing (yes I did keep the original listing all these years — chalk it up to a guilty conscience), the code is pretty simple. The DTSS log on message with current date and time are printed out. After entering the user ID, the user types in the password on a line that was previously overprinted with different characters. The log on screen looked like this:

DARTMOUTH TIME-SHARING
TERMINAL 130 ON AT 13:48 14 JAN 70, 078 USERS
DTSS TILL 20:00. LIST CNEWS*** 13 JAN70.
USER NUMBER --
XXXXXXXX <--PASSWORD

The clever part of the code is this:

570 LET Q(0)=1
580 LET Q(1)=4
590 CHANGE Q TO Q$
600 PRINT Q$
620 STOP

I discovered empirically that ASCII 4, which is End of Transmission or EOT, would turn off the teletype if printed. In that early BASIC you would define a string as an array, with the first value the length of the string, and then convert the array to a string (indicated by a value terminated by “$”). So, after my victim entered his password, the teletype would die. Since teletypes tended to die randomly anyway in those days, no one though much of it. They would just turn it back on and start over.

Hacked Passwords from 1970
Hacked Passwords from 1970

Looking at the list of passwords, they are not much worse than those exposed through today’s password security breaches.  Most people didn’t bother changing their default 3 letters of their last name password.  Of course when the default password is known to be the first 3 letters of your last name, it’s clear there was not a lot of concern about security in those days. It was a simpler era, minus the Internet, viruses, worms and Trojan Horses (excepting my little malignant program). Nevertheless, if you, C42769, are still using “TRACE” as your password, I urge you to change it now.

Besides just demonstrating proof of concept, I didn’t really make use of my hacking results. There were no credit cards to steal in those days, and snooping around files containing other students’ Physics homework proved to be unexciting. Sobered by this, I turned away from a life of computer crime and instead became a doctor, though I have maintained my interest in computers and hacking in the non-evil sense of the word .

Yet as I sit here typing this on a portable computer far more powerful than that which filled a whole building at Dartmouth in the 1970s, I still get nostalgic for those cold, snowy New Hampshire days, and the clatter of teletypes.

The Demise of the Desktop

IMG_20130710_234939
The Heyday of the Desktop Computer

When based in Louisville, Kentucky, my wife and I each had big, bulky, homemade tower desktop computers. These ran versions of Linux and Windows. I also had an Apple Mac Mini to use for developing iOS apps, as it isn’t possible to develop for Apple without an Apple machine. Occasionally I used a laptop (a Lenovo X220) primarily to run EPIC electronic health record software for when I was rounding in the hospital. I found it easier to carry around my own computer rather than to log on and off of the desktop computers at each nursing station. Nevertheless for the majority of work I preferred my desktop setup, with its large screen, clickety-clackety Unicomp keyboard, and mouse.

On January 1, 2014 this all changed. I retired and moved to Paris, France. I purchased a 15″ Macbook Pro (MBP) for myself and a 13″ Macbook Air for my wife. The desktops were left behind in Lousiville. Any and all work I needed to do on the computer had to be done on the MBP. At first I wondered how I would get by with the smaller screen and without using a mouse. Needless to say I soon adjusted and found that the advantages of a well-build portable machine outweighed the disadvantages.

We returned to America in July, and are now primarily based in Parker, Colorado, a small town that became a large town over the years as the Denver metro area expanded. A couple weeks ago we moved all our stuff from our condo in Louisville back to Colorado. This stuff included the several desktop computers mentioned above. In our house in Parker I have a “Man Cave” (or perhaps it should be “Mann Cave”) that is a converted storage room. My plan was to set up my desktop computers in the Man Cave, network them together, and use them for all my computer activities (programming, writing, gaming, etc.).

I hooked up my wife’s old desktop box to my keyboard, mouse, and screen. I switched it on. Immediately I was greeted with the sound of several large fans moaning away in the box. Wow! How did I ever put up with that noise? My laptop makes no noise.

After a excruciatingly long boot process, I was greeted with the login screen to — Windows Vista!?! I had forgotten that was the operating system on the machine. How quaint. How sad. Well, it probably didn’t matter. I justed wanted to run Steam on this machine so I could play some games. I don’t use Microsoft for programming. I would set up my Mac Mini for that.

I double-clicked Steam, but, of course, there was no Internet connection. In Louisville I had everything connected by Ethernet, but in Parker everything was connected by wifi. It took me a few moments to realize that this home-made desktop had no builtin wifi. Well, surely I had a USB wifi dongle somewhere. I rustled through my old computer equipment, found a Netgear wifi adapter and plugged it in.

Windows Vista had no driver for the wifi adapter. And, in a classic chicken versus egg dilemma, there was no way to download the driver over the Internet. Well, the next step was to use my MBP to download the driver, copy it to a USB stick, and then copy it to the desktop. After these steps, Vista was able to install the driver. But it still didn’t work. The error message read “the capability of your network adapter does not match the requirements of this network.” After some troubleshooting (installing and uninstalling the driver), it still didn’t work. Suddenly, playing “Deadly Premonition” on this old desktop no longer seemed to be as desirable as it had been an hour or so ago. Maybe if I wanted to play games I should get a Playstation or Xbox.

So I gave up on setting up the Windows box and decided to set up my Mac Mini. At least I could use that for my programming. Of course the Mac Mini had had no software updates for almost a year. I would have to download Android Studio, which I was now using instead of Eclipse for Android development. I would have to update Xcode, a multi-gigabyte download. I would have to update my local repositories from GitHub. And all this over my pathetic 1.5 Mbps Internet connection. I was facing days of downloading.

I looked at my nice widescreen monitor, my cool keyboard, my fairly plain vanilla mouse, and my over-the-top sound system. My Macbook Pro was sitting there, with its USB ports and HDMI port. I plugged all the peripherals into the MBP and started it up.  Everything worked. I could use a keyboard and mouse and have a widescreen display just by hooking everything to my MBP. I didn’t have to duplicate my data and programming environment on another computer. I didn’t have to waste energy powering up more devices or waste precious bandwidth between multiple machines.

As I worked with this setup, I noticed the screen, though large, had lower resolution than my MBP’s retina display screen. I was stymied on how to do a 3 finger swipe with a mouse. After a while I unplugged all the peripherals and went back to just using my MBP as is.

I had resisted the prevailing notion that the desktop was dead. Having gone through the denial phase, I am now ready for acceptance. The desktop is dead, long live the desktop.

EP Studios Status Report

Return to Paris
Return to Paris

I’ve been a bit lax on the social media front recently.  In fact, there are some days that I forget that there is such a thing as social media — that is, if it were not for my phone’s frequent pinging and buzzing to remind me of its existence.  Truth is, I’ve been busy with other matters.

My wife and I just finished moving the contents of our condo in Louisville, Kentucky (a.k.a. EP Studios, Eastern Headquarters) back to Colorado.  This was a major undertaking.  We were in Louisville over the Thanksgiving holiday, but had to spend our 4 day stay packing up our stuff in boxes.  We then had to drive back to Colorado in time to beat the moving truck.  We have been unpacking since then, with only a few boxes left to go.  Sadly, there was no time during this hectic visit to Louisville to visit my old friends there.  We’ll be back though, as my son and 3 grandchildren live there.

We’ll be returning to the European Headquarters of EP Studios in Paris, France for another 6 month stint in January.  There are a host of projects that I will be working on there, in between classes at Alliance Française, visits to art galleries, and glasses of wine.  I have a backlog of blog topics that I need to write about.  Probably fewer of these posts will be on medical topics, for reasons I have already explicated.  As I get further into my retirement, I feel less like a doctor and more like a human being (sorry, just a joke!  Hopefully a false dichotomy!).  On the programming front, I will be updating the EP Coding app with the new 2015 CPT codes.  I have already updated both my medical apps to use Android’s new Material Design theme.  I am also working on a simulator app based on Edward E. Smith’s Lensman books.   There are also a number of hush-hush top secret projects in their early stages here at EP Studios.

Gigliola Cinquetti and composer Domenico Modugno in 1966
Gigliola Cinquetti and composer Domenico Modugno in 1966

On the writing front, I have not been completely non-productive (I believe a legal use of a double negative, or maybe French is corrupting my English).  Here is a post I wrote for the Chicago Schlager Music Review on singer Gigliola Cinquetti.  If you don’t know what Schlager means, it is German pop music.  It’s one of my interests though admittedly not a very well known musical genre in America.  It’s big in Germany and the Chicago Schlager Music Review is a great introduction to this type of music.

As any regular reader of my blog knows, I like posting on non-medical topics and will continue to do so.

Happy Holidays!

Retrofitting Material Design to Pre-Lollipop Android

lollipopAndroid 5.0 Lollipop comes with a complete makeover of the Android user interface. Called Material Design, the new UI replaces the old Holo Light and Dark themes used since Android 4.0. Continuing a trend that started with Microsoft and the flat tiles of their Modern UI, later adapted by Apple with iOS 7 and 8, Material Design flattens out the elements of the UI, though not completely. Instead the UI replicates the illusion of pieces of paper sliding over surfaces within the device, and does so by the subtle use of tinting and shadows. Material Design is more than this: it includes brightly colored elements, logical transitions and other features.  Google is attempting to develop precise guidelines for UI design that can extend from small phones, to desktop computer screens.  The philosophy of Material Design is laid out here. The full panoply of Material Design is only available on the just released Nexus 6 and Nexus 9 devices, though it should come to other devices eventually (soon?). Nevertheless, Google has provided a glimpse of Material Design over the last several months by releasing revamped versions of their standard apps like Gmail and Newsstand with Material Design themes.  Now it is finally possible for developers to create versions of their own apps using some but not all features of Material Design. Google now supplies the appcompat-v7:21 support library to accomplish this.

I decided to upgrade my app EP Coding to material design. The app is based on the master-detail template included with the Android SDK, and uses an ActionBar (the menu bar with icons and text at the top of the screen). If you are designing apps only for Android 5.0 and higher, or if you don’t care about using Material Design in older versions of Android, you can continue to use the ActionBar by just having your theme in the res/values-v21 directory derive from one of the new Material Design themes, such as Theme.Material.Light.DarkActionBar. However if you want to use a Material Design theme for pre-Lollipop Android, then you can’t use the built-in ActionBar. Instead you must use the new Toolbar widget that is included in the AppCompat library. The Google docs proclaim how much more flexible the Toolbar is compared with the old ActionBar. Unfortunately with flexibility comes extra work.

It is necessary to include the Toolbar in each layout in which you want to use it as an ActionBar. The master-detail template used in my app makes heavy use of fragments, so it was necessary to make some major changes to my layouts in order to use the Toolbar.

The first step is derive your app theme from a non-ActionBar Material Design theme. You don’t want your Toolbar colliding with the old ActionBar. Thus in themes.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <!-- Application theme. -->
 <style name="AppTheme" parent="AppTheme.Base">
 </style>

 <style name="AppTheme.Base"
parent="Theme.AppCompat.Light.NoActionBar">
   <item name="colorPrimary">@color/primary</item>
   <item name="colorPrimary">@color/primary</item>
   <item name="colorPrimaryDark">@color/primary_dark</item>
   <item name="colorAccent">@android:color/black</item>
   <item name="android:windowNoTitle">true</item>
   <item name="windowActionBar">false</item>
 </style>
</resources>

Note that here we also define some colors for the ActionBar Toolbar. colorPrimary is the color of the Toolbar, and colorPrimaryDark is the color of the status bar above the Toolbar (the bar with notifications, the time, number of bars, etc.). It is actually only colored on Android 5.0, and remains black on pre-5.0 Android. colorAccent is used to highlight text and checked checkboxes and radio buttons (but see further below).

I defined the Toolbar in a separate file, and then included this in the layout files when needed. The Toolbar:

<?xml version="1.0" encoding="utf-8"?>
 <android.support.v7.widget.Toolbar
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/toolbar"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:background="?attr/colorPrimary"
 android:elevation="4dp"
 app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
 app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
 tools:ignore="UnusedAttribute" />

I wanted the equivalent of Holo.Light.DarkActionBar, so the toolbar uses the ThemeOverlay.AppCompat.Dark.ActionBar theme. The app:popupTheme style used here ensures the text and icons on the Toolbar are white instead of black. It seems redundant, but the android:background has to be defined as the colorPrimary here, despite it being defined in the theme. Finally I set an elevation for the Toolbar of 4 dp, which is what the Material Design guidelines suggest for ActionBars/Toolbars. This casts a small shadow below the Toolbar, giving it a 3D look. Unfortunately this attribute is only used in Android 5.0, and is ignored otherwise.

In the master-detail template in my app there are two main components: a list view of procedures which is used to select an individual procedure. The detail view shows the details of the billing codes for the procedure. On a phone the list appears full screen and is replaced by the detail screen when a procedure is selected. On a tablet, the list appears along the left border, and the details appear on the right side of the screen. The procedure list and procedure details are therefore not implemented as Activities, rather they are Fragments that can either be included in a layout alone as an Activity (for phones) or combined into two views in the same Activity (for tablets). The original procedure list fragment looked like this:

<?xml version="1.0" encoding="utf-8"?>
 <fragment
    android:id="@+id/procedure_list"
    android:name="org.epstudios.epcoding.ProcedureListFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginRight="16dip"
    android:layout_marginLeft="16dip"
    tools:context=".ProcedureListActivity"
    tools:layout="@android:layout/list_content">
 </fragment>

In order to use the Toolbar, it is necessary to turn this into a LinearLayout containing the Toolbar and the Fragment. The Activity displaying the list can then use the entire Activity (for a phone’s screen) or just the Fragment (for a tablet’s screen). Note that the Toolbar is included using the <include> tag.

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_height="match_parent"
 android:layout_width="match_parent"
 android:orientation="vertical" >
 <include layout="@layout/toolbar" />
 <fragment
   android:id="@+id/procedure_list"
   android:name="org.epstudios.epcoding.ProcedureListFragment"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:layout_marginRight="16dip"
   android:layout_marginLeft="16dip"
   tools:context=".ProcedureListActivity"
  tools:layout="@android:layout/list_content">
 </fragment>
 </LinearLayout>

In order to use the toolbar, the Activity class has to extend ActionBarActivity (which is a subclass of FragmentActivity). You set the Toolbar as the ActionBar by code like the following:

protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_procedure_list);
 Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);
}

After this, the Toolbar will behave like the ActionBar.

There are some other nuances, however. I had trouble get my SearchView to work. This was corrected by referencing the support Searchview in my menu.xml file. Note also that you must define an app namespace, and use this namespace, not the android namespace for defining the actionViewClass and showAsAction.

<?xml version="1.0" encoding="utf-8"?>
 <menu xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto">
<item
 android:id="@+id/search"
 app:actionViewClass="android.support.v7.widget.SearchView"
 android:icon="@drawable/ic_search_white_24dp"
 android:orderInCategory="10"
 app:showAsAction="ifRoom|collapseActionView"
 android:title="@string/search_title">
 </item>
 <item
 android:id="@+id/wizard"
 android:icon="@drawable/ic_directions_white_24dp"
 android:orderInCategory="90"
 app:showAsAction="ifRoom"
 android:title="@string/wizard_title">
 </item>
 ...
 </menu>

I also had trouble implementing my PreferencesActivity. Rather than go into detail, this post on Stackoverflow shows how it is done. You can also checkout the source code of my app at GitHub.

The old icons look clunky with Material Design. Android has released a complete set of standard icons, including ActionBar icons, that are very useful.

Finally not everything is perfect with backporting Material Design to “old” Android. I had one particular vexing problem with tinting of checkboxes. The AppCompat support library is supposed to use the defined colorAccent to color checkboxes when checked. However most of my checkboxes were being colored black instead of the light blue of my colorAccent. Worse, the checkboxes in my Preferences Activity were being colored blue as they were supposed to be. Worse still, when I went from the Preferences Activity back to one of my my detail screens, some of the checkboxes would be tinted blue and some remained black. For example:

device-2014-11-11-224026

It turns out the AppCompat tints the checkboxes after they are drawn, but only checkboxes that are in a layout. The checkboxes on my screen were all created via programming, so they were not tinted. But, when I went to the Preferences Activity, Android must behind the scenes save the layout of the previous screen. When that screen returns, AppCompat is able to tint the checkboxes, though the newly checked ones after that revert to black. (At least that’s my theory as to what’s happening.) Ugh! Hopefully an update will fix this issue. For now, I set my colorAccent to black to avoid having multicolored checkboxes in pre-5.0 Android, and set colorAccent to blue for Android 5.0.

Wrap-up

So the end result is something approaching Material Design on current Android devices (I’ve yet to see Lollipop up and running on a real device). It is not easy converting from the ActionBar motif to Toolbars. Android documentation could be better — a lot better! Many of the Android online documents still retain instructions pertinent to the old Holo themes which is confusing. There are a lot of subtleties and poorly documented techniques that make it difficult to realize Google’s goal of “Material Design Everywhere.” But at least I’ve got the transition done on one of my apps. Now on to the next!

Weekdays with Maury

The Maury Povich Show
The Maury Povich Show

When I was working I never watched daytime TV. Even now I don’t watch much TV, usually just some news shows. Nevertheless recently I had occasion to watch some daytime television and I happened on the Maury Povich Show. Disobeying my better instincts to change the channel, I spent some time watching it, and the similar show that followed, the Steve Wilkos Show. I found both shows disturbing but oddly fascinating, probably the same mixture of emotions that kept the Roman peasants coming back to the Circus Maximus to watch people being torn apart by lions. Here on TV I was watching peoples’ lives being torn apart in a horrifying if less bloody fashion. Though I was disgusted with myself for watching, it was hard to turn it off.

If you are not familiar with the concept of these shows, it is rather simple. There is a woman, her child, and a boyfriend or spouse. The paternity of the child is in question. Rather than attempt to answer this question in private with DNA testing, the involved parties come on TV where they tell their stories and usually end up yelling at each other, accompanied by whoops, cheers and jeers from the studio audience. The moderator, Maury or Steve (Jerry Springer I believe was the first to have this kind of show) asks questions and makes some token attempt to keep the “contestants” in line, though a few thrown chairs and bleeped-out cuss words are par for the course and add to the drama. Finally the truth is revealed, both by the results of lie detector tests that the warring parties have taken before the show, and ultimately by the DNA test. At that point the man who thinks he is the father of the child finds out either he really is, or that his wife cheated on him and the kid isn’t his. There are variants on this theme, such as the freeloader who doesn’t want to support a child but finds out it is his kid after all, or the black couple with the light-skinned baby who everyone knows can’t be from the husband but the husband refuses to believe it until the DNA results come in. After the denouement there is a lot of crying or screaming or both. And then on to the next story.

Is this exploitative? Is the Pope Catholic? I did not watch long enough to prove this, but from what I watched and what I have read these shows have on poorly educated, low-income, often black couples who behave in a way that reinforces all the negative stereotypes we have of poor uneducated people. I don’t know why they come on the show. Sure they get a free DNA test, but at the cost of exposing the most private secrets of their lives to the world. The fact that they are willing to do this makes their participation even sader and more pathetic. But worse by far are the people who created the show and decided to exploit them in this way.

Back in the 1950s when I was growing up there was a show called Queen for A Day. Women would come on the show and tell stories about how they had lost all their money or had a handicapped child and couldn’t afford medical treatment. Using an applause meter, the audience would vote on which story was most pathetic. The winner was dressed in a royal robe and received her prize, often something like a washer-dryer. An awful concept for a show, but no worse than what’s on daytime TV now.

After Maury’s show was over, the nearly identical Steve Wilkos Show came on.  A couple was introduced. Two young black people, who had a son 5 years old. I’m not sure if they were married, but I think they were and it’s easier to write their story as if they were.  In any case they had been together for over 5 years and the man considered the son his. But he wasn’t sure. The wife, at about the time the child was conceived, had gone to a party where she claimed she was drugged and raped. She said she awoke in the hospital the next day not remembering anything and was told she had cocaine and Ecstacy in her blood. She did not press charges. The husband was concerned that the child was not really his. He said he loved his son but really wanted to know if he was his and whether his wife was telling the truth. As usual on the show, the two spent some time hurling accusations back and forth to the delight of  the studio audience, and it looked like there wasn’t going to be much holding this relationship together if the DNA test didn’t come back the right way.

After a dramatic build-up (and several commercials), the results of the testing were delivered in a sealed envelope. The lie detector results were first. The woman had been telling the truth when she said she had awakened in the hospital with positive drug tests the morning after the party. But she had lied about being involuntarily drugged and raped. She had taken the drugs voluntarily and had “hooked up” with a guy at the party voluntarily. As the woman started breaking down on being confronted with these facts, the host, Steve Wilkos, read the results of the DNA testing. The man who had been with this woman for over 5 years and had served as a father to her son, was indeed NOT (emphasis per the show) the biological father of the child.

This sent the wife running in tears backstage. But the husband, who had every reason to be disappointed and angry, did the unexpected thing. He ran after his spouse, followed by the cameras. He hugged his wife and comforted her, repeating “we’ll work it out. We’ll work it out.” And all the time the camera focussed in on this most private, human, touching moment.

I turned off the TV, feeling guilty at witnessing such a private moment, but at the same time uplifted by the capacity of humans to forgive, to love. I guess this is the essence and attraction of reality television. While exposing a lot of the bad side of humanity, it occasionally surprises us by showing us the good lying at the core of some people. But it’s strong stuff, even gut-wrenching, and fundamentally voyeuristic. Not my cup of tea.

Can Writing About Medicine Change Medicine?

I’m getting to the point where I think it might be time to stop or at least decelerate the pace of my writing on medicine. When I retired from medical practice almost a year ago there were a lot of pent up experiences that I felt a need write about. But now I have already written about almost everything that I wanted to and, as I am no longer a practicing physician, I lack the ongoing experiences and frustrations of day-to-day medical practice to replenish the store. Moreover I am having a growing sense of futility when writing about medicine.  Can writing about medicine change medicine for the better?  Is anyone listening to physicians’ voices?  Or are we all just grumbling to each other?

How many posts bashing electronic health record (EHR) systems does one need to read (or write)? I’m certainly not the only one writing on this topic.  Criticism of EHR systems is very popular amongst physician bloggers nowadays.  I hope someday the shear quantity (and quality) of these posts reaches a critical mass that results in the EHR companies paying attention and making some changes to their products — but I’m not holding my breath. Similarly a large number of physicians rail against the current Maintenance of Certification (MOC) process, yet I see no indications that anyone who can change MOC is listening. The negative effect of the Great Hospital Buy-Out of Physicians of the last decade is also a favorite topic, as are increasing regulations, the hegemony of insurance companies, and countless other annoyances, but what is the use of grousing about all this if no one is listening but our fellow physicians?

Despite voicing our concerns online, we physicians don’t seem to have a voice where it counts — politically.  We don’t have effective representation. Societies that are supposed to represent physicians such as the Heart Rhythm Society, the American Heart Association or the American Medical Association are beholden to groups other than physicians, i.e. drug and device companies — the same drugs and devices that they publish supposedly objective guidelines about. These medical societies also are in bed with the American Board of Internal Medicine, the progenitors of endless board recertification and MOC, and indeed have a nice side-business going on providing expensive board-review courses to prepare for these tests.  Corporate funding of these societies ranges from 20 to 50% of their total revenue (see here, here and here). Go to any big national meeting of these societies and wander through the acres of exhibits. Some of the exhibit booths are bigger than the home in Philadelphia that I spent my first years in. These glittery exhibit halls reek of money. Every time the pharmaceutical companies complain that they have to charge so much for their drugs because of the cost of R & D, I  recall these lavish exhibits as well as the constant TV commercials for erectile dysfunction products and drugs for quasi-diseases like short eyelashes.  It makes me sick! (Ah! New syndrome: TV drug commercialosis!) Money is power in politics, and physicians, despite being perceived as rich and even overpaid by the general public, are low down on the money totem pole compared to other facets of the health care system.

I’m not trying to be pessimistic, just realistic.  Yet if writing is the only weapon we have, what choice do we have but to continue to use it, blunt instrument though it may be?  The growing multitude of physician-bloggers and physician-commenters will continue to write, will continue to fight for changes in EHR systems, recertification requirements, and health care policies. Maybe we’ll get lucky and someone holding the purse strings will be swayed and do something to make the lives of physicians better. Possibly the decision-makers will come to realize that if our lives are better, our patients’ lives will be too. That’s important because everyone, whether politician, hospital administrator or EHR corporation CEO, will sooner or later be a patient in need of a good doctor.