Desk

The internet is awash with nonsense and people that really want to be heard. That's not entirely 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, questions, or just want to say hello.
Thanks for visiting,

David Windham Signature Who Needs a Computer Anyway?
David A. Windham

Richard Ayoade: A Catcher in the Rye

My wife and I just finished watching all of the seasons of Richard Ayoade’s1 Travel Man2. In one episode we were watching he mentions that he’s half Norwegian which peaked our curiosity and we asked “what’s her name” to “Wikipedia Richard Ayoade”. I’ve started the habit of referring to Alexa or Siri as “What’s her name” so as to not summon any additional eavesdropping. I’m a fan of Ayoade. Although I’d taken note of him in The Mighty Boosh3, I didn’t really pay particular attention to him until watching The IT Crowd4. I now go out of my way to find other work he’s involved in because of his dry wit, intelligence and self deprecation.  It’s a particular kind of personality I gravitate towards. He always looks at the camera with a bit of skepticism and it’s hard to find a photo or video of him in which he isn’t. 

The article from which the image above was republished5, written by Ayoade is spot on for my interpretation of casting Ayoade as Holden Caulfield6. He includes Holden as a footnote and cites many of the best anti-heroes giving the most attention to my favorite – Max Fischer from Rushmore7. After having “what’s her name” solve our speculation about Ayode’s background, I got up this morning and started reading various things about him. I won’t rehash any biographical material because you can read the Wikipedia entry on him. Aside from the Cambridge education, the law degree, and a screenplay based on a Dostoyevsky novella…there’s a Radiohead tribute video he made back in 2016:

