The internet is awash with nonsense and people that really want to be heard. That's not exactly the case for me and I'm not planning on adding to the nonsense. I've spent too much time working on websites for other folks to really concern myself with my own. However, I've grown really tired of communicating using third party websites and I wanted to use this as a way to archive any notes, ideas, or anything I want to share. Right now, this site is clogged up with lots of old posts about mostly computer related ramblings, but I'll clean that up over time.

I mostly leave commenting off, but please feel free to contact me if you have any feedback on a post. And if you're looking for something in particular:

David A. Windham

The Writers Almanac

For the last ten years or so, I start almost every weekday morning with a cup of coffee and my feed reader. The first subscription I used to open every day was The Writers Almanac 1. I thought about it again this morning. I really enjoyed listening to it and I miss it. It was cancelled in December of last year.

The Writers Almanac webpage just says 2:

MPR has ended our contract with the company that owns the rights for production and public distribution of The Writers Almanac and MPR no longer has the rights to post the archives. MPR is proud of its 25 years of work, highlighting the art of poetry and the work of so many talented artists. Please check this page periodically on the chance we can direct you to the online archives. Thank you for enjoying the series. We appreciate your listening, reading and support.

I certainly don’t know Garrison Keillor 3 personally, but I feel like I do having listened to hundreds of episodes. I seem to believe the quote from the New York Times article 4:

“I put my hand on a woman’s bare back,” he wrote. “I meant to pat her back after she told me about her unhappiness and her shirt was open and my hand went up it about six inches. She recoiled. I apologized. I sent her an email of apology later and she replied that she had forgiven me and not to think about it.”Mr. Keillor claimed that they continued to be friends “right up until her lawyer called.” He insisted his discomfort with physical affection was common knowledge, adding, “If I had a dollar for every woman who asked to take a selfie with me and who slipped an arm around me and let it drift down below the beltline, I’d have at least a hundred dollars.”

Anyway, I hope the Poetry Foundation 5 can come up with a replacement. If anyone knows of any other sites that feature a daily audio reading of poetry, please let me know. It’s something about the short audio clip where I can generally surf through a couple other things as the birthdays and writer were being introduced before settling back for a small moment of mediation on the poem. I think I’ll leave the last three unread Writers Almanac items in my reader until I find a replacement.

7/14/18 – UPDATE: In April of this year Garrison started hosting his own version on his website6 and Minnesota Public Radio has reached an agreement with Garrison Keillor to restore free public access to the online archives of A Prairie Home Companion and The Writer’s Almanac. I’m unsure why it took me four months to catch on, but I’m happy to have it back.


David A. Windham

2017 Monthly Playlists

Happy New Year. I think I’ll post more here this year (I say that every year). As I’ve done for the past three years, I’ve managed to make a music playlist for every month except January and July last year. I think January is usually filled up with me listening to the year end album reviews from other folks but I’m managing to make a January list this year. I generally try to only include new releases for each month. Sometimes this will include reissues and remastered releases from that month. I keep statistics on my listening habits at and I occasionally invite folks for some live sessions at If you see anything missing I might like, please let me know.

2017 Top Tracks











David A. Windham


Monarch Butterfly

These are some butterfly images I’ve taken around our Buddleja davidii (butterfly bush). It’s a really nice plant to have around the yard because of how many hummingbirds, butterflies, and other pollinating insects it attracts.

David A. Windham

Physicians Directory

I recently published a physicians directory system I built for a local hospital system. They wanted to migrate away from a proprietary system they had been using and they wanted it to be integrated into their other websites which had been built on WordPress. I’ve built a number of custom content management systems over the years using WordPress, so it was a relatively straight forward build using custom post types and taxonomies. The directory provides an easy way for the hospital system to manage practices, providers, and practice specialties online. They have several hundred providers and fifty or so practice locations. I used the provider as the root custom post type since the other taxonomies would be tied to a provider. The built in WordPress taxonomy and post functions allows users to query by physician, location, or specialty.