( via: https://www.instagram.com/p/BGwhZRbqyt-/ )

I think the video above is really indicative of Ayoade’s attitude. It was made for the song “Tinker Tailor Soldier Sailor Rich Man Poor Man Beggar Man Thief8. The song lyrics explore a dark theme of based on children’s nursery rhyme Tinker Tailor9. Ayoade’s little vignette has businessmen all jump to the side of the road like startled deer. It reminds me of a darker version of something that John Cleese10 might have written for Monty Python11.  

The one thing that really resonated with me, and the reason I was motivated to write this essay,  was this quote from an interview: “I was so obsessed with The Catcher In the Rye that I started to dress like Holden Caulfield”. It stuck with me because I continually run across references to J.D. Salinger’s A Catcher in the Rye12 where I try to remanence on exactly what it was about that book that I so deeply connected with. I’ve gotten in the habit of researching my past experiences to try and uncover clues about myself. My essay about E.T.13 several years back is a good example.  I can’t remember when I first read Catcher. Shortly thereafter I went to the bookstore and bought every book he wrote and read them all. I’m not an avid reader so it’s pretty rare incidences that I’ve done that. I’m still not sure why, which may be the primary motive for researching it this morning. Perhaps it may have just been my mindset during the years I read it and maybe I’ll have to read it again in an effort to understand.

I’m not the only one. There are countless essays and research on A Catcher in the Rye. I think I’ve brushed through some of them in the past in attempt to explain my interest. If you want a deeper dive on it referencing other critical works, I’d suggest reading a piece by Gis Jen14 re-published in The New Republic15. A more recent piece from Dana Czapnik16 suggests that if I re-read it, I might “You might see Holden for who he really is. Not a stand-in for every single teenager that ever walked the Earth, but a lonely individual who finds the injustices of the world intolerable.” Alfred Kazin17, among other critics, took the harsh view, characterizing Salinger’s audience as “the vast number who have been released by our society to think of themselves as endlessly sensitive, spiritually alone, and gifted, and whose suffering lies in the narrowing of their consciousness to themselves.” Reading these other reviews morning has made me wonder about my supposed connection. I’m guessing that I most likely reminisced on something I had a previously only understood in a very narrow sense.  

Richard Ayoade has accomplished exactly what he wanted. He is a modern version of Holden Caulfield. He is overly sensitive, self deprecating, doubtful, sarcastic, sardonic, alienated, crude, and implies that he may be misunderstood. At least he’s projecting that image. In interviews he seems to echo sentiments that Holden would have. He mentions that his parents did not approve of his theatrical studies. In a rare interview Salinger explained that Holden was semi-autobiographical. Don’t we all project a little bit of who we’d like to be. Why am I connecting and why do I find his character or personality so charming? It’s evident I’m not the only one considering the successes he’s having. I would argue that Ayoade unlike Holden, who some consider the ‘avatar of American authenticity’, has a personality more akin to our modern world. Is his tone symbolic of an undercurrent of a collective attitude that is changing with the times? Even if my take on Catcher in the Rye was somewhat narrow minded, I like Ayoade. I’m interested in ordering “Ayoade on Ayoade: A Cinematic Odyssey18 and I’ll continue to track down anything he’s involved with. In true Holden Caulfield fashion, he bored of Travel Man quickly, and he’s on to something else.


  1. https://en.wikipedia.org/wiki/Richard_Ayoade 
  2. https://en.wikipedia.org/wiki/Travel_Man 
  3. https://en.wikipedia.org/wiki/The_Mighty_Boosh 
  4. https://en.wikipedia.org/wiki/The_IT_Crowd 
  5. https://www.theguardian.com/film/2011/mar/12/richard-ayoade-submarine-antiheroes
  6. https://en.wikipedia.org/wiki/Holden_Caulfield
  7. https://davidawindham.com/rushmore/
  8. https://en.wikipedia.org/wiki/A_Moon_Shaped_Pool 
  9. https://en.wikipedia.org/wiki/Tinker,_Tailor
  10. https://en.wikipedia.org/wiki/John_Cleese
  11. https://en.wikipedia.org/wiki/Monty_Python
  12. https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye 
  13. https://davidawindham.com/et-extra-terrestrial/ 
  14. https://en.wikipedia.org/wiki/Gish_Jen 
  15. https://newrepublic.com/article/72860/why-do-people-love-catcher-the-rye 
  16. https://www.theguardian.com/books/2019/aug/01/the-catcher-in-the-rye-fans-jd-salinger-holden-caulfield 
  17. https://en.wikipedia.org/wiki/Alfred_Kazin 
  18. https://www.amazon.com/Ayoade-Cinematic-Odyssey-Richard/dp/0571316530
 
David A. Windham

Late Adopter

I’ve gotten in the habit of taking a little time at the beginning of every year for general maintenance of the machines which I’ve written about several times. I’ve been reading a lot of other opinions on some various technologies recently and I’ve really started to consider why people decide to publishing anything. I’m really having to dig to sort the information from those who have lots of experience and enthusiasm from those who are either getting paid or trying to get paid in the form of self promotion by trying to show off their ‘knowledge’. There’s a lot of bad knowledge out there from the later and sometimes it gives me imposter syndrome as to why I’m publishing anything. Even though I tend to respect the opinions and efforts others, I generally try not to form my own opinion until I’ve had my own experiences by digging through it. As a kid, I liked to disassemble my electronics and either try and put them back together or, as was often the case, leave them in permanent states of disrepair.

I like to tell folks I’m a late adopter. Let everyone one else be the guinea pigs. Sometimes I take it to the extreme like how I refuse to upgrade my smart phone until it’s absolutely dead. I’m currently six years behind on an iPhone 5 and I still use my original version 1 in a nightstand alarm clock. The book Diffusion of Innovations1 was first published in 1962 and first described the process by which an innovation is communicated over time among the participants in a social system. According to that theory, I’d fall into the 34% ‘late majority’ right at the midpoint of the distribution curb. This could explain why my brother liked to call me a poser2 when we first got into skateboarding or how he insisted that I immediately move to Ruby on Rails3 version 1 in 2005 when we first started web development. I’ve found that I’m very much OK being right in the middle of the distribution curve for most anything. It’s comfortable. This may seam counterintuitive for me considering that I’m often responsible for making technology recommendations, but I’ve found that it’s an effective strategy to save money, time, and labor.

While running the annual updates on the machines I use for development, I’ve noticed how much less work was involved on the machines that aren’t configured manually and rely on Homebrew or Docker to create the development environments. With Homebrew4 and Docker5 I’m putting in three commands to spin up entire development environments, whereas I was previously spending countless hours of configuring the system manually and ‘googling’ through every error on Stack Overflow. One of the projects on my plate right now involves reconsidering the hosting for a relatively high volume client. I’m pretty well versed on the scalability and performance of various systems, but I haven’t yet dug too deep into containerization or container orchestration systems because I hadn’t had the need to. I’ve mostly been throwing money at additional hardware as a solution but the quote from a current vendor came back way too high. My proposal for alternatives ended up being services oriented around or managing hardware orchestrated6 by Kubernetes7 from the big three: Amazon Web Services, Microsoft Azure, and Google Cloud. I really don’t want to do any additional system administration or pay for managed services but I also want to avoid the technical debt8 of continually patching system and software upgrades. Although my bread and butter is in custom development, I still feel the need to disassemble these systems so that I have a solid understanding of the full stack.

I’m a late adopter. The idea of Infrastructure as Code9 and cloud orchestration systems has been gaining traction for a long time. I first dabbled with Chef and Puppet quite a number of years ago, but I’ve been mostly constrained to solo DevOps10 and the lack of appropriate production experience with them to have any real solid opinion one way or the other. My upgrades this year are reflecting a change in that process. I maintain quite a number of servers and applications running an assortment of programming languages and databases, many of which are running on different infrastructure. Instead of just trying to keep everything on standard Long Term Support(LTS)11 versions, I’ve been maintaining separate versions of languages and databases on my machines. I’ve decided that the best path going forward is to mitigate the extraneous annual work by using Docker files to create the various environments I need on the fly. This will also give me the ability to keep those instances inline with the upstream12 providers. Because those instances are virtualized, I’ll still maintain a local core of languages and databases in my ‘wheelhouse’. The minimalist purest in me still wants a few moving parts as possible and is opposed to what is essentially server middleware13, but the practical reality is that aside from the fact that I end up spending too much time with configuration. This is really just an extenuation the meaning of ‘convention over configuration’14. And although I’m still kinda sold on Ansible15 because of how simple it is and the fact that it doesn’t consume any hardware resources, containerization orchestration with Docker and Kubernetes is truly helpful with systems of scale.

I’ve now got at least a week of work invested into orchestration systems. I really enjoyed the ease of working with Rancher16. It’s just an outright impressive tool. These newfound skill sets are just enough for me to get what I need and I’m barely scraping the surface. It’s teaching me to focus on what I enjoy doing, which is building functional logic and features for applications. And although these skills really help me to fully understanding the stack, I don’t want to spend a quarter of my time with it because in the end, no one, especially the paying clients, cares how it’s running, just what it does and how well. I’ve been a loyal Linode customer for quite some time and I’m in on the beta of them spinning up a Kubernetes17 Engine. I’m sure to find some real world usage, learn some new skills, and gain a deeper understanding. I’m a bit skeptical of vendor lock in and I’ll wait another couple years to dive completely into the JamStack server-less computing18 trend. I see the value of a single language stack and infinite scaleability. I’m gearing up for it, but I’m still not entirely sold on the idea of purposely building software to capitalize on how the big cloud providers are dictating the use of dirt cheap CPUs or CDNs. Almost all of the ‘server-less’ vendors depend on Kubernetes to provide ‘Function as Service'(FasS)19. These hot ticket keywords are often misleading and confusing. There are still sysadmins in ‘server-less-land’. And although Rancher, Docker, and Kubernetes are essentially the current pinnacle of infrastructure technology, I’m not really in the business of providing cloud services. I’ll let everyone else work that out until a leading strategy emerges. I’m happy right here in the middle of the majority as a late adopter.


1) https://en.wikipedia.org/wiki/Diffusion_of_innovations
2) https://www.wikihow.com/Differentiate-Between-a-Real-Skater-and-a-Poser-Skater
3) https://en.wikipedia.org/wiki/Ruby_on_Rails
4) https://en.wikipedia.org/wiki/Homebrew_(package_management_software)
5) https://en.wikipedia.org/wiki/Docker_(software)
6) https://en.wikipedia.org/wiki/Orchestration_(computing)
7) https://en.wikipedia.org/wiki/Kubernetes
8) https://en.wikipedia.org/wiki/Technical_debt
9) https://en.wikipedia.org/wiki/Infrastructure_as_code
10) https://en.wikipedia.org/wiki/DevOps
11) https://en.wikipedia.org/wiki/Long-term_support
12) https://en.wikipedia.org/wiki/Upstream_(software_development)
13) https://en.wikipedia.org/wiki/Middleware
14) https://en.wikipedia.org/wiki/Convention_over_configuration
15) https://en.wikipedia.org/wiki/Ansible_(software)
16) https://en.wikipedia.org/wiki/Rancher_Labs
17) https://www.linode.com/products/kubernetes/
18) https://en.wikipedia.org/wiki/Serverless_computing
19) https://en.wikipedia.org/wiki/Function_as_a_service

 
David A. Windham

2019 In Music

Well… another year come and gone. I make a new playlist every month that you can find on @ https://open.spotify.com/user/windhamdavid . I try to use only new releases and some re-releases to make up the playlists. I keep track of all of my listening details over @ https://davidawindham.com/studio/music using the Last.fm API @ https://www.last.fm/user/windhamdavid. Year over year since I’ve begun tracking them in 2007, Bill Evans is taking the lead again. There’s a lot of it to go around. Just the Bill Evans recordings posthumously released (Fantasy, Verve, Riverside, Village Vangard, etc) would be about 50 CDs worth or recordings. I really don’t tire of him. There were a newly couple newly recorded albums that stuck out last year. The various ‘music year in review’ articles from other publishers have become a ‘wash’ for me mostly because my taste have gotten crotchety like an opinionated old man. I still like to browse through all kinds of new music, I pay some attention to other curators, and I like to listen to various shows. The music discovery mechanisms have gotten pretty good, but I feel like they suffer the same kind of ‘information silo’ ( https://en.wikipedia.org/wiki/Information_silo ) effect that plagues any other algorithmic driven data. There are some errors in my data because of the way single tracks are pre-released before the albums. I’m kinda weary of the ‘first to market’ approach to releasing single tracks for streaming because I miss the old days of being excited to hear an album in it’s entirety. I’m sure my tastes tend to lean towards my experience… after all I did wake up this morning trying to convince my better half how good the Bob Segar Live Bullet album I used to listen to as a teenager mowing grass is. Here’s what I was listening to in 2019:

Artist

  • Bill Evans
  • Ahmad Jamal
  • Michael Kiwanuka
  • John Williams
  • Terry Allen
  • Brad Mehldau
  • Easy Star All-Stars
  • Merz
  • Duke Ellington
  • Kevin Hays
  • Jon Hassell
  • Talking Heads
  • First Aid Kit
  • Rayland Baxter
  • Destroyer
  • Steven Goldmund
  • Calexico
  • Hiss Golden Messenger
  • Quantic
  • Voyager
  • Deep Watch
  • Empty Space
  • Foxygen
  • James Taylor
  • Kevin Morby
  • Louis Armstrong
  • Steely Dan
  • Van Morrison
  • Wilco
  • Allah-Las
  • Beck
  • Ben Harper
  • Brittany Howard
  • Curtis Fuller Quintet
  • Frazey Ford
  • Iron & Wine
  • J.J. Cale
  • Jungle
  • Justin Townes Earle
  • Kraak & Smaak
  • Michael Nau
  • Momento
  • of Montreal
  • Paris Atmosphere
  • Poncho Sanchez
  • Post Malone
  • Sylvan Esso
  • Tejal Yann
  • Terry Riley
  • The National
  • Bill Evans
  • Ahmad Jamal
  • Michael Kiwanuka
  • John Williams
  • Terry Allen
  • Brad Mehldau
  • Easy Star All-Stars
  • Merz
  • Duke Ellington
  • Kevin Hays
  • Jon Hassell
  • Talking Heads
  • First Aid Kit
  • Rayland Baxter
  • Destroyer
  • Steven Goldmund
  • Calexico
  • Hiss Golden Messenger
  • Quantic
  • Voyager
  • Deep Watch
  • Empty Space
  • Foxygen
  • James Taylor
  • Kevin Morby
  • Louis Armstrong
  • Steely Dan
  • Van Morrison
  • Wilco
  • Allah-Las
  • Beck
  • Ben Harper
  • Brittany Howard
  • Curtis Fuller Quintet
  • Frazey Ford
  • Iron & Wine
  • J.J. Cale
  • Jungle
  • Justin Townes Earle
  • Kraak & Smaak
  • Michael Nau
  • Momento
  • of Montreal
  • Paris Atmosphere
  • Poncho Sanchez
  • Post Malone
  • Sylvan Esso
  • Tejal Yann
  • Terry Riley
  • The National

Album

Side TracksBob Dylan
Mendelssohn: String Quartets Nos. 1 & 2Felix Mendelssohn
Glenn Gould GatheringAlva Noto
Stay AroundJ.J. Cale
Some Other Time: The Lost Session from the Black ForestBill Evans
BalladesAhmad Jamal
Face The FactsFoxygen
Rated PGPeter Gabriel
Grateful Dead Records Collection (Remastered)Grateful Dead
The BalanceAbdullah Ibrahim
Father MountainCalexico
Star Wars: The Rise of Skywalker (Original Motion Picture Soundtrack)John Williams
Tenderly (An Informal Session)Bill Evans
Dreams of Sleep and Wakes of SoundMerz
Just Like Moby DickTerry Allen
KiwanukaMichael Kiwanuka
WHEN WE ALL FALL ASLEEP, WHERE DO WE GO?Billie Eilish
RadiodreadEasy Star All-Stars
Liszt: Piano Concertos Nos. 1 & 2 (Remastered)Franz Liszt
In the Key of the UniverseJoey DeFrancesco
Oh My GodKevin Morby
Tracks (Remastered Anniversary Edition)Oscar Peterson
Money JungleDuke Ellington
The Saint Of Lost CausesJustin Townes Earle
Spotify SinglesKurt Vile
All Of Our YesterdaysMac DeMarco
Motivic RetrogradeQuantic
Come On Up To The House: Women Sing WaitsTom Waits Tribute
Another Time: The Hilversum ConcertBill Evans
Years to BurnCalexico
Daddi (Reggie Watts Remix)Cherry Glazerr
Seeing Other PeopleFoxygen
Listening To Pictures (Pentimento Volume One)Jon Hassell
Light YearsThe National
Ride Me Back HomeWillie Nelson
Simple Twist of FateJerry Garcia Band
VioletaKevin Hays
Pino EuropeoPino Europeo
Blue TrainPoncho Sanchez
That’s Not TrueSkip Marley
RelaxamentoVarious Artists
WhisperingsAhmad Jamal
Finding GabrielBrad Mehldau
FlashbackFujiya & Miyagi
HopeKevin Hays
Rides Through The MorningMichael Nau
Santa Cruz de la Sierranico landa
Good MmorninRayland Baxter
Saw LightningBeck
Uneven DaysBen Harper
LargoBrad Mehldau
KaputtDestroyer
Strange Beauty – SingleFirst Aid Kit
Jenny of Oldstones (Game of Thrones)Florence + the Machine
Se Eu Quiser Falar Com DeusGilberto Gil
California Voodoo, Pt. IIHoundmouth
LEGACY! LEGACY!Jamila Woods
Nothing Sacred / All Things WildKevin Morby
Wide AwakeRayland Baxter
I’m Comin’ OutShovels & Rope
Take The Money And Run / Love Is Strange / Swingtown / Killing Floor / Rock’n MeSteve Miller Band
True Stories (Deluxe Version)Talking Heads
Go / Eagle Birds / Lo/HiThe Black Keys
General StrikeThe Souljazz Orchestra
Side EffectsWhite Denim
JabulaAbdullah Ibrahim
Portrait In Jazz [Keepnews Collection]Bill Evans
UndercurrentBill Evans
Bring It to MamaBoyfriend
Midnight MagicCommodores
GhostrideCrumb
Not Ready To GoDiane Coffee
Stay GoldFirst Aid Kit
An AnthologyHank Jones
Everybody Needs SomebodyHiss Golden Messenger
Rolling into OneJordan Rakei
Invocations / ConversationsJr Jr
It Rains LoveLee Fields & The Expressions
Hot TearsLeif Vollebekk
The Great ReunionLouis Armstrong
Poison The WellModest Mouse
As Far as I Can SeePhil Cook
Come Back to EarthRayland Baxter
I Hear You Paint HousesRobbie Robertson
They Want My SoulSpoon
Can’t Buy A ThrillSteely Dan
Spotify SinglesToots & The Maytals
Valleys (My Love)Whitney
Automatic YouthAlex Ebert
LAHSAllah-Las
Everybody Digs Bill EvansBill Evans
You Must Believe in SpringBill Evans
The Rolling Thunder Revue: The 1975 Live Recordings (Sampler)Bob Dylan
Can’t Find My HeartBroken Social Scene
Hello SunshineBruce Springsteen
The Great Pixley Train RobberyCass McCombs
AntidoteChick Corea
Blues-etteCurtis Fuller Quintet
Why Hasn’t Everything Already Disappeared?Deerhunter
A Fool Like Me (feat. Self-Made Men)Delbert McClinton