On projects like this one, I’ve developed a series of functions that essentially strip all of the unused parts of the WordPress content management system out, so that the user experience is greatly simplified. It helps the admins get a handle on learning to use the system. In this case, in order to manage the data, they only need access to the media library, physician post type, the location, and specialty taxonomies.

The custom taxonomies for the practices and provider specialties also gave me the chance to work with the Term Meta functions introduced in WordPress version 4.4. Using term meta really improves the extensibility of taxonomies in WordPress. Previously I would have had to use Drupal or a custom built content management system to accomplish something like this. Here’s an example of an address field using term meta for the custom location taxonomy.

add_action( 'init', 'srh_register_location_address' );
add_action( 'location_add_form_fields', 'srh_new_term_address_field' );
add_action( 'location_edit_form_fields', 'srh_edit_term_address_field' );
add_action( 'edit_location', 'srh_save_term_address' );
add_action( 'create_location', 'srh_save_term_address' );

function srh_register_location_address() {
    register_meta( 'term', 'address', 'srh_sanitize_text' );

function srh_sanitize_text_address( $address ) {
	$address = sanitize_text_field( $_POST['srh_term_address'] );

function srh_get_term_address( $term_id ) {
    $address = get_term_meta( $term_id, 'address', true );
    return $address ? "{$address}" : $address;

function srh_new_term_address_field() {
    wp_nonce_field( basename( __FILE__ ), 'srh_term_address_nonce' );

function srh_save_term_address( $term_id ) {
    if ( ! isset( $_POST['srh_term_address_nonce'] ) || ! wp_verify_nonce( $_POST['srh_term_address_nonce'], basename( __FILE__ ) ) )
    $old_address = srh_get_term_address( $term_id );
    $new_address = sanitize_text_field( $_POST['srh_term_address'] );;
    if ( $old_address && '' === $new_address)
        delete_term_meta( $term_id, 'address' );
    else if ( $old_address !== $new_address )
        update_term_meta( $term_id, 'address', $new_address );	

One way I significantly speeded up the development time was by using the Custom Meta Boxes plugin instead of building out each of the fields for the physician custom post type. It’s a solid framework that’s a real time saver. The only other dependency I used in the project is Taxonomy TinyMCE to convert the plain text fields for the practice (location) taxonomies. This allows the admins to essentially have an editable page for each of the location taxonomies.

As is usually the case in projects like this, as the developer I work with the agency on revisions and changes as administrators begin using the system. For this project, I worked with a fella named Andy Johnston, who did a great job with the meetings and project management. I built the initial project in under 40 hours. For me, the most rewarding part of projects like this are the technical challenges of building a custom system to accomplish specific goals and I sincerely get a kick out of tackling those challenges. My initial demo is available at and the project site is available online at

David A. Windham

Lemon Tree

Lemon Tree

I just noticed that the Sorrento citrus limon tree I’ve taken care is finally putting out fruit. I remember the guy at the greenhouse where I picked it up saying “good luck with that”. Lemon trees can’t really survive below 45°f and I’ve been dragging this fella in and out of the house over the last five years. It was about a foot tall seedling when I got it. I tried to kill it the first cold day of fall, but I nursed the dead branch until spring and got another offshoot. It’s now about six feet tall and I trim it occasionally to try to keep it short.

David A. Windham

It’s Electric

We got a new car a couple weeks ago. It’s an electric BMW i3 1. and we nicknamed it ‘toasty’. In an attempt to humblebrag, I’d say my main motivation for sharing my experience with it, is that I think everyone should drive electric cars. I have a buddy who’s a car guy and he said to me “I didn’t think you’re a – green – guy” to which I responded “it’s not just about being green”.

I recently read that Britain and France will both ban the sale of all Gasoline and Diesel automobiles by the year 2040 2.. Norway kinda spurred the issue when they said they would heavily tax fossil burners by 2025 3. and India is shooting for 2020 4.. Volvo announced they will only produce electric vehicles by 2018 5.. Meanwhile in the U.S. we’re in the process of… I won’t go into it, but I will say you don’t have to be ‘green’ (or a science denier) to consider driving electric. It’s safe, it drives great, it’s quiet, you can ‘fill er up’ in your garage, it’s comfortable, and it can be a good value for transportation.

What does ‘green’ mean anyway? Yeah, I know… we recycle, compost, and are generally considerate of the environment regarding our actions and purchases. Regardless, we put a lot of other considerations into this purchase that just make sense on so many other levels that I thought I share those that may be making the same decision in the coming years. We started looking for this car about eight months ago. We finally found a lease trade in with under 8,000 miles on it. We have two other vehicles, a 2014 BMW 328d Touring and a 2004 Nissan Frontier Pickup Truck. The truck… well because I can’t seem to get rid of it and everyone needs a truck. It’ll easily run another 100,000 miles of dragging a trailer, picking up mulch and random DIY stuff from the hardware store. The wagon is a diesel and I had been following along closely on the diesel-gate issues with Volkswagen when we started considering electric options. The main issue we have is that is much as we’d like to think we’re out on the highways getting 50mpg @ 80mph with a 500 mile range between fueling, we were starting to rack up the miles just running around town and we want to preserve the wagon for our road trips because it’s perfect for just that.

And now we’ve found the perfect ride for around town. Anytime I take someone for a ride or let them drive it, they are always smiling. For those of you whom never driven or ridden in an electric vehicle, do yourself a favor and go test drive one. This car is roomier and drives better than any other car I’ve ever owned. It took just a couple days of getting used to while driving. It’s one pedal driving. When you remove your foot from the gas it decelerates to regenerate power. It’s great in that I rarely every use the brakes anymore. I installed a 220v charger in the garage and it only takes 3 hours for the full 100 mile change. It’s the REX model and has a little scooter engine to extend the range another 100 miles if needed. I ran it dry one time just to test it out and I’m guessing we’ll ever use it, but it does give you a little comfort if you’re stretching it on a day trip. I pegged it at the top speed one afternoon to see how it handles it and I’m completely comfortable on the interstate with it. The acceleration in the 40-80mph range is superb. What I like most is how connected I feel while driving it. The windows are huge and it’s quiet. There is something about pulling into a parking lot or out of our driveway without any noise. It just one less jarring thing in your life. Honestly, I haven’t yet found one single complaint about the car and I’d recommend anyone who’s even slightly considering to take the plunge.


David A. Windham

Today I Learned

Today I learned that Google will translate to and from Zulu (

I believe that the words “Ubuntu” and “Mongodb” triggered this translation offer. My page is referring to the database and computer operating system and not the Zulu philosophy of a universal bond of sharing that connects all humanity. (

While working on another project yesterday afternoon, I ran into set of documentation ( that I spent a lot of time reading and will likely forget about sometime soon after I abandon using the library in other projects. Of course I stuffed a bookmark of the documentation into my quasi organized set of chrome bookmarks based on each project, but the fact that the documentation was hosted using Gitbook, reminded me of a practice I’ve seen others do.

One of the best sub-reddits is TIL and other organizations have published thier own TILs ( & . I figured that since I spend most of my working time with the terminal, git, and text files, a more efficient and easier method of documenting the time I spend reading other documentation would be to build my own gitbook TIL. This way the information I acquire will be easy to record, search and edit.

I’m often searching online documentation for answers to commands, configurations, and error messages. The problem is that I’ve found myself repeating those searches because of the breadth and depth of the amount of functions and libraries involved in development. My wife suggested I call it TIHIDI (this is how I did it) after explaining what I was working on. It makes sense to put my daily explorations into this publication in lieu of publishing them in the database of my main site because Gitbook is quicker, easier to search, and I can keep all the files in a version control repository on my local machine as well. It’ll help keep me keep my bookmarks as little less cluttered and it’ll leave my desk page free for longer form essays.

Today I Learned –


David A. Windham

Gene Wilder

I’m not exactly sure what it is that I like about Gene Wilder so much. I made a note to myself after he died last year to follow up on trying to explain it. Perhaps it started with his role as Willy Wonka. It really is just that sorta of personality… someone willing to take risks to be absurd. I liked every film role he ever played. He starred in my father’s favorite movie: Blazing Saddles. I liked all of the roles with Richard Pryor at his side, but my absolute favorite was Young Frankenstein.

One of the most interesting things I’ve ever found out about him is why he preferred comedy. When he was about seven or eight, his mother had a heart attack and the doctor spoke with him and said “don’t ever make your mom mad because she could die. You can make her laugh though”. 1 I think that simple attitude is what carried him forward. Gene was an accomplished actor, but most importantly to me, he was a master of the comedic pause. The faces and timing he made were spot on.

I know that he died of complications from Alzheimers, but personally I think the death of his wife Gilda Radner in 1989 is when he stopped participating in film.

“I don’t like show business, I realized,” he explained. “I like show, but I don’t like the business.” – 2008 Turner Classic Movies special, Role Model: Gene Wilder2

He did so few roles in the 90’s, but he wrote and painted watercolors. I’ve never read any of his books, but I think I’ll order one today. Goodbye Gene. RIP [ Jerome Silberman (June 11, 1933 – August 29, 2016) ]

1. – 1984 Terry Wogan Interview

David A. Windham

The Simpsons


I shot this video of the rain yesterday morning. It’s been raining for a couple days now. We really needed the rain. We’ve been in a drought and wild fires have been burning in the southern Appalachian mountains. Rain seems to slow everything down and I took a post-holiday break these last couple days to wind down. The reason I shot the video is that I had my tablet in my hand because I’ve recently found myself playing The Simpsons: Tapped Out quite a bit.


I’ve also been meaning to write something about The Simpsons for a long time. The game and a Thanksgiving promotion of all the episodes back to back reminded me. I’m an avid fan of The Simpsons. Always have been, ever since I watched the first episode. It started in 1987. Yup, that’s pre-Simpsons. I was 14 and at the mall with my brother and mom when I spotted School Is Hell at the book store. I guess the title piqued my interest and I bought it. The book was part of a comic strip that Matt Groening self published entitled Life is Hell. He described the comic series as “every ex-campus protester’s, every Boomer idealist’s, conception of what adult existence in the ’80s had turned out to be.”2 I read and loved that comic book. The sarcasm, wit, and dry sense of humor made it feel like something really unique to me.

I watched the first episode of The Simpsons in 1989. I got a t-shirt with Bart on the front imprinted with the words “Underachiever. And Proud of It Man!”. It’s from season 2, episode 1 – “Bart Gets and F”. The school psychologist says “of what laymen refer to as “fear of failure.” As a result, Bart is an underachiever, and yet he seems to be proud of it.”3 It was an effort to catch all of the early shows, mind you these were pre-Tivo days and the episodes ran directly opposite of The Cosby Show, which my father had on in the living room. I actually watched the shows on this tiny black and white television I had in my bedroom. I remember trying to get my father to switch over the living room TV and him replying that he ‘just couldn’t get into animation’. I watched them all regardless and I’ve seen every episode since then for the last twenty-six years.

Which is why I like playing this little game. They’ve taken the time to story-line every little bit of dialogue between characters. The voice track is spot on and the game cites episodes for each property. The game play is slow and could be described as city building, but It’s almost like reading a book. Every new character unlock is fun. It’s almost like playing a ‘Choose Your Own Adventure – Life is Hell‘ comic.


Although my classmates didn’t exactly share my enthusiasm after seeing my t-shirt in 1989, I think anyone can agree now that there is some substantive value to the show. The writing and character development are brilliant observational social commentary written and performed by a tremendous group of talented folks. The guest list is phenomenal5, and the accolades are extensive. To me, It is unquestionably one of the greatest pieces of American art and popular culture.

You might say that The Simpsons are postmodernism, being skeptical of ideologies, acknowledging that truth is a product of a social, political, and historical systems. Here’s a screen shot I took of a recent episode Trust but Clarify which seems to indicate just that.