Track

  • Ahmad Jamal – Poinciana
  • First Aid Kit – Strange Beauty
  • Ahmad Jamal – Whisperings
  • Ahmad Jamal – Because I Love You
  • Bill Evans – Baubles, Bangles and Beads – Trio
  • Bill Evans – What Kind Of Fool Am I?
  • Brad Mehldau – Dear Prudence
  • Curtis Fuller Quintet – ファイヴ・スポット・アフター・ダーク
  • Kevin Hays – Violeta
  • Michael Nau – Rides Through The Morning
  • Poncho Sanchez – Blue Train3
  • Wilco – Love Is Everywhere (Beware)
  • Ahmad Jamal – I Should Care
  • Ahmad Jamal – Land of Dreams
  • Ahmad Jamal – Marseille
  • Ahmad Jamal – Spring is Here / Your Story
  • Ahmad Jamal – What’s New
  • Allah-Las – Holding Pattern
  • Allana Johnson – Second Level
  • Angie McMahon – Take It With Me
  • Antologie – Time Travel
  • Barcelona Atmosphere – Parc Güell
  • Beck – Star
  • Bill Evans – Alfie
  • Bill Evans – How About You?
  • Bill Evans – It Could Happen To You
  • Bill Evans – Very Early
  • Bill Evans – You’re Gonna Hear From Me
  • Bill Evans – You’re Gonna Hear From Me – Alternate Take
  • Binary One – Tunnel Traveller
  • Binaural Landscapes – Skyline
  • Bing Crosby – It’S Been A Long, Long Time
  • Brad Mehldau – Paranoid Android I
  • Brittany Howard – Georgia
  • Calexico – Father Mountain
  • Calexico – Years to Burn
  • Deep Watch – Moments
  • Deep Watch – Reasons For Being
  • Duke Ellington – Switch Blade – Remastered
  • Earl St. Clair – Fed Up
  • Eleanor Arroway – Trancendent Sleep
  • Emblemic X – Pondering Life
  • Empty Space – Paranormal
  • Empty Space – Storyteller
  • Erik Wøllo – Ody At Sea
  • EverLight – Breath, Your Journey Begins
  • Frazey Ford – The Kids Are Having None of It
  • Gavin Luke – Gone
  • Gilberto Gil – Se Eu Quiser Falar Com Deus
  • Glen Hansard – I’ll Be You, Be Me
 
David A. Windham

2019

Around the end of every year I always start thinking about goals and reflecting on the past. I suppose that’s good. This essay started as a couple notes to myself but I decided publish it to share with a couple folks. To those of you who got a link to this page, it’s way better than the card my wife would have whipped up and I signed. Or maybe just a cathartic exercise in reflection and self importance. Regardless, Merry Christmas, Happy Hanukkah, Kwanza, Winter solstice1, and Saturnalia2. We only did a few cards this year. I’ll try to make this note a bit personal so that we might feel connected. I’d sincerely ask how you’re doing if I had seen you in person this year. You’re welcome to send me a response anyway to let me know. Regardless, I hope you and your’s are doing well and would like to wish y’all a happy new year.  

Well. My year? Let’s see… the first quarter was made up of a bunch of home renovation projects, summer was pretty much slacking on work to play tennis, and the last quarter has been mostly me ratcheting up work to catch up on the cost of said improvements from the first quarter. I think we spent twice what we had budgeted. I had always heard that would be the case. Oh well, It was well worth it. Our abode is where we spend our time and we’ve put our some sweat equity into it. Literally… we found ourselves mid summer rebuilding our deck in the South Carolina heat. My development work has shifted a bit in the last six months. Although I’ve been enjoying the challenge of being immersed in learning new tools, I’ve also been struggling with the fact that my pace isn’t as quick as it once was. Ginny has been doing double time as well taking on new responsibilities in her work world. It’s paid off though and we’re about caught up on the renovation costs. Otherwise, I’m very happy to say that our concerns are relatively few. Our dog Zeke turned 17 this year. He’s slowed way down and we just want him to pass peacefully in his sleep even though we’ve been telling ourselves that he has a couple more in him. We have 93 and a 97 year old grandmothers who we wish the same. I’ve got a younger brother who’s health issues with Crohn’s disease are concerning.  My eyesight. I’m getting closer to 50 and I’m pretty sure these computer screens are taking a toll on my eyes. I’ve got three pairs of reading glasses lying around the house, but I don’t carry a pair around and haven’t seen an optometrist yet. I’ve gotten to where I just ask Ginny to read me menus and other print when we’re out. It just kinda snuck up on me to where I was starting to get headaches from eye strain when working. It’s been my second real wake up about my own age.

Health and aging would be one of my 2019 themes. Several years ago… 2014. Six years now. Time flies. I really made a hard turn on my health. The reason being is that I thought I was having a heart attack one night. After a bunch of test, it turned out to be a panic attack and heartburn. You make a lot of promises to yourself when you think you’re dying. I quit smoking finally… and I say finally because I had been on and off, mostly on, for the previous ten years. I used to get up and drink an entire pot of coffee and smoke a pack of cigarettes while sitting at my desk. I’m pretty sure that cut into a couple years of my life. In the last six years, I exercising regularly and I eat healthy. Aside from my own mortality, both of my parents are starting to get up there in years. I’m sure that, not unlike everyone who proclaims their new years resolutions to be about health and diet, aging might sound like a dull year end theme. Alright. It Is… Let’s talk about figuring out how to live healthily until at least 2070. Now that’s better. Makes it look like time is a long stretch of road ahead. It’s much more fun to be future focused. After having done the renovations here, we’ve been putting some serious thought into custom designing and building a new house. A sustainable net-zero house with some land for a small farm. That’ll be another chapter though for a different year end summary. 

Another thing that has persistently stayed on my mind 2019 is something I’ve been trying really hard to work on in the last five months trying to complete a couple projects. It’s a bit abstract so bear with me. It’s mostly about focus and anxiety. I think the idea of retiring and more specifically investing money is what started me down this trail. The idea that I could make money off of money without working has been sounding oh so nice especially since I knew the bulls would make a run. The reality is that I also started reading the news again daily. I had stopped for the previous five years or so. I feel like it’s stolen my time and energy. I’m not sure it’s all worth it. I’m a pretty anxious person to begin with, but I’d say that anxiety could be part of the general zeitgeist in the last several years. I had been trying desperately to purposefully disengage from connective-ness as a means to simplify and make my life more rewarding. You know the ‘be here now’3 mantra. As I moved past my understanding that the anxiety of constant connection is mostly manufactured tool designed to take your attention, personal information, and sell you shit. The addictive apps, the infinite content streams, the apocalyptic headlines, the political postering, and the exploitation of our psychological weaknesses. These are all very much manufactured anxiety which some have dubbed the attention economy. The closest explanation to this trend that I’ve come up with is that we have essentially invented a new communications medium of which we are unequipped to use in the most appropriate means. I’ve started to frame that same sort of information age ‘era’ thinking to other events as well. I read a long paper on peak oil this year from a series of energy companies and soon thereafter was able to quickly frame the whole of current climate debate and regional political struggles into a framework. Using that sort of long range thinking has helped me frame any discussion about the current headlines and relegate them into more digestible bits that make sense in context. My point here is this… being consciously aware that the the world around you is dizzyingly complex and the information thereof is moving at unconscionable speed. The “Turn on, Tune in, drop out”4 approach is why I think you’re seeing things like legal cannabis, the opioid epidemic, minimalism evangelists, mega-churches with rock music, organizational coaches, and everyone acting like they do yoga even though it’s mostly just wearing the pants. To me, it’s all evidence that part of our collective consciousness is trying to counteract the effects of the information age.  

Anyway, back to what I was saying. FOCUS. How to avoid distraction in lieu of meaningful awareness. I’m not sure I have the answer yet. I try to set all kinds of rules for myself. I think that maybe it just might be a luxury to be unfocused. My essay on the 20 hour work week from last year might be supporting evidence. Kierkegaard writes “anxiety is the dizziness of freedom, which emerges when the spirit wants to posit the synthesis and freedom looks down into its own possibility, laying hold of finiteness to support itself.”5 I’m certainly not in much of an existential crisis even though evidently a lot of folks are since I just saw that ‘existential’ was the word of the year for something or another. Mine is more of a “be here now” mindfulness approach to life that I’m working on. I am trying to be very mindful of the affects that all of my actions have on a daily basis. I’ve grown from dealing with issues of attention and anxiety. I often find the later to be a source of motivation6,7. I think Herman Hess’ Glass Bead Game8 nails this theme since he wrote it in anxiety prone times with the message that wisdom is only when knowledge is applied to the real world. I encourage everyone I know to take control of their attention and don’t let the systematic influence of the information age give you anxiety. Put down the endorphin driving devices and tune into the world around you. This is coming from someone who legitimately suffers from periods of hypo and hyper focus. I think the reason I took the time to write this essay today is because I told my better half this morning over coffee that sometimes when I have ‘flow’9 answers just seem come to me. I had an early morning epiphany of sorts in that I am constantly reminded that when I have the mindset of just trying to be helpful to my fellow human beings things just tend to work out and when I’m mired in the self protection and competition they don’t. Yesterday morning I mentioned to her that my driving force is curiosity and that the reason I appear to be lucky in life is because I turn over a lot of stones. 

Here’s to being helpful and flipping those stones in 2020. 

~ David


  1. Winter solstice – https://en.wikipedia.org/wiki/Winter_solstice
  2. Saturnalia – https://en.wikipedia.org/wiki/Saturnalia
  3. Be Here Now https://en.wikipedia.org/wiki/Be_Here_Now_(book)
  4. Turn on, tune in, drop out – https://en.wikipedia.org/wiki/Turn_on,_tune_in,_drop_out
  5. The Concept of Anxiety – https://en.wikipedia.org/wiki/The_Concept_of_Anxiety
  6. Kierkegaard on Why Anxiety Powers Creativity Rather Than Hindering it –https://www.brainpickings.org/2013/06/19/kierkegaard-on-anxiety-and-creativity/
  7. Kierkegaard On Using Existential Anxiety to One’s Advantage – https://medium.com/@mustaphahitani/kierkegaard-on-using-existential-anxiety-to-ones-advantage-5ec266dc9b45
  8. The Glass Bead Game – https://en.wikipedia.org/wiki/The_Glass_Bead_Game
  9. Flow (psychology) – https://en.wikipedia.org/wiki/Flow_(psychology)

Update – 12/28/19: Ram Dass died December 22nd. That’s really weird how I was wrote this essay the days prior and had listened to two of his lectures in the previous days. Maybe the ‘be here now’ mantra has me more ‘in tune’ than I’m even aware of. As he said “The next message you need is always right where you are” and “The quieter you become, the more you can hear.” – https://en.wikipedia.org/wiki/Ram_Dass

 
David A. Windham

How Does a Website Know My Name?

Well… it finally happened to me today. While reading the news this morning I noticed that the Bill.com1 IPO managed to gain 60%2. I wanted to dig a bit into their business model since I’ve been thinking about reworking the invoicing application I use.  In doing so, I headed over to Bill.com, scrolled down a bit, and viola… the inevitable new-fangled chat-box appears. However, this time the chat bot correctly identifies me with my full name. I’ve know about this practice for years and I’ve seen the exponential growth in the arena, but today is the first time, I’ve actually had it happen to me. I’ve previous figured out and am pretty well versed in all kinds of methodologies for various privacy invading tracking techniques used by the likes of LinkedIn, Facebook etc, but this one is a bit different because I was on a mobile device using a browser in incognito mode so it wasn’t cookie or tracker based. It was done just using my IP address. I headed to my desktop, changed my IP address, and tried it again using an IP set to Central America. The site chatbot misidentified me as “Jobcluster” which turns out to be an employment agency in Florida.

So, of course I’m intrigued and I set about to reverse engineer the feature. Firstly, I can see why the Bill.com IPO gained so much traction and I’ll give the companies involved kudos for being able to do so. The chat feature on Bill.com is powered by Drift3 which offers a ton of integrations and is a sophisticated project4. Drift is able to add datapoint integrations with MadKudu, Demandbase, 6Sense, and Clearbit5. Combining this data into or alongside of another system such as Segment, Saleforce, Google Analytics, or Facebook Pixel can create a powerful dataset on any person. I say person whereas most of the typical language about the tracking is either customer, consumer, market, etc. If you then combine that data with that of the big name companies like IBM and Equifax who compile and sell personal data, then you’ve got a bunch of data-points originating from a single web requests6. The are vast amounts of resources being put into closing down the ‘last mile’ of the anonymity of the internet. I suspect that it won’t just be IP addresses for long as the telecommunication providers and governments make strides in pushing to identify the devices on their networks7 for regulation and legal purposes even though vendors are had been trying to randomize those addresses8. If you’re following along, you might have noticed the recent attempt by the US Government to impose restrictions on encryption9. I’m not going dig into all that here for the sake of focusing just on the little feature I ran into this morning. I’ve previously written about privacy and tracking online10 so I’ll just leave you with the fun fact that folks are now attaching beacons to identify you on everything from churches to those little roadside political signs11 so the tracking is not just online, it’s in real space in real time12.   

In order to reverse engineer the identifying info on the Bill.com site I saw this morning, I ran through each of the their third party Drift chat APIs quickly and determined that the identifying information on my IP is most likely the data coming from Clearbit. I say ‘most likely’ because I’m unwilling to set up thousands of dollars in accounts to test my theory.  Drift integrations with Clearbit indicate that the Clearbit Reveal13 feature is what is trying to identify the user. Try it out by loading up a VPN and flopping around your IP addresses while viewing this page https://clearbit.com/reveal. As far as I can discern, it’s using a combination of IP and cookies. I set up a Clearbit account and starting making some API requests out of curiosity and sure enough, the IP address I was using identifies me by my name, my job, my address, my website, and my social media accounts. It’s still kicking up null for my annualRevenue, but I tried some other folks I know who work for larger public companies and it was able give me the annual revenue using the combined Enrichment API request14. I have implemented a number of structured data15 elements into my website including Open Graph elements which are also a form of structured data16. That data explains much of the data present using the Clearbit Enrichment API. However, it doesn’t explain how the Reveal API is able to pair the IP address assigned by my ISP to that data. My first guess was that I signed into an another identifiable service using the IP and it’s stored and shared that data with Clearbit. My IP has been static for years, so it could be any number of services. (Please Clearbit don’t send me a cease and desist over this post… or do and then help me explain to others how my IP is being matched to my identity). I double checked my ISP policy on customer data protections which simply stated that they can ‘share’ data with their business ‘partners’ and I also tried looking at any other identifiable service I’m using that could pair that data. I tried running a bunch of other IPs through the API and can see some of the more obvious data collection points, but I’m still baffled as to which data point is exposing my real identification through my ISP’s assigned IP address.  

So what do I do with my newfangled discovery. I know… I can use my knowledge to make money… if you can imagine that. These type of services and APIs can provide some serious firepower to client facing web applications and sites. It’s potent stuff for marketing. Although I have some reservations about privacy, I’d certainly recommend them to other companies trying to engage ‘customers’ online. It’s a powerful marketing tool when used added to a CRM or funneling tool. The more advanced tools do come at a price though. The costs for the Clearbit Reveal Google Analytics plan is a thousand a month. The costs for the Reveal API subscriptions are two grand a month17. For any business of scale that’s just a drop in the bucket. I’m already trying to figure out ways to incorporate it into projects and I can see where these are going to be an invaluable tool for folks trying to reach customers or improve their sales and customer retention tactics. Just thinking about it this morning has given me some fun ideas as to how to customize a bunch of different aspects of applications based on third party data points. As of now, I enjoy messing around with the AI bots in an effort to garner humorous responses, but I suspect that these AI data driven features in applications will inevitably be messing with me given more data. 

Of course there is a drawback… I think the other message here is that as these types of services start combining data points from various sources that the majority of folks will inevitably lose a large piece of their perceived anonymity online. The type of targeted messages being published by the clients of Cambridge Analytica18 showed some of the vulnerabilities of the exploits of personal data. I’m not too personally worried about my anonymity online mostly because I’m educated about the practices and have been sharing personal information online for 15 years now without issue mostly because I quarantine it under my own control. I also admit that I’m very much guilty in that arena by running reverse IP searches on everyone, tagging emails with trackers, tracking user locations via IP address through the headers in their emails, and just ‘Googling’ people to find out more about them. I recently had a conversation with some folks where I had done a bit of cyberstalking on the person and just outright asked them about their history to which they said ‘how do you know this?’. I replied with ‘the internet’… like it’s what everyone does. I just assume they do and make no bones about it because I’ve been working with this stuff for years. Maybe abuse is the wrong word here… marketers might call it a strategic advantage. But, let’s just say if I can identify you before you visit a website or other application and I know your address and can infer your wealth, I might decide to price a product or service accordingly. It’s already being done with geolocation data. Is it fair? Is it abuse or is it strategic? Does’t it happen in real life all the time? I sometimes have to give consent as to when my data is pulled in the fine print of whatever agreement I’m signing. In many ways I’ve understood very clearly that this is the direction that it the internet has been heading and I’m wasn’t entirely surprised to see a website correctly identify me by name. My experience this morning is more evidence that it’s happening online already. The last time I had that type of eye opening web experience was in the early days of LinkedIn’s connection recommendations when I was baffled as to how they understood all of my email contacts. Although I’m not a fan of treating everyone like a ‘user’, it does personalize the experience and in doing so, it makes it more effective and personal. Let’s hope the data rich developers and companies who use these tools decide to do so wisely and not just for maligned interest. I believe that the privacy laws in other countries are heading in the right direction and I’m leery of the unchecked use of this data. Just something to chew on this morning… I’ll leave you with this quote from my favorite tweeter and futurologist ~ “The Future is here – it’s just not very evenly distributed”.19

  1. Bill.com – https://www.bill.com/
  2. Bill.com, of Palo Alto, gets an early Christmas present as shares climb 61% in IPO – https://www.mercurynews.com/2019/12/12/bill-com-of-palo-alto-gets-an-early-christmas-present-as-shares-climb-61-in-ipo/
  3. Drift – https://www.drift.com/
  4. Drift Intel Integrations – https://gethelp.drift.com/hc/en-us/sections/360003545753-ABM-And-Intel-Integrations
  5. MadKudu, Demandbase, 6Sense, Clearbit – https://www.madkudu.com/, https://www.demandbase.com/, https://6sense.com/, https://clearbit.com/
  6. Here are the data brokers quietly buying and selling your personal information- https://www.fastcompany.com/90310803/here-are-the-data-brokers-quietly-buying-and-selling-your-personal-information
  7. Home Affairs floats making telcos retain MAC addresses and port numbers- https://www.zdnet.com/article/home-affairs-floats-making-telcos-retain-mac-addresses-and-port-numbers/
  8. Behind the One-Way Mirror: A Deep Dive Into the Technology of Corporate Surveillance- https://www.eff.org/wp/behind-the-one-way-mirror
  9. Distrust of Tech Could Be Encryption’s Achilles’ Heel – https://www.axios.com/newsletters/axios-codebook-9630f129-ae8b-4813-b64d-4712b65e9835.html
  10. David A. Windham – Privacy and Cookies – https://davidawindham.com/privacy-and-cookies/
  11. Campaign Put Beacons on Lawn Signs to Track Phones – https://mashable.com/article/beacons-location-tracking-republican-campaign/
  12. Beaconstac – https://www.beaconstac.com/
  13. Clearbit Reveal – https://clearbit.com/reveal
  14. Clearbit Enrichment API Docs – https://clearbit.com/docs#enrichment-api
  15. Schema.org Structured Data – Wikipedia – https://en.wikipedia.org/wiki/Schema.org
  16. Facebook Open Graph https://en.wikipedia.org/wiki/Facebook_Platform#Open_Graph_protocol
  17. Clearbit Reveal Subscriptions – https://help.clearbit.com/hc/en-us/categories/115001976668-Reveal#Subscriptions
  18. Cambridge Analytica – https://en.wikipedia.org/wiki/Cambridge_Analytica
  19. William Gibson – https://en.wikipedia.org/wiki/William_Gibson
 
David A. Windham

Dorian

Well… it’s about that time a year again that I’m glad I don’t live on the coast. This screenshot gave me pause, because I like how the shape of Hurricane Dorian1 perfectly curls along the beaches between Charleston and Wilmington.


  1. https://en.wikipedia.org/wiki/Hurricane_Dorian
 
David A. Windham

Joshua White

I’d like to share a story that I think is important and relevant to modern times about Joshua White. Today is the anniversary of the “I have a dream” speech by Martin Luther King Jr.. Every morning after I get up and have my half of cup of coffee I do a bit of reading. I’ll scan my email and the news quickly and try to find something interesting. What gave me pause this morning was a tweet from the “People’s Daily”, the largest newspaper in China and the official newspaper of the Communist Party of China. The tweet1 referenced the words of “I have a dream” with images of the speech.

Although unrecognized by many folks, the movement that lead up to the “I Have a Dream” speech was largely initiated by the labor movement of organizations such as the Brotherhood of Sleeping Car Porters2. The speech was made at the March on Washington for Jobs and Freedom. That march was organized by Philip Randolph3 and Bayard Rustin4. Rustin was able to pursue an education because he was an accomplished tenor vocalist and earned music scholarships to college. He performed with Josh White and the Carolinians in the recording6 below.

Gottlieb, William P – [Portrait of Josh White, Café Society (Downtown),
New York, N.Y., ca. June 1946] – Library of Congress

Joshua White7 was born in Greenville, South Carolina in 1914. His father threw a white bill collector from his home in 1921 for which he was beaten so badly that he nearly died. His father was subsequently locked away in a mental institution and died there several years later. Two months after his father died, White left home to drift with a blind street singers often sleeping in fields and stables while still a teenager. This was documented by Barlow, William Barlow in his 1989 book “Looking Up at Down”: The Emergence of Blues Culture. White eventually returned to Greenville to take care of his mother and siblings working various labor jobs. Later, in the 30’s, White was sought out back in the Carolinas by A&R men interested in his talent. He eventually was cast as Blind Lemon Jefferson in the Broadway play John Henry to which he received some notoriety. but late run the 40’s he recorded “One Meatball”, the first million-selling record by a male African-American artist.

In the 1940s Joshua White became close friends with Franklin and Eleanor Roosevelt. He would spend Thanksgivings and Christmas at their home in New York. They became the godparents of his child and he became a friend and confidant of the president. After the death of the president, White’s younger brother William White became Eleanor Roosevelt’s personal assistant, house manager and chauffeur for the remainder of her life.

In the 1950s White was tagged by Red Channels: The Report of Communist Influence in Radio and Television8. In an effort to clear his name, he consulted Eleanor Roosevelt and Paul Robeson. On September 1, 1950, White, appearing with only his wife Carol at his side, sat down before the House Un-American Activities Committee (HUAC) and explained his childhood background and read the lyrics to the song anti-lynching song “Strange Fruit” which was placed into the congressional record. Because he volunteered to testify before the HUAC, it greatly affected his posthumous reputation in America, causing him to become the only artist of the era to be blacklisted by both the political right and left. Mrs. Roosevelt had an astute understanding of the political climate in Washington and in America when she warned White that the government would turn his testimony against him. Indeed, this was the case, and White’s blacklisting would not be lifted for years. White relocated to London for much of 1950s, where he hosted his own BBC radio show, My Guitar Is Old as Father Time. White’s blacklisting in the American television industry was finally broken in 1963, when President John F. Kennedy invited him to appear on the national CBS television’s civil rights special “Dinner with the President”.

Joshua White died in 1969 during heart surgery. He was the first black singer to give a White House command performance (1941), to perform in previously segregated hotels (1942), to get a million-selling record (“One Meatball”, 1944), and the first to make a solo concert tour of America (1945).[26] He was also the first folk and blues artist to perform in a nightclub, the first to tour internationally, and (along with Lead Belly and Woody Guthrie ) the first to be honored with a US postage stamp. The 1956 book The Josh White Guitar Method9 is still in print. While White has undeniably left an indelible mark on American culture, this story should serve as a warning that a friend of presidents and the organizer of one of the most significant civc events in American history could be pushed into virtual obscurity by a political process motivated by fear.

I find this little artifact significant and timely, given the recent press about the rapid deforestation in the Amazon, the ongoing protest in Hong Kong, Boris Johnston trying to push through a ‘no deal’ Brexit, and the press that Trump has financial ties to the same folks campaigned for him using fear tactics. Often times, the juxtaposition of newsworthy items and cultural artifacts are fascinating enough to me that warrant sharing. This story started just a couple mile up the road from me when a young teenager left home with a blind musician because he father had accosted a white bill collector. I’m just guessing here, but I’d put my money on the the bill collector being a crook. I played an Ovation guitar for some time because I liked the ease on my fingers. That guitar evolved from White’s bleeding fingers. The song Jerry, by Josh White and the Carolinians is about a prized mule who’s driven hard because “Lord, this timber gotta roll”. Jerry got spooked from the sound of timber crashing and “kicked the boss in the rump”. The “Boss tried to shoot him in the head” and Jerry the mule “stomped him dead”. Jerry is a poignant folk story. The warning of Joshua White’s life being pushed by fear, racism, and political process, is similar to the the fear in a mule driven hard leading to the demise of the boss. It’s a fable that’s has contemporary implications. My favorite reference to Joshua white is from Shel Silverstein and Bob Gibson who remembered White with the first verse of Heavenly Choir10.

Last night I heard Josh White playing
From somewhere on the other side
In an orchard full of strange fruit hangin’
With his head thrown back, he stood there singin’ He snapped those strings till his fingers bled
He bent those notes till his guitar wept… now he’s…
Part of the Heavenly Choir
Where all the poor restless souls can be found Ain’t that a heavenly choir
Ain’t that a hell of a sound


  1. https://twitter.com/PDChina/status/1166538390856245250
  2. https://en.wikipedia.org/wiki/Brotherhood_of_Sleeping_Car_Porters
  3. https://en.wikipedia.org/wiki/A._Philip_Randolph
  4. https://en.wikipedia.org/wiki/Bayard_Rustin
  5. https://www.loc.gov/item/gottlieb.09081/
  6. https://www.youtube.com/watch?v=RDpjPm143dI
  7. https://en.wikipedia.org/wiki/Josh_White
  8. https://en.wikipedia.org/wiki/Red_Channels
  9. https://www.amazon.com/Josh-White-Guitar-Method/dp/B07C479SJR
  10. https://www.bobgibsonfolk.com/song-heavenly-choir/
 
David A. Windham

The Magical Number Seven

It seems that almost every time I’m involved in designing a new user interface for an app or website, I inevitably bring up the magical number seven1. Although I’m using it in design terms, it’s origins are actually from a psychology paper published in 1956. It’s also commonly referred to as Miller’s Law2, which refers to both working memory and communications. It’s a simple concept about our working memory which you can read more at the Wikipedia page linked below in lieu of repeating it here. It’s also cited by the US CIA in Psychology and Intelligence Analysis3.

The reason I refer to the concept is generally in an effort to try and simplify user interfaces. I believe, as Miller had cited in his original paper, that anytime more options than needed are presented, the information becomes confusing. I like for any menu navigation item to contain less than seven options. I actually believe that closer to 3 is optimal and if you can fold the options out like a tree in steps of three you’ll get better results. Now, don’t get me wrong on this, I’ve built menus with 40+ items. Sometimes is necessary if you’ve got a directory of information that a user might want to try and navigate to a specific piece of information. This is also where search plays a vital role… or in the case of this website, I’ve playfully made the whole thing a maze of information. However, if you’re presenting the user with new information and trying to elicit an objective response to the stimuli, then my recommendation is to always limit the choices to seven or less. Some folks might cite the KISS (Keep It Simple Stupid) principle3 on this, but I think the Magical Number Seven is more appropriate to what’s really going on. I always try to present users with seven or less choices as to their next action. If you’re really only trying to get one single action from a user, limit the choices to one or none. I like to think of users as savvy and not just Pavlovian4 mouse clickers. That’s why I think it’s all about the magical number seven.


  1. https://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two
  2. https://en.wikipedia.org/wiki/Miller%27s_law
  3. https://www.cia.gov/library/center-for-the-study-of-intelligence/csi-publications/books-and-monographs/psychology-of-intelligence-analysis/art6.html
  4. https://en.wikipedia.org/wiki/KISS_principle
  5. https://en.wikipedia.org/wiki/Classical_conditioning
 
David A. Windham

Twenty Hour Work Week

I’m often out working in the yard, riding the bike, swimming, or playing tennis midday mid-week and folks are always saying “don’t you have a job Windham”. Since the majority of the folks saying it are retired and I like to respond “It’s not my fault it took you so long to retire”. In reality I work hard and more importantly I work efficiently. In an effort to respond to those folks I figured I’d write a short little post this morning about how I try to be efficient with work my work. And don’t let the title fool you, that’s just what I’d like to shoot for and in reality I’m sometimes working fifty hour weeks.

Quality of life… I can’t emphasize it enough. It’s always the little details that drown folks in the traditional work week nonsense. Even though most folks are doing the nine to five, I don’t think they are getting any more work done. Every time I’ve taken a traditional job, I’ve been discouraged by the amount of time my co-workers spend ‘riding the clock’ and the amount of time I have to spend on site twiddling my thumbs. In fact, the last full time position at a local university I left simply due to the fact that our new dean was cutting down on tele-commuters and I was being forced to drive into the office. Prior to that, I actually liked coming into the office certain days just to socialize with my coworkers. One of the first corporate jobs I had was as a web developer for a publishing company where I learned all kinds of bad work habits from the seasoned developers there. After one of our first ‘code sprints’, a fellow developer came to me and said “don’t do the work too fast, they’ll come to expect us and you’ll make the rest of us look bad”. They also taught me to leave broken items in the development repositories just so we’d already know what was going to be requested of us by the project managers. I attribute this to Parkinson’s law 1. in that “work expands so as to fill the time available for its completion”. This type of time wasting stuff is nonsense. I prefer to just do my work in such a way that the faster and more efficiently I do it, the more time I have away from the office.

Reducing the number of office hours has made some headlines in recent years. Given that I’m doing remote IT development work from home, it makes sense that I’d be learning towards the shortened work week. However, a lot of decent research suggest that we are all moving towards shortened work hours. I think we’re all kinda contaminated with the ‘busy-ness’ disease. I think It makes us feel like we’re valuable and productive. I’m no expert, but it’s been an idea in the making for years. Bertrand Russell wrote in his 1932 essay, “In Praise of Idleness”, that “if society were better managed the average person would only need to work four hours a day”2. John Maynard Keynes noted in a 1930 essay, “Economic possibilities for our grandchildren”, in which he reckoned people might need work no more than 15 hours per week by 20303. I’m not going to philosophize on production, consumption, and work hours. There are plenty of others doing it3. However, I will tell you that my quality of life has increased by concerning myself with issues of time management.

I’ve always been easily distractible. I had an English teacher in high school who made it a point to contact my mom about my inattentiveness in class. Being the hypochondriac she is, my mom and some psychologist quickly accessed my condition as ADHD. I still think it’s just general boredom with the mundane and uninteresting. That’s another issue for another essay. I now mostly do contract development work. This work is generally within a team development environment that makes me accountable for my time in that I’m often pair programming. I also manage to take on other smaller projects for additional billable hours. This type of work has given me the liberty to devise ways to use my time the best I see fit and over the years, I’ve developed little habits that help shorten my work week and make me more efficient.

  1. I go to bed early and I wake up early. At our house, we’re almost always in bed by nine. We’ll talk, read a book, or watch a film and I’m usually out by 10pm. I get up around 6am, have a cup of coffee and get right to it. I’ve found that the midday chaos of communication is really distracting and I get my best work done before noon.
  2. I exercise often so that I sleep well. I evaluate how I’m sleeping often and I will sometimes meditate or take a nap if I’m not feeling particularly on task or focused.
  3. The smartphone is rarely an entertainment device for me. (unless of course, I’m stuck somewhere, like the doctors office waiting room or airport with nothing else to do) I’ve turned off all notifications on my phone and when I’m working, I turn the ringer off as well and leave it in a drawer downstairs.
  4. I try to only open up an email twice a day in the morning and after lunch. I draft my responses and send them out in the afternoon.
  5. I use project management software to keep a list of projects, tasks and calendars that keep me current at a glance. It functions like a Kaban4 board as an easy way to manage tasks.
  6. I spend very little time doing invoices or paying bills. I write up each billable hour every day and I auto pay all bills online.
  7. I try to communicate efficiently in that I only respond to emails/texts/calls that need an immediate response and I always wait until I have all of the questions I need to put into an email/text/call before I make it.
  8. I try to spend a couple hours every week playing with development tools and servers in an effort to continually make leaning new skills fun and keep me interested in my work.
  9. I write code efficiently. I make notations and document as I’m writing it.
  10. I learn tricks to speed up and automate development.

  1. https://en.wikipedia.org/wiki/Parkinson%27s_law
  2. https://en.wikipedia.org/wiki/In_Praise_of_Idleness_and_Other_Essays
  3. http://www.newyorker.com/magazine/2014/05/26/no-time
  4. https://en.wikipedia.org/wiki/Kanban
 
David A. Windham

BioTherm Solutions

Although I’ve mostly stopped posting technology related ramblings on this website, I have to remind myself every so often that I should be keeping up with my projects in an effort to self promote. I built a new website for BioTherm Solutions this last year and I’m going to run through the highlights. If you’d prefer to just take a look, head on over to BioTherm Solutions to view it online or the code repository at https://code.davidawindham.com/david/biotherm.

BioTherm Solutions has been in business since 1980 designing and manufacturing greenhouse environmental solutions. They are based out of Cotati, California which is just north of San Francisco and west of Sonoma. I was introduced to the company through a project had previously done for another greenhouse based company. BioTherm had pretty much the same set of web issues that most projects I work on… outdated content, non-responsive1, and a design dated site. I reworked the main logo and created additional vector graphics to match their new divisions. I gathered an assortment of other graphic resources, created a color theme, and started in on the site.

They had an old site based on Expression Engine2 which hadn’t been updated in a number of years. I went through the process of migrating the site locally and gave them a number of options about upgrading Expression Engine, redesigning the content, migrating the existing content to a new content management system. The owner had a brochure that had been updated and I worked form the design from a print brochure which had been updated. For this project I settled on a couple of standard libraries to build out the templates. I primarily used Bootstrap from Twitter and Material Design3 from Google. All of the pages have been built as static HTML assets. Sometimes I really miss working with static files because of the simplicity. There was a minimal amount of JavaScript added, so there was really no need to further complicate it with additional preprocessors4 although I generally like to use a task runner5 to compiles assets on a project like this. Ideally, I’m left with one single CSS and JavaScript File. The only other technical considerations on this project were some forms and third party analytics. I used PHPMailer6 to handle the forms. I used Google ReCaptcha7 to deal with form spam and I used Google Analytics.

I think the design on this one is clean and provides a simple experience that guides users to action. They’re happy with it and that’s mostly what makes my job rewarding. As with most projects, I always make a promise to support them for the lifetime of the project. In this case, I’ll likely be doing some additional work by migrating to a CMS8, maybe a new host, and adding an SSL certificate9. Although I do the majority of my work for other agencies, it’s kinda nice being directly involved with the company. This also cuts out a lot of potential for feature bloat10 since I can recommend only what they need and I’m not pitching them new fangled solutions. I wish all of my projects could be so straightforward.


  1. https://en.wikipedia.org/wiki/Responsive_web_design
  2. https://en.wikipedia.org/wiki/EllisLab
  3. https://en.wikipedia.org/wiki/Material_Design
  4. https://en.wikipedia.org/wiki/Preprocessor
  5. https://en.wikipedia.org/wiki/Build_automation
  6. https://github.com/PHPMailer/PHPMailer
  7. https://en.wikipedia.org/wiki/ReCAPTCHA
  8. https://en.wikipedia.org/wiki/Content_management_system
  9. https://en.wikipedia.org/wiki/SSL
  10. https://en.wikipedia.org/wiki/Software_bloat